Thread: [mpls-linux-general] Ping Problem
Status: Beta
Brought to you by:
jleu
|
From: Josef P. <jo...@pe...> - 2004-03-25 18:20:57
|
Ping from UML1 to UML2
dmesg1:
MPLS DEBUG net/mpls/mpls_output.c:66:mpls_send: using hh
MPLS DEBUG net/mpls/mpls_output.c:79:mpls_send: mpls_send result 0
MPLS DEBUG net/mpls/mpls_output.c:182:mpls_output2: exit
MPLS DEBUG net/mpls/mpls_output.c:135:mpls_output2: enter
MPLS DEBUG net/mpls/mpls_output.c:148:mpls_output2: opcode PUSH
MPLS DEBUG net/mpls/mpls_opcode.c:106:mpls_push: enter
MPLS DEBUG net/mpls/mpls_opcode.c:130:mpls_push: using tailroom
MPLS DEBUG net/mpls/mpls_opcode.c:134:mpls_push: done using tailroom
MPLS DEBUG net/mpls/mpls_opcode.c:181:mpls_push: exit
MPLS DEBUG net/mpls/mpls_output.c:148:mpls_output2: opcode SET
MPLS DEBUG net/mpls/mpls_output.c:55:mpls_send: output device = eth1
MPLS DEBUG net/mpls/mpls_opcode.c:41:mpls_finish: enter
MPLS DEBUG net/mpls/mpls_opcode.c:54:mpls_finish: exit
MPLS mpls_skb_dump: from eth1 with len 88 (296)headroom=16 tailroom=24
3c343e4d61722032352031383a31333a{000101404500005400034000400122a40b000101#0b
00010208002d01130103004063214b000b684108090a0b0c0d0e0f101112131415161718191a
1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637}30
MPLS DEBUG net/mpls/mpls_output.c:66:mpls_send: using hh
MPLS DEBUG net/mpls/mpls_output.c:79:mpls_send: mpls_send result 0
MPLS DEBUG net/mpls/mpls_output.c:182:mpls_output2: exit
MPLS DEBUG net/mpls/mpls_output.c:135:mpls_output2: enter
MPLS DEBUG net/mpls/mpls_output.c:148:mpls_output2: opcode PUSH
MPLS DEBUG net/mpls/mpls_opcode.c:106:mpls_push: enter
MPLS DEBUG net/mpls/mpls_opcode.c:130:mpls_push: using tailroom
MPLS DEBUG net/mpls/mpls_opcode.c:134:mpls_push: done using tailroom
MPLS DEBUG net/mpls/mpls_opcode.c:181:mpls_push: exit
MPLS DEBUG net/mpls/mpls_output.c:148:mpls_output2: opcode SET
MPLS DEBUG net/mpls/mpls_output.c:55:mpls_send: output device = eth1
MPLS DEBUG net/mpls/mpls_opcode.c:41:mpls_finish: enter
MPLS DEBUG net/mpls/mpls_opcode.c:54:mpls_finish: exit
MPLS mpls_skb_dump: from eth1 with len 88 (296)headroom=16 tailroom=24
3c343e4d61722032352031383a31333a{000101404500005400044000400122a30b000101#0b
00010208002c9c130104004063214c000b67a508090a0b0c0d0e0f101112131415161718191a
1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637}30
MPLS DEBUG net/mpls/mpls_output.c:66:mpls_send: using hh
MPLS DEBUG net/mpls/mpls_output.c:79:mpls_send: mpls_send result 0
MPLS DEBUG net/mpls/mpls_output.c:182:mpls_output2: exit
MPLS DEBUG net/mpls/mpls_output.c:135:mpls_output2: enter
MPLS DEBUG net/mpls/mpls_output.c:148:mpls_output2: opcode PUSH
MPLS DEBUG net/mpls/mpls_opcode.c:106:mpls_push: enter
MPLS DEBUG net/mpls/mpls_opcode.c:130:mpls_push: using tailroom
MPLS DEBUG net/mpls/mpls_opcode.c:134:mpls_push: done using tailroom
MPLS DEBUG net/mpls/mpls_opcode.c:181:mpls_push: exit
MPLS DEBUG net/mpls/mpls_output.c:148:mpls_output2: opcode SET
MPLS DEBUG net/mpls/mpls_output.c:55:mpls_send: output device = eth1
MPLS DEBUG net/mpls/mpls_opcode.c:41:mpls_finish: enter
MPLS DEBUG net/mpls/mpls_opcode.c:54:mpls_finish: exit
MPLS mpls_skb_dump: from eth1 with len 88 (296)headroom=16 tailroom=24
3c343e4d61722032352031383a31333a{000101404500005400004000400122a70b000101#0b
0001020800e82916010000406321da0008ac8c08090a0b0c0d0e0f101112131415161718191a
1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637}30
MPLS DEBUG net/mpls/mpls_output.c:66:mpls_send: using hh
MPLS DEBUG net/mpls/mpls_output.c:79:mpls_send: mpls_send result 0
MPLS DEBUG net/mpls/mpls_output.c:182:mpls_output2: exit
MPLS DEBUG net/mpls/mpls_output.c:135:mpls_output2: enter
MPLS DEBUG net/mpls/mpls_output.c:148:mpls_output2: opcode PUSH
MPLS DEBUG net/mpls/mpls_opcode.c:106:mpls_push: enter
MPLS DEBUG net/mpls/mpls_opcode.c:130:mpls_push: using tailroom
MPLS DEBUG net/mpls/mpls_opcode.c:134:mpls_push: done using tailroom
MPLS DEBUG net/mpls/mpls_opcode.c:181:mpls_push: exit
MPLS DEBUG net/mpls/mpls_output.c:148:mpls_output2: opcode SET
MPLS DEBUG net/mpls/mpls_output.c:55:mpls_send: output device = eth1
MPLS DEBUG net/mpls/mpls_opcode.c:41:mpls_finish: enter
MPLS DEBUG net/mpls/mpls_opcode.c:54:mpls_finish: exit
MPLS mpls_skb_dump: from eth1 with len 88 (296)headroom=16 tailroom=24
3c343e4d61722032352031383a31353a{000101404500005400014000400122a60b000101#0b
000102080081bd16010100406321db000a11f608090a0b0c0d0e0f101112131415161718191a
1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637}30
MPLS DEBUG net/mpls/mpls_output.c:66:mpls_send: using hh
MPLS DEBUG net/mpls/mpls_output.c:79:mpls_send: mpls_send result 0
MPLS DEBUG net/mpls/mpls_output.c:182:mpls_output2: exit
MPLS DEBUG net/mpls/mpls_output.c:135:mpls_output2: enter
MPLS DEBUG net/mpls/mpls_output.c:148:mpls_output2: opcode PUSH
MPLS DEBUG net/mpls/mpls_opcode.c:106:mpls_push: enter
MPLS DEBUG net/mpls/mpls_opcode.c:130:mpls_push: using tailroom
MPLS DEBUG net/mpls/mpls_opcode.c:134:mpls_push: done using tailroom
MPLS DEBUG net/mpls/mpls_opcode.c:181:mpls_push: exit
MPLS DEBUG net/mpls/mpls_output.c:148:mpls_output2: opcode SET
MPLS DEBUG net/mpls/mpls_output.c:55:mpls_send: output device = eth1
MPLS DEBUG net/mpls/mpls_opcode.c:41:mpls_finish: enter
MPLS DEBUG net/mpls/mpls_opcode.c:54:mpls_finish: exit
MPLS mpls_skb_dump: from eth1 with len 88 (296)headroom=16 tailroom=24
3c343e4d61722032352031383a31353a{000101404500005400024000400122a50b000101#0b
0001020800864016010200406321dc000a0c7208090a0b0c0d0e0f101112131415161718191a
1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637}30
MPLS DEBUG net/mpls/mpls_output.c:66:mpls_send: using hh
MPLS DEBUG net/mpls/mpls_output.c:79:mpls_send: mpls_send result 0
MPLS DEBUG net/mpls/mpls_output.c:182:mpls_output2: exit
Something isn't implemented in here
DMESG UML2:
MPLS DEBUG net/mpls/mpls_ioctls.c:109:mpls_ioctl: IOCTL Add NHLFE 35847
MPLS DEBUG net/mpls/mpls_out_info.c:322:mpls_add_out_label: enter
MPLS DEBUG net/mpls/mpls_out_info.c:395:mpls_add_out_label: added MOI-NHLFE
moi-2
MPLS DEBUG net/mpls/mpls_out_info.c:396:mpls_add_out_label: exit
MPLS DEBUG net/mpls/mpls_ioctls.c:180:mpls_ioctl: IOCTL Set OUT Instr. 35864
MPLS DEBUG include/net/mpls.h:665:mpls_out_info_hold: moi-2-get 3
MPLS DEBUG net/mpls/mpls_opcode_all.c:203:mpls_build_opcode_push: enter
MPLS DEBUG net/mpls/mpls_opcode_all.c:216:mpls_build_opcode_push: exit
MPLS DEBUG net/mpls/mpls_opcode_all.c:853:mpls_build_opcode_set: enter
MPLS DEBUG net/mpls/mpls_dst.c:170:mpls_dst_alloc: enter
MPLS DEBUG net/mpls/mpls_dst.c:229:mpls_dst_alloc: exit(a18b19e0)
MPLS DEBUG net/mpls/mpls_opcode_all.c:918:mpls_build_opcode_set: exit
MPLS DEBUG net/mpls/mpls_utils.c:349:mpls_instr_register: enter
MPLS DEBUG net/mpls/mpls_utils.c:352:mpls_instr_register: registering
OP-00-PUSH
MPLS DEBUG net/mpls/mpls_utils.c:356:mpls_instr_register: exit
MPLS DEBUG net/mpls/mpls_utils.c:349:mpls_instr_register: enter
MPLS DEBUG net/mpls/mpls_utils.c:352:mpls_instr_register: registering
OP-01-SET
MPLS DEBUG net/mpls/mpls_utils.c:356:mpls_instr_register: exit
MPLS DEBUG net/mpls/mpls_ioctls.c:132:mpls_ioctl: IOCTL Add ILM 35850
MPLS DEBUG net/mpls/mpls_in_info.c:463:mpls_add_in_label: enter
MPLS DEBUG net/mpls/mpls_in_info.c:293:mpls_destroy_in_instrs: enter
MPLS DEBUG net/mpls/mpls_utils.c:557:mpls_instrs_unregister: enter
MPLS DEBUG net/mpls/mpls_utils.c:563:mpls_instrs_unregister: exit
MPLS DEBUG net/mpls/mpls_in_info.c:296:mpls_destroy_in_instrs: exit
MPLS DEBUG net/mpls/mpls_in_info.c:322:mpls_set_in_instrs: built: 2 for MII
mii-gen:16:0-65537
MPLS DEBUG net/mpls/mpls_utils.c:349:mpls_instr_register: enter
MPLS DEBUG net/mpls/mpls_utils.c:352:mpls_instr_register: registering
OP-00-POP
MPLS DEBUG net/mpls/mpls_utils.c:356:mpls_instr_register: exit
MPLS DEBUG net/mpls/mpls_utils.c:349:mpls_instr_register: enter
MPLS DEBUG net/mpls/mpls_utils.c:352:mpls_instr_register: registering
OP-01-PEEK
MPLS DEBUG net/mpls/mpls_utils.c:356:mpls_instr_register: exit
MPLS DEBUG net/mpls/mpls_in_info.c:557:mpls_add_in_label: exit
MPLS DEBUG net/mpls/mpls_ioctls.c:59:mpls_ioctl: IOCTL Set LabelSpace
MPLS DEBUG net/mpls/mpls_if.c:176:__mpls_set_labelspace: enter
MPLS DEBUG net/mpls/mpls_if.c:198:__mpls_set_labelspace: exit
MPLS DEBUG net/mpls/mpls_input.c:240:mpls_skb_recv: enter
MPLS mpls_skb_dump: from eth1 with len 88 (1704)headroom=30 tailroom=1418
00000000000000000000000000000000*fefd0b000102fefd0b0001018847{00010140450000
5400004000400122a70b0001010b00010208007acc130100004063214800091d7b08090a0b0c
0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132
3334353637}00
MPLS DEBUG net/mpls/mpls_input.c:256:mpls_skb_recv: unicast packet recv on
if. w/o labelspace
MPLS DEBUG net/mpls/mpls_input.c:303:mpls_skb_recv: exit(DROP)
MPLS DEBUG net/mpls/mpls_input.c:240:mpls_skb_recv: enter
MPLS mpls_skb_dump: from eth1 with len 88 (1704)headroom=30 tailroom=1418
00000000000000000000000000000000*fefd0b000102fefd0b0001018847{00010140450000
5400014000400122a60b0001010b0001020800e0681301010040632149000ab6dc08090a0b0c
0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132
3334353637}00
MPLS DEBUG net/mpls/mpls_input.c:256:mpls_skb_recv: unicast packet recv on
if. w/o labelspace
MPLS DEBUG net/mpls/mpls_input.c:303:mpls_skb_recv: exit(DROP)
MPLS DEBUG net/mpls/mpls_input.c:240:mpls_skb_recv: enter
MPLS mpls_skb_dump: from eth1 with len 88 (1704)headroom=30 tailroom=1418
00000000000000000000000000000000*fefd0b000102fefd0b0001018847{00010140450000
5400024000400122a50b0001010b0001020800547d130102004063214a000b41c608090a0b0c
0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132
3334353637}00
MPLS DEBUG net/mpls/mpls_input.c:256:mpls_skb_recv: unicast packet recv on
if. w/o labelspace
MPLS DEBUG net/mpls/mpls_input.c:303:mpls_skb_recv: exit(DROP)
MPLS DEBUG net/mpls/mpls_input.c:240:mpls_skb_recv: enter
MPLS mpls_skb_dump: from eth1 with len 88 (1704)headroom=30 tailroom=1418
00000000000000000000000000000000*fefd0b000102fefd0b0001018847{00010140450000
5400034000400122a40b0001010b00010208002d01130103004063214b000b684108090a0b0c
0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132
3334353637}00
MPLS DEBUG net/mpls/mpls_input.c:256:mpls_skb_recv: unicast packet recv on
if. w/o labelspace
MPLS DEBUG net/mpls/mpls_input.c:303:mpls_skb_recv: exit(DROP)
MPLS DEBUG net/mpls/mpls_input.c:240:mpls_skb_recv: enter
MPLS mpls_skb_dump: from eth1 with len 88 (1704)headroom=30 tailroom=1418
00000000000000000000000000000000*fefd0b000102fefd0b0001018847{00010140450000
5400044000400122a30b0001010b00010208002c9c130104004063214c000b67a508090a0b0c
0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132
3334353637}00
MPLS DEBUG net/mpls/mpls_input.c:256:mpls_skb_recv: unicast packet recv on
if. w/o labelspace
MPLS DEBUG net/mpls/mpls_input.c:303:mpls_skb_recv: exit(DROP)
MPLS DEBUG net/mpls/mpls_input.c:240:mpls_skb_recv: enter
MPLS mpls_skb_dump: from eth1 with len 88 (1704)headroom=30 tailroom=1418
00000000000000000000000000000000*fefd0b000102fefd0b0001018847{00010140450000
5400004000400122a70b0001010b0001020800e82916010000406321da0008ac8c08090a0b0c
0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132
3334353637}00
MPLS DEBUG net/mpls/mpls_input.c:256:mpls_skb_recv: unicast packet recv on
if. w/o labelspace
MPLS DEBUG net/mpls/mpls_input.c:303:mpls_skb_recv: exit(DROP)
MPLS DEBUG net/mpls/mpls_input.c:240:mpls_skb_recv: enter
MPLS mpls_skb_dump: from eth1 with len 88 (1704)headroom=30 tailroom=1418
00000000000000000000000000000000*fefd0b000102fefd0b0001018847{00010140450000
5400014000400122a60b0001010b000102080081bd16010100406321db000a11f608090a0b0c
0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132
3334353637}00
MPLS DEBUG net/mpls/mpls_input.c:256:mpls_skb_recv: unicast packet recv on
if. w/o labelspace
MPLS DEBUG net/mpls/mpls_input.c:303:mpls_skb_recv: exit(DROP)
MPLS DEBUG net/mpls/mpls_input.c:240:mpls_skb_recv: enter
MPLS mpls_skb_dump: from eth1 with len 88 (1704)headroom=30 tailroom=1418
00000000000000000000000000000000*fefd0b000102fefd0b0001018847{00010140450000
5400024000400122a50b0001010b0001020800864016010200406321dc000a0c7208090a0b0c
0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132
3334353637}00
MPLS DEBUG net/mpls/mpls_input.c:256:mpls_skb_recv: unicast packet recv on
if. w/o labelspace
MPLS DEBUG net/mpls/mpls_input.c:303:mpls_skb_recv: exit(DROP)
Something isn't implemented in here
Josef Perlinger
Student FH-Sbg/TKS 2000
Tel.: +43 664 4024906
ICQ: 166227595
Email: jo...@pe...
|
|
From: Ramon C. <cas...@in...> - 2004-03-25 20:01:24
|
On Thu, 25 Mar 2004, Josef Perlinger wrote:
MPLS DEBUG net/mpls/mpls_input.c:256:mpls_skb_recv: unicast packet recv on
if. w/o labelspace
MPLS DEBUG net/mpls/mpls_input.c:303:mpls_skb_recv: exit(DROP)
This usually means that you recived a packet on an interface that was not
"MPLS enabled", that is, the labelspace is -1. So the kernel network stack
actually hands over the frame to the MPLS module, but it has not allocated
the required data structs for the incoming interface so it drops the
packet...
Could you please try setting a labelspace (let it be 0) for the used
interfaces and try again? I *do* see that the is an IOCTL to set the
labelspace, but could you please check after that it has really been set?
Maybe you spot a bug..
PS: I will add some code to mpls_input so we get the name of the interface
displayed...
thanks,
Ramon
> Ping from UML1 to UML2
...
> MPLS DEBUG net/mpls/mpls_ioctls.c:59:mpls_ioctl: IOCTL Set LabelSpace
> MPLS DEBUG net/mpls/mpls_if.c:176:__mpls_set_labelspace: enter
> MPLS DEBUG net/mpls/mpls_if.c:198:__mpls_set_labelspace: exit
...
> MPLS DEBUG net/mpls/mpls_input.c:240:mpls_skb_recv: enter
> MPLS mpls_skb_dump: from eth1 with len 88 (1704)headroom=30 tailroom=1418
> 00000000000000000000000000000000*fefd0b000102fefd0b0001018847{00010140450000
> 5400004000400122a70b0001010b00010208007acc130100004063214800091d7b08090a0b0c
> 0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132
> 3334353637}00
> MPLS DEBUG net/mpls/mpls_input.c:256:mpls_skb_recv: unicast packet recv on
> if. w/o labelspace
> MPLS DEBUG net/mpls/mpls_input.c:303:mpls_skb_recv: exit(DROP)
> Something isn't implemented in here
Most probably :)
R.
|
|
From: Josef P. <jo...@pe...> - 2004-03-25 23:59:06
|
Hello Ramon,
I've tried to setup the Labelspace explicit f=FCr the used interfaces as =
you
suggested with the command:
mplsadm2 -L eth1:0
--> SUCCESS... :-)=20
but it didn't really work because
the cat /proc/net/mpls/labelspaces always returned me a -1 for my eth1
interface=20
---> Debug MSG for eth1:0
MPLS DEBUG net/mpls/mpls_ioctls.c:59:mpls_ioctl: IOCTL Set LabelSpace=20
MPLS DEBUG net/mpls/mpls_if.c:176:__mpls_set_labelspace: enter
--> for eth2:0 - a not mpls configured interface the labelspace set
worked....
MPLS DEBUG net/mpls/mpls_if.c:190:__mpls_set_labelspace: Set labelspace =
for
eth2 to 0
MPLS DEBUG net/mpls/mpls_if.c:198:__mpls_set_labelspace: exit
So I rebooted my 2 UMLs then and entered the command for setting =
labelspace
before all other mplsadm commands=20
--> yeah the ping was fine :-)
My Commands:
mplsadm2 -L eth1:0
mplsadm2 -A -O 0=20
mplsadm2 -O 0x2 -o push:gen:17:set:eth1:ipv4:11.0.1.1=20
ip route add 11.0.1.1/32 via 11.0.1.1 spec_nh 0x8847 0x2=20
mplsadm2 -A -I gen:16:0;=20
mplsadm2 -L eth1:0
Is this normal, that you have to enter the mplsadm2 -L eth1:0 command =
before
all others?
best regards
josef
-----Urspr=FCngliche Nachricht-----
Von: mpl...@li...
[mailto:mpl...@li...] Im Auftrag von =
Ramon
Casellas
Gesendet: Donnerstag, 25. M=E4rz 2004 22:01
An: Josef Perlinger
Cc: mpl...@li...
Betreff: Re: [mpls-linux-general] Ping Problem
On Thu, 25 Mar 2004, Josef Perlinger wrote:
MPLS DEBUG net/mpls/mpls_input.c:256:mpls_skb_recv: unicast packet recv =
on
if. w/o labelspace MPLS DEBUG net/mpls/mpls_input.c:303:mpls_skb_recv:
exit(DROP)
This usually means that you recived a packet on an interface that was =
not=20
"MPLS enabled", that is, the labelspace is -1. So the kernel network =
stack
actually hands over the frame to the MPLS module, but it has not =
allocated=20
the required data structs for the incoming interface so it drops the=20
packet...
Could you please try setting a labelspace (let it be 0) for the used=20
interfaces and try again? I *do* see that the is an IOCTL to set the=20
labelspace, but could you please check after that it has really been =
set?
Maybe you spot a bug..
PS: I will add some code to mpls_input so we get the name of the =
interface=20
displayed...
thanks,
Ramon
> Ping from UML1 to UML2
...
> MPLS DEBUG net/mpls/mpls_ioctls.c:59:mpls_ioctl: IOCTL Set LabelSpace=20
> MPLS DEBUG net/mpls/mpls_if.c:176:__mpls_set_labelspace: enter
> MPLS DEBUG net/mpls/mpls_if.c:198:__mpls_set_labelspace: exit
...
> MPLS DEBUG net/mpls/mpls_input.c:240:mpls_skb_recv: enter
> MPLS mpls_skb_dump: from eth1 with len 88 (1704)headroom=3D30 =
tailroom=3D1418
>
00000000000000000000000000000000*fefd0b000102fefd0b0001018847{00010140450=
000
>
5400004000400122a70b0001010b00010208007acc130100004063214800091d7b08090a0=
b0c
>
0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303=
132
> 3334353637}00
> MPLS DEBUG net/mpls/mpls_input.c:256:mpls_skb_recv: unicast packet =
recv on
> if. w/o labelspace
> MPLS DEBUG net/mpls/mpls_input.c:303:mpls_skb_recv: exit(DROP)
> Something isn't implemented in here
Most probably :)
R.
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=3D1470&alloc_id=3D3638&op=3Dcli=
ck
_______________________________________________
mpls-linux-general mailing list
mpl...@li...
https://lists.sourceforge.net/lists/listinfo/mpls-linux-general
|
|
From: Ramon C. <cas...@in...> - 2004-03-26 06:27:56
|
On Fri, 26 Mar 2004, Josef Perlinger wrote: > Hello Ramon, > --> yeah the ping was fine :-) > > My Commands: > > mplsadm2 -L eth1:0 > mplsadm2 -A -O 0 > mplsadm2 -O 0x2 -o push:gen:17:set:eth1:ipv4:11.0.1.1 > ip route add 11.0.1.1/32 via 11.0.1.1 spec_nh 0x8847 0x2 > mplsadm2 -A -I gen:16:0; > mplsadm2 -L eth1:0 > > Is this normal, that you have to enter the mplsadm2 -L eth1:0 command before > all others? Yes, at least, before any set command that uses the interface. What we usually do is to set them at the beginning. Glad it worked Regards, Ramon |
|
From: James R. L. <jl...@mi...> - 2004-03-26 18:02:02
|
I wonder if he found a bug. It seems to be triggered when he issues
an "ILM" add before setting the labelspace. In the code we create the
mpls_interface as part of the "ILM" add (if it doesn't already exist).
We also create the mpls_interface when we set a labelspace (if it doesn't
already exist). Maybe the mpls_interface that is create as part of a "ILM"
add is corrupt?
On Thu, Mar 25, 2004 at 10:01:23PM +0100, Ramon Casellas wrote:
> On Thu, 25 Mar 2004, Josef Perlinger wrote:
>
>
> MPLS DEBUG net/mpls/mpls_input.c:256:mpls_skb_recv: unicast packet recv on
> if. w/o labelspace
> MPLS DEBUG net/mpls/mpls_input.c:303:mpls_skb_recv: exit(DROP)
>
>
> This usually means that you recived a packet on an interface that was not
> "MPLS enabled", that is, the labelspace is -1. So the kernel network stack
> actually hands over the frame to the MPLS module, but it has not allocated
> the required data structs for the incoming interface so it drops the
> packet...
>
>
> Could you please try setting a labelspace (let it be 0) for the used
> interfaces and try again? I *do* see that the is an IOCTL to set the
> labelspace, but could you please check after that it has really been set?
> Maybe you spot a bug..
>
> PS: I will add some code to mpls_input so we get the name of the interface
> displayed...
>
>
> thanks,
> Ramon
>
>
>
>
> > Ping from UML1 to UML2
>
> ...
> > MPLS DEBUG net/mpls/mpls_ioctls.c:59:mpls_ioctl: IOCTL Set LabelSpace
> > MPLS DEBUG net/mpls/mpls_if.c:176:__mpls_set_labelspace: enter
> > MPLS DEBUG net/mpls/mpls_if.c:198:__mpls_set_labelspace: exit
> ...
> > MPLS DEBUG net/mpls/mpls_input.c:240:mpls_skb_recv: enter
> > MPLS mpls_skb_dump: from eth1 with len 88 (1704)headroom=30 tailroom=1418
> > 00000000000000000000000000000000*fefd0b000102fefd0b0001018847{00010140450000
> > 5400004000400122a70b0001010b00010208007acc130100004063214800091d7b08090a0b0c
> > 0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132
> > 3334353637}00
> > MPLS DEBUG net/mpls/mpls_input.c:256:mpls_skb_recv: unicast packet recv on
> > if. w/o labelspace
> > MPLS DEBUG net/mpls/mpls_input.c:303:mpls_skb_recv: exit(DROP)
>
>
>
> > Something isn't implemented in here
>
> Most probably :)
>
> R.
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: IBM Linux Tutorials
> Free Linux tutorial presented by Daniel Robbins, President and CEO of
> GenToo technologies. Learn everything from fundamentals to system
> administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
> _______________________________________________
> mpls-linux-general mailing list
> mpl...@li...
> https://lists.sourceforge.net/lists/listinfo/mpls-linux-general
--
James R. Leu
jl...@mi...
|
|
From: Ramon C. <cas...@in...> - 2004-03-26 20:37:56
|
On Fri, 26 Mar 2004, James R. Leu wrote:
> I wonder if he found a bug. It seems to be triggered when he issues
> an "ILM" add before setting the labelspace. In the code we create the
I think that the case where the labelspace was changed without being reset
(something that I did not happen to test) was not considered.
What about:
static int
__mpls_set_labelspace (struct net_device *dev, int labelspace)
{
struct mpls_interface *mpls_ptr = NULL;
MPLS_ENTER;
if (!dev->mpls_ptr) {
if (labelspace != -1) {
mpls_ptr = mpls_create_if_info ();
if (unlikely(!mpls_ptr)) {
MPLS_DEBUG("Set labelspace for %s to %d
failed\n",
dev->name, labelspace);
MPLS_EXIT;
return -ENOMEM;
}
/* Actual assignment happens here */
mpls_ptr->labelspace = labelspace;
dev->mpls_ptr = (void*)mpls_ptr;
MPLS_DEBUG("Set labelspace for %s to %d\n",
dev->name, labelspace);
}
} else {
if (labelspace == -1) {
MPLS_DEBUG("Resetting labelspace for %s to %d\n",
dev->name,-1);
mpls_delete_if_info (dev->mpls_ptr);
dev->mpls_ptr = NULL;
} else {
dev->mpls_ptr->labelspace = labelspace;
}
}
MPLS_EXIT;
return 0;
}
(not comitted in p4 yet) although I am not convinced that this was the
cause of Josef's problems....
Comments?
R.
|