Each of the host's network addresses
is specified at boot time with an
SIOCSIFADDR
ioctl(2).
The interface MTU is 507 for protocols that do not use link level fragmentation
and 60480 bytes for the others. The routing layer may specify additional
limits.
Currently supported protocols are IPv4(+ARP), and IPv6.
With the IFF_LINK0 flag cleared, IP and ARP encoding is done according to the deprecated, but popular among Amiga users, RFC 1051 encoding (that is, with simple header, packet type 240 / 241), and the MTU is 507.
With the IFF_LINK0 flag set, IP/ARP/RARP encoding is done according to RFC 1201 (that is, with Packet Header Definition Standard header and packet type 212/213). The MTU is normally 1500.
When switching between the two modes, do a ifconfig interfacename down up to switch the MTU.
When the IFF_LINK2 flag is set, ARP packets are sent with the protocol type encoded as it would be in the ARCnet header, and decoded to the right protocol encoding on reception. According to "assigned numbers", this is wrong, but some legacy software (namely, AmiTCP 3.0beta) shows this bug.
ARCnet Packet Header Definition Standard, Novell Inc., 1989