Add a routine to convert Ethernet packet types to strings.
Use that routine in "ethertype()".
Have "dissect_arp()" handle hardware addresses that aren't 6-byte
Ethernet addresses and protocol addresses that aren't 4-byte IPv4
addresses - currently, it just prints the first 16 hex digits, but it
could be made to handle other types specially just as it handles 6-byte
Ethernet and 4-byte IPv4 addresses, e.g. IPv6 addresses. (Note that I
*have* seen hardware addresses that aren't 6-byte Ethernet addresses -
the DLPI interface for FORE Systems' ATM driver for Solaris 2.x, at
least when using FORE SPANS, hands the packets up as Ethernet packets,
but the ARP packets you see have 8-byte hardware addresses.)
Have it decode a more complete set of hardware address types.