NET/ROM is a protocol used extensively by radio amateurs. The Linux NET/ROM protocol family permits access to these protocols via the standard networking socket metaphor.
The NET/ROM protocol layer only supports connected mode. IP traffic may be stacked on top of NET/ROM frames using a non-standard extension to the NET/ROM protocol.
The only mode of operation is connected mode which is the mode used for a socket of type SOCK_SEQPACKET (stream sockets are not available in NET/ROM). This requires that the user ensures output data is suitably packetised, and that input data is read a packet at a time into a buffer of suitable size.
NET/ROM addresses consist of 6 ascii characters and a number called the SSID. These are encoded into a sockaddr_ax25 structure which is provided to the relevant system calls.
NET/ROM has some unusual properties. Notably in a multi-user system an AX.25 address is often associated with a user, and some users may not have such an association. a set of ioctl calls are provided to manage an association table.
NET/ROM supports the following socket options for SOL_NETROM. NETROM_T1 is the T1 timer in 1/10ths of a second, NETROM_T2 is the T2 timer in 1/10ths of a second. NETROM_N2, the retry counter is also configurable. There is no 'infinite retry' option supported however. It is possible for an application to request that the NET/ROM layer return the NET/ROM header as well as the application data, this is done via the NETROM_HDRINCL socket option.
call(1), socket(2), setsockopt(2), getsockopt(2), nrbroadcast(5), nrports(5), netromd(8), noderest(8), nodesave(8), nrparms(8).
Jonathan Naylor G4KLX <email@example.com>
address_families(7), ax25(3), ax25_call(8), ax25d(8), ax25d.conf(5), ax25ipd(8), call(1), listen(1), netromd(8), nodesave(8), nrattach(8), nrbroadcast(5), nrparms(8), nrports(5), rose(3).