When the NOARP flag is set on the
bah interface, it does not employ the address resolution protocol described in
arp(4) to dynamically map between Internet and Ethernet addresses on the local network. Instead, it uses the least significant 8 bits of the IP address as hardware address, as described in RFC 1051 and RFC 1201.
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.