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
tree: 26bb436b7abcef7c39988f4fe7a618da77fe4faf
  1. lbl/
  2. missing/
  3. .cvsignore
  4. acconfig.h
  5. aclocal.m4
  6. addrtoname.c
  7. addrtoname.h
  8. ah.h
  9. appletalk.h
  10. arcnet.h
  11. atime.awk
  12. bootp.h
  13. bpf_dump.c
  14. CHANGES
  15. chdlc.h
  16. config.guess
  17. config.h.in
  18. config.sub
  19. configure
  20. configure.in
  21. CREDITS
  22. decnet.h
  23. dhcp6.h
  24. dhcp6opt.h
  25. esp.h
  26. ether.h
  27. ethertype.h
  28. extract.h
  29. fddi.h
  30. FILES
  31. gmt2local.c
  32. gmt2local.h
  33. icmp6.h
  34. ieee802_11.h
  35. igrp.h
  36. INSTALL
  37. install-sh
  38. interface.h
  39. ip.h
  40. ip6.h
  41. ipsec_doi.h
  42. ipx.h
  43. isakmp.h
  44. l2tp.h
  45. lane.h
  46. LICENSE
  47. llc.h
  48. machdep.c
  49. machdep.h
  50. Makefile-devel-adds
  51. Makefile.in
  52. makemib
  53. mib.h
  54. mkdep
  55. nameser.h
  56. netbios.h
  57. nfs.h
  58. nfsfh.h
  59. ntp.h
  60. oakley.h
  61. ospf.h
  62. ospf6.h
  63. packetdat.awk
  64. parsenfsfh.c
  65. PLATFORMS
  66. ppp.h
  67. print-802_11.c
  68. print-ah.c
  69. print-arcnet.c
  70. print-arp.c
  71. print-ascii.c
  72. print-atalk.c
  73. print-atm.c
  74. print-bgp.c
  75. print-bootp.c
  76. print-bxxp.c
  77. print-cdp.c
  78. print-chdlc.c
  79. print-cip.c
  80. print-cnfp.c
  81. print-decnet.c
  82. print-dhcp6.c
  83. print-domain.c
  84. print-dvmrp.c
  85. print-egp.c
  86. print-esp.c
  87. print-ether.c
  88. print-fddi.c
  89. print-frag6.c
  90. print-gre.c
  91. print-hsrp.c
  92. print-icmp.c
  93. print-icmp6.c
  94. print-igmp.c
  95. print-igrp.c
  96. print-ip.c
  97. print-ip6.c
  98. print-ip6opts.c
  99. print-ipcomp.c
  100. print-ipx.c
  101. print-isakmp.c
  102. print-isoclns.c
  103. print-krb.c
  104. print-l2tp.c
  105. print-lane.c
  106. print-lcp.c
  107. print-llc.c
  108. print-lwres.c
  109. print-mobile.c
  110. print-mpls.c
  111. print-msdp.c
  112. print-netbios.c
  113. print-nfs.c
  114. print-ntp.c
  115. print-null.c
  116. print-ospf.c
  117. print-ospf6.c
  118. print-pim.c
  119. print-ppp.c
  120. print-pppoe.c
  121. print-pptp.c
  122. print-radius.c
  123. print-raw.c
  124. print-rip.c
  125. print-ripng.c
  126. print-rt6.c
  127. print-rx.c
  128. print-sctp.c
  129. print-sl.c
  130. print-sll.c
  131. print-smb.c
  132. print-snmp.c
  133. print-stp.c
  134. print-sunrpc.c
  135. print-tcp.c
  136. print-telnet.c
  137. print-tftp.c
  138. print-timed.c
  139. print-token.c
  140. print-udp.c
  141. print-vjc.c
  142. print-vrrp.c
  143. print-wb.c
  144. print-zephyr.c
  145. README
  146. route6d.h
  147. rx.h
  148. sctpConstants.h
  149. sctpHeader.h
  150. send-ack.awk
  151. setsignal.c
  152. setsignal.h
  153. slcompress.h
  154. slip.h
  155. sll.h
  156. smb.h
  157. smbutil.c
  158. stime.awk
  159. strcasecmp.c
  160. tcp.h
  161. tcpdump.1
  162. tcpdump.c
  163. telnet.h
  164. timed.h
  165. TODO
  166. token.h
  167. udp.h
  168. util.c
  169. VERSION
  170. vfprintf.c