There's no link-layer header on Linux ARPHRD_ATM packets; there's
apparently (as per the previous version of this code) either an 802.2
LLC header (as per RFC 1483 and RFC 2225), or there's no header at all,
and just an IP packet.
As such, no link-layer header should be printed.
In addition, for packets with an LLC header, we should call the LLC
printer, rather than assuming that it's SNAP-encapsulated (RFC 1483
says they're not always SNAP-encapsulated) and printing the header
ourselves. For packets without an LLC header, we should just call the
IP print routine.
This means that the LLC print routine may be called with null source and
destination MAC addresses; make it handle them.
2 files changed