[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Received IPv6 packets return with 0 hlen



On Thu, Oct 02, 2003 at 08:58:54AM +0200, Jochen Friedrich wrote:
> Just some wild guesses:
> 
> - you use tcpdump to display the packages
Correct!

> - your firewall rejects the tunnel packets with ICMP protocol unreachable
protocol unreachable?

> As the ICMP packet contains part of the tunneled packet, apparently
> tcpdump tries to decode this part and fails miserably...
> 
I also realised that I have not described the network, which is a bit
unfair.

OK, rowlf is a brouter.  In other words it is a bridge and a router and
a firewall and a IPv6 tunnel end point.

150.101.196.24/29 sits across both eth0 and eth1 and is bridged. There
is also a private network that is only on eth0 (the inside address).
Interface br0 is multineted with 150.101.196.28 and a private IP
address.  150.101.196.28 is also the tunnel end point.
The other end of the tunnel is 138.25.6.14
oMy guess is the complexity is what making it bork.

> Could you run tethereal -V and repeat the test? That should give much more
> information on the 4 packets in question.
Here it is without the -V first

249.172298 3ffe:8001:6:10::17 -> 3ffe:8001:c:ffff::2e ICMPv6 Echo request
249.172342 3ffe:8001:6:10::17 -> 3ffe:8001:c:ffff::2e ICMPv6 Echo request
249.202101 3ffe:8001:c:ffff::2e -> 3ffe:8001:6:10::17 ICMPv6 Echo reply
249.202498 00:03:4b:f5:94:96 -> 00:01:03:40:a0:29 IP Bogus IP header length (0, must be at least 20)

At least both agree here.

I have attached the trace in the email, its rather long.
The interesting thing is frame 4 looks fine until you get to the IPv6
header, which says it is 0 length.  However the frame length is the same
size as the frame length of the echo request (118 bytes).

 - Craig
-- 
Craig Small      GnuPG:1C1B D893 1418 2AF4 45EE  95CB C76C E5AC 12CA DFA5
Eye-Net Consulting http://www.enc.com.au/   MIEE         Debian developer
csmall at : enc.com.au                      ieee.org           debian.org 
Frame 1 (118 bytes on wire, 118 bytes captured)
    Arrival Time: Oct  3, 2003 09:20:30.930889000
    Time delta from previous packet: 0.000000000 seconds
    Time relative to first packet: 0.000000000 seconds
    Frame Number: 1
    Packet Length: 118 bytes
    Capture Length: 118 bytes
Ethernet II, Src: 00:01:03:46:af:4a, Dst: 00:50:ba:88:b4:8e
    Destination: 00:50:ba:88:b4:8e (00:50:ba:88:b4:8e)
    Source: 00:01:03:46:af:4a (00:01:03:46:af:4a)
    Type: IPv6 (0x86dd)
Internet Protocol Version 6
    Version: 6
    Traffic class: 0x00
    Flowlabel: 0x00000
    Payload length: 64
    Next header: ICMPv6 (0x3a)
    Hop limit: 64
    Source address: 3ffe:8001:6:10::17 (3ffe:8001:6:10::17)
    Destination address: 3ffe:8001:c:ffff::2e (3ffe:8001:c:ffff::2e)
Internet Control Message Protocol v6
    Type: 128 (Echo request)
    Code: 0
    Checksum: 0x8dbc (correct)
    ID: 0x4479
    Sequence: 0x0001
    Data (56 bytes)

0000  5d b3 7c 3f 5a f2 0d 00 08 09 0a 0b 0c 0d 0e 0f   ].|?Z...........
0010  10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f   ................
0020  20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f    !"#$%&'()*+,-./
0030  30 31 32 33 34 35 36 37                           01234567

Frame 2 (138 bytes on wire, 138 bytes captured)
    Arrival Time: Oct  3, 2003 09:20:30.930932000
    Time delta from previous packet: 0.000043000 seconds
    Time relative to first packet: 0.000043000 seconds
    Frame Number: 2
    Packet Length: 138 bytes
    Capture Length: 138 bytes
Ethernet II, Src: 00:50:ba:88:b4:8e, Dst: 00:03:4b:f5:94:96
    Destination: 00:03:4b:f5:94:96 (00:03:4b:f5:94:96)
    Source: 00:50:ba:88:b4:8e (00:50:ba:88:b4:8e)
    Type: IP (0x0800)
Internet Protocol, Src Addr: 150.101.196.28 (150.101.196.28), Dst Addr: 138.25.6.14 (138.25.6.14)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 124
    Identification: 0x0000 (0)
    Flags: 0x04
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: IPv6 (0x29)
    Header checksum: 0x4fb0 (correct)
    Source: 150.101.196.28 (150.101.196.28)
    Destination: 138.25.6.14 (138.25.6.14)
Internet Protocol Version 6
    Version: 6
    Traffic class: 0x00
    Flowlabel: 0x00000
    Payload length: 64
    Next header: ICMPv6 (0x3a)
    Hop limit: 63
    Source address: 3ffe:8001:6:10::17 (3ffe:8001:6:10::17)
    Destination address: 3ffe:8001:c:ffff::2e (3ffe:8001:c:ffff::2e)
Internet Control Message Protocol v6
    Type: 128 (Echo request)
    Code: 0
    Checksum: 0x8dbc (correct)
    ID: 0x4479
    Sequence: 0x0001
    Data (56 bytes)

0000  5d b3 7c 3f 5a f2 0d 00 08 09 0a 0b 0c 0d 0e 0f   ].|?Z...........
0010  10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f   ................
0020  20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f    !"#$%&'()*+,-./
0030  30 31 32 33 34 35 36 37                           01234567

Frame 3 (138 bytes on wire, 138 bytes captured)
    Arrival Time: Oct  3, 2003 09:20:30.971003000
    Time delta from previous packet: 0.040071000 seconds
    Time relative to first packet: 0.040114000 seconds
    Frame Number: 3
    Packet Length: 138 bytes
    Capture Length: 138 bytes
Ethernet II, Src: 00:03:4b:f5:94:96, Dst: 00:50:ba:88:b4:8e
    Destination: 00:50:ba:88:b4:8e (00:50:ba:88:b4:8e)
    Source: 00:03:4b:f5:94:96 (00:03:4b:f5:94:96)
    Type: IP (0x0800)
Internet Protocol, Src Addr: 138.25.6.14 (138.25.6.14), Dst Addr: 150.101.196.28 (150.101.196.28)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 124
    Identification: 0x0000 (0)
    Flags: 0x04
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 239
    Protocol: IPv6 (0x29)
    Header checksum: 0xa0af (correct)
    Source: 138.25.6.14 (138.25.6.14)
    Destination: 150.101.196.28 (150.101.196.28)
Internet Protocol Version 6
    Version: 6
    Traffic class: 0x00
    Flowlabel: 0x00000
    Payload length: 64
    Next header: ICMPv6 (0x3a)
    Hop limit: 255
    Source address: 3ffe:8001:c:ffff::2e (3ffe:8001:c:ffff::2e)
    Destination address: 3ffe:8001:6:10::17 (3ffe:8001:6:10::17)
Internet Control Message Protocol v6
    Type: 129 (Echo reply)
    Code: 0
    Checksum: 0x8cbc (correct)
    ID: 0x4479
    Sequence: 0x0001
    Data (56 bytes)

0000  5d b3 7c 3f 5a f2 0d 00 08 09 0a 0b 0c 0d 0e 0f   ].|?Z...........
0010  10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f   ................
0020  20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f    !"#$%&'()*+,-./
0030  30 31 32 33 34 35 36 37                           01234567

Frame 4 (118 bytes on wire, 118 bytes captured)
    Arrival Time: Oct  3, 2003 09:20:30.971046000
    Time delta from previous packet: 0.000043000 seconds
    Time relative to first packet: 0.040157000 seconds
    Frame Number: 4
    Packet Length: 118 bytes
    Capture Length: 118 bytes
Ethernet II, Src: 00:03:4b:f5:94:96, Dst: 00:01:03:40:a0:29
    Destination: 00:01:03:40:a0:29 (00:01:03:40:a0:29)
    Source: 00:03:4b:f5:94:96 (00:03:4b:f5:94:96)
    Type: IP (0x0800)
Internet Protocol
    Version: 6
    Header length: 0 bytes (bogus, must be at least 20)


Reply to: