Solaris Streams Module
The capitalized
word “STREAMS” refers to the STREAMS programming model and facilities.
The word “stream” refers to an instance of a full-duplex path using the model and facilities between a user application and a driver.
Solaris derived STREAMS subsystem from System V which is intended to provide API for passing messages between multiple architectural layers. This perfectly fits network stack which packets travel among different OSI layers. But network stack is just an example, you can develop any kind of STREAM drivers or STREAM modules by using STREAM API. You can examine STREAMS Programming Guide to develop codes. You can display running Streams modules on your system with “modinfo | grep -i stream” command.
STREAMS architecture can be seen as below diagram.
Some Stream modules worth mentioning
LDTERM
LDTERM can be used to simulate NIC failures. You need not to unplug/plug the cable for simulation. You can activate it with modinsert option of ifconfig. You can disable it with modremove option of ifconfig.Solaris 11 has ipadm command instead of ifconfig but ifconfig still continues to run.
HXBT ( hitbox ) – It will be NCS (Network
Condition Simulator) in
Solaris 11.next
Solaris 10 had Hitbox modüle from Crossbow Project. It helps you simulate any kind of network latency or packet drops. This can be helpful to analyze your applications behaviour due to network issues. In Oracle OpenWorld 2016, it was told that it will be available in some future Solaris 11.next releases with the name NCS meaning Network Condition Simulator.
* Please feel free to communicate by bulent.yucesoy@gmail.com