Thread: [mpls-linux-general] MPLS stack observed using Ethereal analyzer !!
Status: Beta
Brought to you by:
jleu
From: Nanda, D. <DN...@ne...> - 2001-01-30 23:41:22
|
Hi James, I have setup a small MPLS domain in our lab for testing using your implementation of linux-mpls. I have the following configuration (Please use prefix 168.219. for all ip address below ) 79.44 79.2 80.1 80.2 81.1 81.2 82.2 82.45 -------- ------- ------ ------- -------- | Host 1 |------| LER 1 |-------| LSR 1|---------| LER 2 |-------| Host 2 | -------- ------- ------ ------- -------- eth0 eth2 eth0 eth0 eth1 eth0 eth2 eth0 I observer that when a MPLS packet gets switched ( label swaping) in a LSR , at the out port (interface) in either direction I get MPLS label stack . For example when a packet traverses from Host1 to Host 2 , it's label gets swaped at LSR 1. When I run Ethereal at LER2-eth0, I observer three MPLS heaser on each packet directed from LSR1 to LER2 . Frame 1 (102 on wire, 102 captured) Ethernet II MultiProtocol Label Switching Header MultiProtocol Label Switching Header MultiProtocol Label Switching Header Internet Protocol A detailed packet dump is shown below along with the hex dump. Frame 1 (102 on wire, 102 captured) Arrival Time: Jan 30, 2001 16:14:01.3064 Time delta from previous packet: 0.000000 seconds Time relative to first packet: 0.000000 seconds Frame Number: 1 Packet Length: 102 bytes Capture Length: 102 bytes Ethernet II Destination: 00:01:02:85:35:d5 (00:01:02:85:35:d5) Source: 00:01:02:85:36:81 (00:01:02:85:36:81) Type: MPLS label switched packet (0x8847) MultiProtocol Label Switching Header MPLS Label: Unknown (282624) MPLS Experimental Bits: 0 MPLS Bottom Of Label Stack: 0 MPLS TTL: 84 MultiProtocol Label Switching Header MPLS Label: Unknown (80032) MPLS Experimental Bits: 0 MPLS Bottom Of Label Stack: 0 MPLS TTL: 0 MultiProtocol Label Switching Header MPLS Label: Unknown (258071) MPLS Experimental Bits: 2 MPLS Bottom Of Label Stack: 1 MPLS TTL: 15 Internet Protocol Version: 10 Header length: 32 bytes Differentiated Services Field: 0xdb (DSCP 0x36: Unknown DSCP; ECN: 0x03) 1101 10.. = Differentiated Services Codepoint: Unknown (0x36) .... ..1. = ECN-Capable Transport (ECT): 1 .... ...1 = ECN-CE: 1 Total Length: 20268 Identification: 0xa8db Flags: 0x04 .1.. = Don't fragment: Set ..0. = More fragments: Not set Fragment offset: 37224 Time to live: 8 Protocol: IPv6 hop-by-hop option (0x00) Header checksum: 0x9e7b (incorrect, should be 0x6a3d) Source: 197.8.105.0 (197.8.105.0) Destination: reserved-multicast-range-NOT-delegated.example.com (231.74.119.58) Options: (12 bytes) Unknown (0xe0) (option length = 242 bytes says option goes past end of options) Data (44 bytes) 0 0001 0285 35d5 0001 0285 3681 8847 4500 ....5.....6..GE. 10 0054 138a 0000 3f01 750f a8db 4f2c a8db .T....?.u...O,.. 20 522d 0800 9e7b c508 6900 e74a 773a e0f2 R-...{..i..Jw:.. 30 0100 0809 0a0b 0c0d 0e0f 1011 1213 1415 ................ 40 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425 .......... !"#$% 50 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435 &'()*+,-./012345 60 3637 3435 3637 674567 Where as wnen a packet from an LER to LSR is captured at the input interface of LSR ( ex. packet travelling from LER2 to LSR1, captured at LSR1-eth0 ) the dump is consistent with expected results as shown below Frame 2 (102 on wire, 102 captured) Ethernet II MultiProtocol Label Switching Header Internet Protocol Internet Control Message Protocol A detailed packet analysis along with the hex dump is provided below. Frame 2 (102 on wire, 102 captured) Arrival Time: Jan 30, 2001 16:14:01.3067 Time delta from previous packet: 0.000337 seconds Time relative to first packet: 0.000337 seconds Frame Number: 2 Packet Length: 102 bytes Capture Length: 102 bytes Ethernet II Destination: 00:01:02:85:36:81 (00:01:02:85:36:81) Source: 00:01:02:85:35:d5 (00:01:02:85:35:d5) Type: MPLS label switched packet (0x8847) MultiProtocol Label Switching Header MPLS Label: Unknown (20) MPLS Experimental Bits: 0 MPLS Bottom Of Label Stack: 1 MPLS TTL: 254 Internet Protocol 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: 84 Identification: 0x0000 Flags: 0x04 .1.. = Don't fragment: Set ..0. = More fragments: Not set Fragment offset: 0 Time to live: 254 Protocol: ICMP (0x01) Header checksum: 0x8998 (correct) Source: 168.219.82.45 (168.219.82.45) Destination: 168.219.79.44 (168.219.79.44) Internet Control Message Protocol Type: 0 (Echo (ping) reply) Code: 0 Checksum: 0xa67b (correct) Identifier: 0xc508 Sequence number: 69:00 Data (56 bytes) 0 0001 0285 3681 0001 0285 35d5 8847 0001 ....6.....5..G.. 10 41fe 4500 0054 0000 4000 fe01 8998 a8db A.E..T..@....... 20 522d a8db 4f2c 0000 a67b c508 6900 e74a R-..O,...{..i..J 30 773a e0f2 0100 0809 0a0b 0c0d 0e0f 1011 w:.............. 40 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021 .............. ! 50 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031 "#$%&'()*+,-./01 60 3233 3435 3637 234567 Could you please comment on this . Regards Debasis |
From: James R. L. <jl...@mi...> - 2001-01-30 23:48:55
|
There is currently a bug wit the MPLS stack that results in programs like tcpdump and ethereal to see invalid packet when they are run on an LER. Try running then from a host observing the traffic, nat participating in it. Jim On Tue, Jan 30, 2001 at 05:40:21PM -0600, Nanda, Debasis wrote: > Hi James, > > I have setup a small MPLS domain in our lab for testing using your > implementation of linux-mpls. > > I have the following configuration > > (Please use prefix 168.219. for all ip address below ) > > 79.44 79.2 80.1 80.2 81.1 81.2 82.2 82.45 > -------- ------- ------ ------- -------- > | Host 1 |------| LER 1 |-------| LSR 1|---------| LER 2 |-------| Host 2 > | > -------- ------- ------ ------- -------- > eth0 eth2 eth0 eth0 eth1 eth0 eth2 eth0 > > > > > I observer that when a MPLS packet gets switched ( label swaping) in a LSR , > at the out port (interface) in either direction I get MPLS label stack . For > example when a packet traverses from Host1 to Host 2 , it's label gets > swaped at LSR 1. When I run Ethereal at LER2-eth0, I observer three MPLS > heaser on each packet directed from LSR1 to LER2 . > > Frame 1 (102 on wire, 102 captured) > Ethernet II > MultiProtocol Label Switching Header > MultiProtocol Label Switching Header > MultiProtocol Label Switching Header > Internet Protocol > > A detailed packet dump is shown below along with the hex dump. > > > > > Frame 1 (102 on wire, 102 captured) > Arrival Time: Jan 30, 2001 16:14:01.3064 > Time delta from previous packet: 0.000000 seconds > Time relative to first packet: 0.000000 seconds > Frame Number: 1 > Packet Length: 102 bytes > Capture Length: 102 bytes > Ethernet II > Destination: 00:01:02:85:35:d5 (00:01:02:85:35:d5) > Source: 00:01:02:85:36:81 (00:01:02:85:36:81) > Type: MPLS label switched packet (0x8847) > MultiProtocol Label Switching Header > MPLS Label: Unknown (282624) > MPLS Experimental Bits: 0 > MPLS Bottom Of Label Stack: 0 > MPLS TTL: 84 > MultiProtocol Label Switching Header > MPLS Label: Unknown (80032) > MPLS Experimental Bits: 0 > MPLS Bottom Of Label Stack: 0 > MPLS TTL: 0 > MultiProtocol Label Switching Header > MPLS Label: Unknown (258071) > MPLS Experimental Bits: 2 > MPLS Bottom Of Label Stack: 1 > MPLS TTL: 15 > Internet Protocol > Version: 10 > Header length: 32 bytes > Differentiated Services Field: 0xdb (DSCP 0x36: Unknown DSCP; ECN: 0x03) > 1101 10.. = Differentiated Services Codepoint: Unknown (0x36) > .... ..1. = ECN-Capable Transport (ECT): 1 > .... ...1 = ECN-CE: 1 > Total Length: 20268 > Identification: 0xa8db > Flags: 0x04 > .1.. = Don't fragment: Set > ..0. = More fragments: Not set > Fragment offset: 37224 > Time to live: 8 > Protocol: IPv6 hop-by-hop option (0x00) > Header checksum: 0x9e7b (incorrect, should be 0x6a3d) > Source: 197.8.105.0 (197.8.105.0) > Destination: reserved-multicast-range-NOT-delegated.example.com > (231.74.119.58) > Options: (12 bytes) > Unknown (0xe0) (option length = 242 bytes says option goes past end > of options) > Data (44 bytes) > > 0 0001 0285 35d5 0001 0285 3681 8847 4500 ....5.....6..GE. > 10 0054 138a 0000 3f01 750f a8db 4f2c a8db .T....?.u...O,.. > 20 522d 0800 9e7b c508 6900 e74a 773a e0f2 R-...{..i..Jw:.. > 30 0100 0809 0a0b 0c0d 0e0f 1011 1213 1415 ................ > 40 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425 .......... !"#$% > 50 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435 &'()*+,-./012345 > 60 3637 3435 3637 674567 > > > Where as wnen a packet from an LER to LSR is captured at the input interface > of LSR ( ex. packet travelling from LER2 to LSR1, captured at LSR1-eth0 ) > the dump is consistent with expected results as shown below > > Frame 2 (102 on wire, 102 captured) > Ethernet II > MultiProtocol Label Switching Header > Internet Protocol > Internet Control Message Protocol > > A detailed packet analysis along with the hex dump is provided below. > > > Frame 2 (102 on wire, 102 captured) > Arrival Time: Jan 30, 2001 16:14:01.3067 > Time delta from previous packet: 0.000337 seconds > Time relative to first packet: 0.000337 seconds > Frame Number: 2 > Packet Length: 102 bytes > Capture Length: 102 bytes > Ethernet II > Destination: 00:01:02:85:36:81 (00:01:02:85:36:81) > Source: 00:01:02:85:35:d5 (00:01:02:85:35:d5) > Type: MPLS label switched packet (0x8847) > MultiProtocol Label Switching Header > MPLS Label: Unknown (20) > MPLS Experimental Bits: 0 > MPLS Bottom Of Label Stack: 1 > MPLS TTL: 254 > Internet Protocol > 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: 84 > Identification: 0x0000 > Flags: 0x04 > .1.. = Don't fragment: Set > ..0. = More fragments: Not set > Fragment offset: 0 > Time to live: 254 > Protocol: ICMP (0x01) > Header checksum: 0x8998 (correct) > Source: 168.219.82.45 (168.219.82.45) > Destination: 168.219.79.44 (168.219.79.44) > Internet Control Message Protocol > Type: 0 (Echo (ping) reply) > Code: 0 > Checksum: 0xa67b (correct) > Identifier: 0xc508 > Sequence number: 69:00 > Data (56 bytes) > > 0 0001 0285 3681 0001 0285 35d5 8847 0001 ....6.....5..G.. > 10 41fe 4500 0054 0000 4000 fe01 8998 a8db A.E..T..@....... > 20 522d a8db 4f2c 0000 a67b c508 6900 e74a R-..O,...{..i..J > 30 773a e0f2 0100 0809 0a0b 0c0d 0e0f 1011 w:.............. > 40 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021 .............. ! > 50 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031 "#$%&'()*+,-./01 > 60 3233 3435 3637 234567 > > > > Could you please comment on this . > > Regards > > Debasis > > -- James R. Leu |
From: Francois D. <fd...@vi...> - 2001-01-31 01:00:43
|
Hello Jim! I was wondering. Although the ldp deamon is not integrated with any L3 routing protocol right now, (let's say ospfd from zebra:-). Is it possible for the ldp deamon to read the FIB, and start building LSPs based on that, instead of being fed directly from ospfd ? JP had the feeling that ldp was using the static route to create LSPs and was wondering if it was possible to do the same thing with routes fed in the FIB with zebra... Are we totally out of our shirt or what ? Thanks :-) FD |