The Iridium system utilizes a modified LAP-D protocol for communicating with the satellites. Initially I've implemented the protocol in user space which was used in a software test environment.
As part of a team I ported the protocol to the Linux kernel. Since the existing code base was C++ this presented a challenge. C++ is normally not used in the kernel. Relying on my real-time C++ software expertise I crafted a C++ runtime environment that enabled the creation of the kernel modules in C++.
The protocol is exposed to clients via the normal BSD socket interface everyone is familiar with. The end result was a performant protocol implementation that re-used existing code to deliver a solution.
Note that the challanges facing a network protocol programmer in the Linux kernel can not be overstated. A cursory look at the TCP/UDP/IP kernel sources can confirm my assesment.
Laszlo Kiss — deltaprime.com — (602) 418-9922