Commit Graph

18 Commits

Author SHA1 Message Date
mcr
05b7f224d8 Patches from NetBSD tree. 2007-08-29 02:31:44 +00:00
guy
167c740563 From Michael Shields <shields@msrl.com> via Roman Francoise: spelling
fixes.
2005-09-05 09:29:00 +00:00
hannes
932c88e772 rework the ICMP6 decoder:
-replace private flag printers and replace them with bittok2str()
  -remove some flesh from inline printf() statements make more use of tok2str()
  -option printer gets a multiline output (behind vflag)
   -context hexdump for options
  -replace some u_int32 with u_int8[4] to get around compiler padding issues
2005-01-14 10:41:50 +00:00
guy
010fcafbc5 From Shinsuke Suzuki <suz@kame.net>: a patch to sync ICMPv6-Type number
with the current IANA assignment (Apr 13 2004).  It consists of the
following four parts:

	- added inverse-neighbor-discovery (RFC3122)
	- shift MTRACE-related type numbers, since it collides
	  with inverse-neighbor-discovery.
	- added MLDv2 (draft-vida-mld-v2-08.txt)
	- shifted Mobile-IPv6 numbers from interim value to the
	  official one. (draft-ietf-mobile-ipv6-24.txt)
2004-06-16 00:06:28 +00:00
guy
fcc82f451d The "__attribute__((packed))" tag on structures causes some files not to
compile with Sun C, as "interface.h" isn't being included before the
structures are being declared.

Furthermore, in the files that Sun C *can* compile, it doesn't cause Sun
C to generate code that's safe with unaligned accesses, as
"__attribute__" is defined as a do-nothing macro with compilers that
don't support it.

Therefore, we get rid of that tag on the structures to which it was
added, and instead use "EXTRACT_16BIT()" and "EXTRACT_32BIT()" to fetch
16-bit and 32-bit big-endian quantities from packets.  We also fix some
other references to multi-byte quantities to get rid of code that tries
to do unaligned loads on platforms that don't support them.

We also throw in a hack that makes those macros use
"__attribute__((packed))" on structures containing only one 16-bit or
32-bit integer to get the compiler to generate unaligned-safe code
rather than doing it by hand.  (GCC on SPARC produces the same code that
doing it by hand does; I don't know if GCC on any other big-endian
strict-alignment processor generates better code for that case.  On
little-endian processors, as "ntohs()" and "ntohl()" might be functions,
that might actually produce worse code.)

Fix some places to use "%u" rather than "%d" to print unsigned
quantities.
2002-12-11 07:13:49 +00:00
itojun
10afb02ac8 put __attribute__((packed)) to packet headers. s/u_short/u_int16_t/ and so
forth while i'm here
2002-11-09 17:19:16 +00:00
guy
88937a62d9 Updates from Kazushi Sugyo <sugyo@pb.jp.nec.com> for
draft-ietf-mobileip-ipv6-15.
2002-03-28 10:02:34 +00:00
itojun
8346a95c66 move router preference decls into icmp6.h 2001-06-01 23:01:04 +00:00
itojun
5d12078039 sync with 2292bis-02/ND_RA_FLAG_HOME_AGENT 2001-06-01 22:59:45 +00:00
itojun
ea3df106b5 decode draft-ietf-ipngwg-router-preference, specific route information.
(note: nd option type 9 is not officially assigned yet)
2001-06-01 03:32:27 +00:00
itojun
f3558bbf42 use u_int8_t, not uint8_t (we use BSDish sys/types.h) 2001-02-15 03:03:33 +00:00
itojun
a85f215bc4 meet 2292bis-02 for RA option decls 2001-01-28 09:09:36 +00:00
itojun
64a0e95995 sync with 2292bis-02: ND_OPT_ADVINTERVAL 2001-01-28 09:02:14 +00:00
itojun
d10c8baa8b sync RR flag bit name with draft-ietf-ipngwg-rfc2292bis-02.txt. 2001-01-22 02:31:18 +00:00
guy
93b36b0a34 Give a bunch of files RCS and SCCS IDs. 2000-12-17 23:13:32 +00:00
itojun
f3b1a28284 add mobile-ip6 option handling. patches@tcpdump.org #113
from Timo Koskiahde.
2000-12-13 07:57:04 +00:00
itojun
335771982d correct router renumber bits to sync with RFC2894 (not used yet) 2000-11-08 07:10:58 +00:00
itojun
ce132b307b put stripped-down version of ip6.h and icmp6.h into tcpdump tree.
ip6.h is almost normal RFC2292 header.
icmp6.h has couple of extensions (not covered by RFC2292),
like MLD, ICMPv6 nodeinfo, and router renumber.

XXX how to synchronize with future kame changes?
2000-10-07 05:53:09 +00:00