Provide Ethernet Audio Video Bridging services
mount -Ttcpip lsm-avb.so [option[,option...]] ...
or:
io-pkt-variant -p avb [option[,option...]] ... &
where variant is one of v4, v4-hc, or v6-hc.
QNX Neutrino
The lsm-avb.so shared object provides Ethernet Audio Video Bridging (AVB).
The API isn't through sockets; instead lsm-avb.so runs its own resource manager under SOCK_prefix/dev/socket/avb, as this lets us meet the low latency requirements in some AVB scenarios even when the main io-pkt resource manager is dealing with another message.
Note that an AVB-enabled Ethernet driver is also required. This consists of supporting a few new ioctl() commands, along with supporting the multiple queues, shapers, and time stamping that are required for AVB.
Under the avb directory is a directory of all the interfaces that may be AVB-capable. Under each interface is a block special file called time that's used for 802.1AS packets (driven by ptpd-avb), and then individual streams are opened and closed with the stream name containing the parameters specifying the stream.
A stream name is formed as:
"DestMac:VLAN:Priority:Subtype:StreamId:BitDepth:SampleRate:NumSamples:NumVoices"
1722 and 1722a Draft6 streams are currently supported, and you can also specify a clock reference stream on the command line. Whole packets worth of data are meant to be written and read rather than reading and writing a partial packets. The lsm-avb.so adds the header to the data and transmits on a talker stream with the correct timestamp. For listener streams, the data is buffered until the presentation timestamp is reached.