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.
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
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.