OpenSolaris - my patches


The content reuse need include the original link: http://oliveryang.net

This page is for tracking my patches for OpenSolaris. As you may already know, Oracle had closed OpenSolaris project after it acquired Sun Microsystem in 2009. For this reason, all my patches below have been found and referred from Illumos Github Repository. The Illumos is a fork of OpenSolaris, and the code changes after Oracle & SUN merge have never been available in Illumos.

For above reasons, it was quite difficult to find all my footprints in Illumos code base. While reviewing the source code of Solaris, it always made me recall the days I worked for Solaris.

1. Solaris IO Subsystem

1.1 SRIOV Project

  • New Feature: Inter-Domain communication among LDOM and Xen VMs

    Provided SRIOV devices PF/VF communication framework for PCIe config space emulation, PCIe UE & CE handling, other control commands transfers.

    Notes: My original commit logs were not imported in Illumos Git commit logs. I made 20000 lines of code changes in Solaris PCIe subsystem, which has both common module and Xen/LDOM specific modules. The pciev.c is one of source code file I introduced in my project. Only small part of them are opensourced. The remainning part was not opened becasue Oracle had stopped OpenSoalris Project. The illumos-gate is based on Illumos, which is a fork of OpenSolaris.

1.2 Other Solaris IO subsystem RFEs & Bugfixes

The source code is not available in OpenSolaris code base.

2. NIC drivers

2.1 Intel Igb Driver

  • New Feature: Crossbow - Network Virtualization and Resource Management

    Notes: In Solaris, big project was commited by gatekeeper (AKA. brach keeper in some other companies). I made the code changes under usr/src/uts/common/io/igb/ directory, for enabling VMDq support in igb driver.

       usr/src/uts/common/io/igb/igb.conf
       usr/src/uts/common/io/igb/igb_gld.c
       usr/src/uts/common/io/igb/igb_hw.h
       usr/src/uts/common/io/igb/igb_main.c
       usr/src/uts/common/io/igb/igb_osdep.c
       usr/src/uts/common/io/igb/igb_osdep.h
       usr/src/uts/common/io/igb/igb_rx.c
       usr/src/uts/common/io/igb/igb_sw.h
       usr/src/uts/common/io/igb/igb_tx.c
    

In 2008, I gave a presentation about my work on support VMDq feature in Soalris network virtualization project: Crossbow. Please download the slides here

2.2 Intel E1000g Driver

Notes: The yy150190 was my SUN Employee ID, which could be found in OpenSolaris git/hg commit logs.

Oliver Yang /
Published under (CC) BY-NC-SA in categories English  Software  Career  tagged with kernel  solaris