Tuesday, April 15, 2008

Cassini Emancipation

Last month I purchased a Sun Netra 20/T4 to do some sparcv9 driver development. Since I upgraded all of the equipment last year to gigabit UTP, I also grabbed a Sun GigaSwift (501-5902) to go with it.

Out of curiosity, I dug through onnv-gate to see if the ce driver source had been opened yet; alas it had not. After talking with some Sun folk a bit, it seemed that not only were there no plans to open source Cassini (yet), but much of the code wasn't in the best of shape. Surprisingly, the ce driver still implements the DLPI interface directly rather than making use of the newer frameworks available.

After speaking with John Sonnenschein (who leads the Emancipation Project) and Jason King, we decided to begin an effort to emancipate the Cassini driver. The new driver will be a 'clean room' implementation and will (of course) be open source. It will also support the newer frameworks, namely: GLDv3/Project Nemo, and Project Brussels rather than implementing DLPI directly. As far as naming goes, we decided to go with cge (Cassini Gigabit Ethernet) since it is more in line with the current trend in device naming. Fortunately, with interface vanity naming being integrated in snv_83, users migrating from the original ce driver should have a much easier time of it.

Update: Cyril Plisko has joined the effort. Welcome!