Ethereal-dev: [Ethereal-dev] HMIPv6 Lifetime issue on Linux i386
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Greg Daley <greg.daley@xxxxxxxxxxxxxxxxx>
Date: Mon, 22 Oct 2001 17:14:50 +1000
Hi, In the header file this is being shown as a uint32 (as defined in the HMIP6 draft) but in the packet-icmpv6.c file, it is being treated as a short by using pntohs. On my 32 bit platform this is a 16 bit integer (albeit unsigned). would it be appropriate to change the pntohs to a pntohl? Would this break other platforms? Greg Daley [gdaley@host ethereal]$ grep map_lifetime *.h packet-ipv6.h: guint32 nd_opt_map_lifetime; [gdaley@host ethereal]$ grep map_lifetime *.c packet-icmpv6.c: offset + offsetof(struct nd_opt_map_info, nd_opt_map_lifetime), packet-icmpv6.c: 4, "Lifetime: %d", pntohs(&map->nd_opt_map_lifetime)); [gdaley@host ethereal]$ --------------------------------------------------- Patch : converet pntohs to pntohl [gdaley@host ethereal-0.8.20.cvs]$ cvs diff ethereal 2> /dev/null | ./ethereal/tools/cvsdiff-fix.py Index: ethereal/packet-icmpv6.c =================================================================== RCS file: /cvsroot/ethereal/packet-icmpv6.c,v retrieving revision 1.53 diff -u -r1.53 ethereal/packet-icmpv6.c --- ethereal/packet-icmpv6.c 2001/10/01 08:29:34 1.53 +++ ethereal/packet-icmpv6.c 2001/10/22 07:07:50 @@ -380,7 +380,7 @@ ND_OPT_MAP_FLAG_P, 8, "P", "")); proto_tree_add_text(icmp6opt_tree, tvb, offset + offsetof(struct nd_opt_map_info, nd_opt_map_lifetime), - 4, "Lifetime: %d", pntohs(&map->nd_opt_map_lifetime)); + 4, "Lifetime: %d", pntohl(&map->nd_opt_map_lifetime)); proto_tree_add_text(icmp6opt_tree, tvb, offset + offsetof(struct nd_opt_map_info, nd_opt_map_address), 16, [gdaley@host ethereal-0.8.20.cvs]$ -------------------------------------------------------- Output of my hacked radvdump: Router advertisement from fe80::201:3ff:fe45:81fc (hoplimit 255) AdvCurHopLimit: 64 AdvManagedFlag: off AdvOtherConfigFlag: off AdvHomeAgentFlag: on AdvReachableTime: 0 AdvRetransTimer: 0 Prefix 3ffe:8001:12:188:201:3ff:fe45:81fc/64 AdvValidLifetime: 1200 AdvPreferredLifetime: 1200 AdvOnLink: on AdvAutonomous: on AdvRouterAddr: on AdvSourceLLAddress: 00 01 03 45 81 FC AdvIntervalOpt: AdvInterval: 2 AdvHomeAgentInfo: HomeAgentPreference: 0 HomeAgentLifetime: 400 MAP 3ffe:8001:12:4188:201:3ff:fe45:81fc/64 MapDistance: 1 MapPreference: 128 MapRcoaPrefix: on MapExtendedMode: off MapTopology: off MapPrivacy: off MapPacketSource: off MapValidLifetime: 2592000 MAP 3ffe:8001:12:5188:201:3ff:fe45:81fc/64 MapDistance: 2 MapPreference: 100 MapRcoaPrefix: on MapExtendedMode: off MapTopology: off MapPrivacy: on MapPacketSource: off MapValidLifetime: 1200 ----------------------------------------------- WITHOUT Patch applied (Current Ethereal) Frame 1 (190 on wire, 190 captured) Arrival Time: Oct 22, 2001 17:09:54.113638000 Time delta from previous packet: 0.000000000 seconds Time relative to first packet: 0.000000000 seconds Frame Number: 1 Packet Length: 190 bytes Capture Length: 190 bytes Ethernet II Destination: 33:33:00:00:00:01 (33:33:00:00:00:01) Source: 00:01:03:45:81:fc (00:01:03:45:81:fc) Type: IPv6 (0x86dd) Internet Protocol Version 6 Version: 6 Traffic class: 0x00 Flowlabel: 0x00000 Payload length: 136 Next header: ICMPv6 (0x3a) Hop limit: 255 Source address: fe80::201:3ff:fe45:81fc (fe80::201:3ff:fe45:81fc) Destination address: ff02::1 (ff02::1) Internet Control Message Protocol v6 Type: 134 (Router advertisement) Code: 0 Checksum: 0x2f93 (correct) Cur hop limit: 64 Flags: 0x20 0... .... = Not managed .0.. .... = Not other ..1. .... = Home Agent ...0 0... = Router preference: Medium Router lifetime: 200 Reachable time: 0 Retrans time: 0 ICMPv6 options Type: 3 (Prefix information) Length: 32 bytes (4) Prefix length: 64 Flags: 0xe0 1... .... = Onlink .1.. .... = Auto ..1. .... = Router Address ...0 .... = Not site prefix Valid lifetime: 0x000004b0 Preferred lifetime: 0x000004b0 Prefix: 3ffe:8001:12:188:201:3ff:fe45:81fc ICMPv6 options Type: 1 (Source link-layer address) Length: 8 bytes (1) Link-layer address: 00:01:03:45:81:fc ICMPv6 options Type: 7 (Advertisement Interval) Length: 8 bytes (1) Advertisement Interval: 2000 ICMPv6 options Type: 8 (Home Agent Information) Length: 8 bytes (1) Home Agent Preference: 0 Home Agent Lifetime: 400 ICMPv6 options Type: 201 (HMIPv6 MAP option) Length: 32 bytes (4) Distance: 1 Preference: 128 Prefix Length: 64 Flags: 0x80 1... .... = R .0.. .... = ..0. .... = ...0 .... = .... 0... = Lifetime: 39 Address of MAP: 3ffe:8001:12:4188:201:3ff:fe45:81fc (3ffe:8001:12:4188:201:3ff:fe45:81fc) ICMPv6 options Type: 201 (HMIPv6 MAP option) Length: 32 bytes (4) Distance: 2 Preference: 100 Prefix Length: 64 Flags: 0xa0 1... .... = R .0.. .... = ..1. .... = I ...0 .... = .... 0... = Lifetime: 0 Address of MAP: 3ffe:8001:12:5188:201:3ff:fe45:81fc (3ffe:8001:12:5188:201:3ff:fe45:81fc) -------------------------------------------------- With patch applied: Frame 7 (190 on wire, 190 captured) Arrival Time: Oct 22, 2001 17:03:10.253550000 Time delta from previous packet: 0.942526000 seconds Time relative to first packet: 4.109927000 seconds Frame Number: 7 Packet Length: 190 bytes Capture Length: 190 bytes Ethernet II Destination: 33:33:00:00:00:01 (33:33:00:00:00:01) Source: 00:01:03:45:81:fc (00:01:03:45:81:fc) Type: IPv6 (0x86dd) Internet Protocol Version 6 Version: 6 Traffic class: 0x00 Flowlabel: 0x00000 Payload length: 136 Next header: ICMPv6 (0x3a) Hop limit: 255 Source address: fe80::201:3ff:fe45:81fc (fe80::201:3ff:fe45:81fc) Destination address: ff02::1 (ff02::1) Internet Control Message Protocol v6 Type: 134 (Router advertisement) Code: 0 Checksum: 0x2f93 (correct) Cur hop limit: 64 Flags: 0x20 0... .... = Not managed .0.. .... = Not other ..1. .... = Home Agent ...0 0... = Router preference: Medium Router lifetime: 200 Reachable time: 0 Retrans time: 0 ICMPv6 options Type: 3 (Prefix information) Length: 32 bytes (4) Prefix length: 64 Flags: 0xe0 1... .... = Onlink .1.. .... = Auto ..1. .... = Router Address ...0 .... = Not site prefix Valid lifetime: 0x000004b0 Preferred lifetime: 0x000004b0 Prefix: 3ffe:8001:12:188:201:3ff:fe45:81fc ICMPv6 options Type: 1 (Source link-layer address) Length: 8 bytes (1) Link-layer address: 00:01:03:45:81:fc ICMPv6 options Type: 7 (Advertisement Interval) Length: 8 bytes (1) Advertisement Interval: 2000 ICMPv6 options Type: 8 (Home Agent Information) Length: 8 bytes (1) Home Agent Preference: 0 Home Agent Lifetime: 400 ICMPv6 options Type: 201 (HMIPv6 MAP option) Length: 32 bytes (4) Distance: 1 Preference: 128 Prefix Length: 64 Flags: 0x80 1... .... = R .0.. .... = ..0. .... = ...0 .... = .... 0... = Lifetime: 2592000 Address of MAP: 3ffe:8001:12:4188:201:3ff:fe45:81fc (3ffe:8001:12:4188:201:3ff:fe45:81fc) ICMPv6 options Type: 201 (HMIPv6 MAP option) Length: 32 bytes (4) Distance: 2 Preference: 100 Prefix Length: 64 Flags: 0xa0 1... .... = R .0.. .... = ..1. .... = I ...0 .... = .... 0... = Lifetime: 1200 Address of MAP: 3ffe:8001:12:5188:201:3ff:fe45:81fc (3ffe:8001:12:5188:201:3ff:fe45:81fc)
- Follow-Ups:
- [Ethereal-dev] Re: HMIPv6 Lifetime issue on Linux i386
- From: Martti Kuparinen
- [Ethereal-dev] Re: HMIPv6 Lifetime issue on Linux i386
- Prev by Date: Re: [Ethereal-dev] Ethereal 0.8.20 and WSP/GTP
- Next by Date: [Ethereal-dev] Re: HMIPv6 Lifetime issue on Linux i386
- Previous by thread: Re: [Ethereal-dev] TCP checksums
- Next by thread: [Ethereal-dev] Re: HMIPv6 Lifetime issue on Linux i386
- Index(es):