Solaris Streams Module

The capitalized word “STREAMS” refers to the STREAMS programming model and facilities.
The wordstreamrefers 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