NET/ROM
NET/ROM was the first layer 3 protocol providing transparent routing to the packet radio user thus enabled less constraint growth of the packet radio network.
The protocol
In NET/ROM there is a 5 byte long transport layer folling the AX.25 layer. It is constructed as follows:
Offset Use
0 Circuit Index
1 Circuit ID
2 TX Sequence Number
3 RX Sequence Number
4 Opcode and Flags
The Opcode and Flags field is constructed as follows:
Bits Use
0 - 3 Opcode
4 Reserviert
5 More Follows Flag
6 NAK Flag
7 Choke
NET/ROM implements seven operations for the opcode field. Opcodes 0..6 were already defined in the original Software 2000 NET/ROM specification.
0 Protocol Extension
1 Connect Request
2 Connect Acknowledge
3 Disconnect Request
4 Disconnect Acknowledge
5 Information
6 Information Acknowledge
7 Reset
G8PZT Reset
The Reset operation was designed by G8PZT. It solves the problem that NET/ROM has nothing equivalent to TCP's RST flag to tell the remote side that a connection does no longer exist on the local side. Strict NET/ROM has no other way of dealing with this case than letting the connection timeout - a very slow recovery method. To avoid reset wars Linux will never reply to a Reset packet with another Reset packet. For paranoia reasons the G8PZT Reset extension is currently disabled by default; it needs to be explcitly enabled by:
sysctl -w net.netrom.reset=1
The intent is to change the default to enabled after Linux 2.6.17 has been released and no issues have been found.