mpls-linux-general Mailing List for MPLS for Linux (Page 145)
Status: Beta
Brought to you by:
jleu
You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
(26) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(22) |
Feb
(19) |
Mar
(19) |
Apr
(45) |
May
(52) |
Jun
(101) |
Jul
(79) |
Aug
(24) |
Sep
(43) |
Oct
(54) |
Nov
(71) |
Dec
(53) |
2002 |
Jan
(111) |
Feb
(123) |
Mar
(67) |
Apr
(61) |
May
(75) |
Jun
(26) |
Jul
(36) |
Aug
(41) |
Sep
(79) |
Oct
(85) |
Nov
(58) |
Dec
(39) |
2003 |
Jan
(26) |
Feb
(61) |
Mar
(80) |
Apr
(56) |
May
(39) |
Jun
(44) |
Jul
(28) |
Aug
(25) |
Sep
(4) |
Oct
(20) |
Nov
(38) |
Dec
(9) |
2004 |
Jan
(14) |
Feb
(14) |
Mar
(68) |
Apr
(17) |
May
(45) |
Jun
(42) |
Jul
(41) |
Aug
(23) |
Sep
(46) |
Oct
(89) |
Nov
(55) |
Dec
(33) |
2005 |
Jan
(74) |
Feb
(39) |
Mar
(105) |
Apr
(96) |
May
(43) |
Jun
(48) |
Jul
(21) |
Aug
(22) |
Sep
(33) |
Oct
(28) |
Nov
(29) |
Dec
(81) |
2006 |
Jan
(37) |
Feb
(32) |
Mar
(147) |
Apr
(37) |
May
(33) |
Jun
(28) |
Jul
(15) |
Aug
(20) |
Sep
(15) |
Oct
(23) |
Nov
(30) |
Dec
(40) |
2007 |
Jan
(20) |
Feb
(24) |
Mar
(65) |
Apr
(69) |
May
(41) |
Jun
(53) |
Jul
(39) |
Aug
(76) |
Sep
(53) |
Oct
(43) |
Nov
(26) |
Dec
(24) |
2008 |
Jan
(19) |
Feb
(67) |
Mar
(91) |
Apr
(75) |
May
(47) |
Jun
(63) |
Jul
(68) |
Aug
(39) |
Sep
(44) |
Oct
(33) |
Nov
(62) |
Dec
(84) |
2009 |
Jan
(14) |
Feb
(39) |
Mar
(55) |
Apr
(63) |
May
(16) |
Jun
(9) |
Jul
(4) |
Aug
(6) |
Sep
(1) |
Oct
(2) |
Nov
(10) |
Dec
(5) |
2010 |
Jan
(3) |
Feb
(1) |
Mar
(5) |
Apr
(13) |
May
(4) |
Jun
(5) |
Jul
(2) |
Aug
(8) |
Sep
(6) |
Oct
(1) |
Nov
(2) |
Dec
(2) |
2011 |
Jan
(1) |
Feb
(21) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
(6) |
Sep
|
Oct
|
Nov
(2) |
Dec
(6) |
2012 |
Jan
(5) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(5) |
Aug
(3) |
Sep
(6) |
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
From: James R. L. <jl...@mi...> - 2002-02-28 15:52:32
|
This brings up a very good point: Should there be a default set of DSCP -> EXP bit mapping in the kernel (and EXP bits -> DSCP)? The default behavior is not to do EXP or DSCP mappings. By specifing ds2exp or exp2ds without any values, the default set of mappings would be used. By specifing values you override the default mapping. Do people think I should also add the name to DSCP value mapping in mplsadm? What about in the kernel output in /proc/net/mpls_*? BTW, yes I like your mappings. I would like thme included it the MPLS+DiffServ how-to when it is written (any volenteers ;-) Jim On Thu, Feb 28, 2002 at 04:33:17PM +0100, pim...@in... wrote: > > This is due to the value you assigned to the mask used by ds2exp (0xf). The role of the mask is the following: a 64-sized array is used to maintain ds-exp couples; the exp value is stored in the element of index ds & mask. When a packet must be sent, its DSCP is ANDed with mask and the result is the index of the element which contain the EXP to set. > > here what I plan to use in the next RSVP-TE release: > > ds2exp:0x38:0xa:1:0x12:2:0x1a:3:0x22:4:0x2e:5 > > This maps: > AF1x -> 1 > AF2x -> 2 > AF3x -> 3 > AF4x -> 4 > EF -> 5 > > with: > (this code is GPL'ed ;) > // DSCPstring -> DSCPnum > struct {char a[4]; uint8_t b;} dscpe [] = { > {"BE", 0 }, > {"AF11", 0x0a}, > {"AF12", 0x0c}, > {"AF13", 0x0e}, > {"AF21", 0x12}, > {"AF22", 0x14}, > {"AF23", 0x16}, > {"AF31", 0x1a}, > {"AF32", 0x1c}, > {"AF33", 0x1e}, > {"AF41", 0x22}, > {"AF42", 0x24}, > {"AF43", 0x26}, > {"EF", 0x2e}}; > > Any comments or thoughts on this mapping? > > Pim. > > > This means that in your examples also packets with DSCP of 0x1e, 0x3e, 0x4e... will be marked with an EXP of 0x06. > > If you don't want this, use a mask of 0x3f (the maximum allowed) > > > > > I think in my last mail, I mentioned this occurred with the exp2ds, my > > > mistake... it is for ds2exp as shown above. > > > > > > A3) "mpls_in" for origin edge MPLS router. > > > > > > --------------START----------------------------------------- > > > > > > 0x40031c00 70/6952/0 gen 199 0 1 POP EXP2DS( EXP(2)->DS(1a) ) PEEK > > > > > > --------------END-------------------------------------------- > > > > > > B1) Script for edge MPLS router at other end. > > > > > > --------------SCRIPT STARTS----------------------------------------- > > > > > > #!/bin/sh > > > # Mplsadm path > > > MPLSADM=/usr/src/SW/mpls-beta-1_128/mpls-linux-1128/utils/mplsadm2 > > > $MPLSADM -d > > > $MPLSADM -v -L eth1:0 > > > $MPLSADM -v -A -I gen:199:0 > > > $MPLSADM -v -A -O gen:19:eth1:ipv4:192.168.0.129 > > > OUT_KEY_19=$(grep 'gen 19' /proc/net/mpls_out | cut -c3-10) > > > $MPLSADM -v -O key:$OUT_KEY_19 -o > > > set_exp:2:push:gen:19:set:eth1:ipv4:192.168.0.129 > > > iptables -A OUTPUT -d 192.168.0.168/29 -j MPLS --set-key $OUT_KEY_19 > > > iptables -A FORWARD -d 192.168.0.168/29 -j MPLS --set-key $OUT_KEY_19 > > > $MPLSADM -d > > > > > > > > > --------------SCRIPT ENDS-------------------------------------------- > > > > > > The above marks outgoing packets with EXP of 2. > > > > > > Thus from the above script A1), the origin edge router when receiving a > > > incoming packet with EXP 2 from router which has ran script B1), it should > > > mark the DSCP of the packet to 0x1a before forwarding it, right? But, it > > > doesn't, it always marks it to a value of 0x3e, and I am unsure why... > > > > > > > Are you sure that at the origin edge router packets arrive with EXP 2 ? > > Since I have some doubt that set_exp works correctly, could you try an equivalent instruction (e.g. ds2exp) ? > > If this test works, problems are due to set_exp... > > > > Let me know, > > Stefano > > > > _______________________________________________ > > mpls-linux-general mailing list > > mpl...@li... > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > -- > Pim Van Heuven Ghent University - IMEC > Department of Information Technology (INTEC) > Sint-Pietersnieuwstraat, 41 B-9000, Gent, Belgium > pim...@in... > DiffServ/MPLS(RSVP-TE) for Linux: > http://dsmpls.atlantis.rug.ac.be > > > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general -- James R. Leu |
From: <pim...@in...> - 2002-02-28 15:34:36
|
> This is due to the value you assigned to the mask used by ds2exp (0xf). The role of the mask is the following: a 64-sized array is used to maintain ds-exp couples; the exp value is stored in the element of index ds & mask. When a packet must be sent, its DSCP is ANDed with mask and the result is the index of the element which contain the EXP to set. here what I plan to use in the next RSVP-TE release: ds2exp:0x38:0xa:1:0x12:2:0x1a:3:0x22:4:0x2e:5 This maps: AF1x -> 1 AF2x -> 2 AF3x -> 3 AF4x -> 4 EF -> 5 with: (this code is GPL'ed ;) // DSCPstring -> DSCPnum struct {char a[4]; uint8_t b;} dscpe [] = { {"BE", 0 }, {"AF11", 0x0a}, {"AF12", 0x0c}, {"AF13", 0x0e}, {"AF21", 0x12}, {"AF22", 0x14}, {"AF23", 0x16}, {"AF31", 0x1a}, {"AF32", 0x1c}, {"AF33", 0x1e}, {"AF41", 0x22}, {"AF42", 0x24}, {"AF43", 0x26}, {"EF", 0x2e}}; Any comments or thoughts on this mapping? Pim. > This means that in your examples also packets with DSCP of 0x1e, 0x3e, 0x4e... will be marked with an EXP of 0x06. > If you don't want this, use a mask of 0x3f (the maximum allowed) > > > I think in my last mail, I mentioned this occurred with the exp2ds, my > > mistake... it is for ds2exp as shown above. > > > > A3) "mpls_in" for origin edge MPLS router. > > > > --------------START----------------------------------------- > > > > 0x40031c00 70/6952/0 gen 199 0 1 POP EXP2DS( EXP(2)->DS(1a) ) PEEK > > > > --------------END-------------------------------------------- > > > > B1) Script for edge MPLS router at other end. > > > > --------------SCRIPT STARTS----------------------------------------- > > > > #!/bin/sh > > # Mplsadm path > > MPLSADM=/usr/src/SW/mpls-beta-1_128/mpls-linux-1128/utils/mplsadm2 > > $MPLSADM -d > > $MPLSADM -v -L eth1:0 > > $MPLSADM -v -A -I gen:199:0 > > $MPLSADM -v -A -O gen:19:eth1:ipv4:192.168.0.129 > > OUT_KEY_19=$(grep 'gen 19' /proc/net/mpls_out | cut -c3-10) > > $MPLSADM -v -O key:$OUT_KEY_19 -o > > set_exp:2:push:gen:19:set:eth1:ipv4:192.168.0.129 > > iptables -A OUTPUT -d 192.168.0.168/29 -j MPLS --set-key $OUT_KEY_19 > > iptables -A FORWARD -d 192.168.0.168/29 -j MPLS --set-key $OUT_KEY_19 > > $MPLSADM -d > > > > > > --------------SCRIPT ENDS-------------------------------------------- > > > > The above marks outgoing packets with EXP of 2. > > > > Thus from the above script A1), the origin edge router when receiving a > > incoming packet with EXP 2 from router which has ran script B1), it should > > mark the DSCP of the packet to 0x1a before forwarding it, right? But, it > > doesn't, it always marks it to a value of 0x3e, and I am unsure why... > > > > Are you sure that at the origin edge router packets arrive with EXP 2 ? > Since I have some doubt that set_exp works correctly, could you try an equivalent instruction (e.g. ds2exp) ? > If this test works, problems are due to set_exp... > > Let me know, > Stefano > > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general -- Pim Van Heuven Ghent University - IMEC Department of Information Technology (INTEC) Sint-Pietersnieuwstraat, 41 B-9000, Gent, Belgium pim...@in... DiffServ/MPLS(RSVP-TE) for Linux: http://dsmpls.atlantis.rug.ac.be |
From: <pim...@in...> - 2002-02-28 15:21:16
|
Hi all, Now we're on the subject of CVS. The web CVS brouwser has a bug. That is when you <view> the 128 branch of mplsadm.c you get the correct version but if you <download> it you get something else (pre 1.1x I suppose -> netlink calls). The URL in the download pop up looks correct to me. I verified this behavior on two different brouwsers (NS 4.x and konqueror). The kernel patch download works fine. Kinda confusing. Pim. "James R. Leu" wrote: > > If you didn't pull the correct "revision" when you initially retrieved the > modules, you will need to add a '-d' option when retrieving the new "revision". > > cvs update -d > > On Thu, Feb 28, 2002 at 02:44:46PM +0800, clz wrote: > > Hi,Jim > > > > In my file folder "\ldp-portable-0.060",there is not a folder called 'linux-port". In this case when I run the "cvs" command, I can't get or update the folder. Is it right? How can I resolve the problem? > > In addition, when I use the "cvs" to update the ldp-linux,is it necessary to update the mpls-linux? > > > > Best Regards > > > > cuilz > > ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü:¢æ?SÿügÊ?«~·?ÿ&¡¢?Ü¢f?v·¬±«a¶ÚÿÿùsS_òj(ýÊ&ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæ¦[ÿ-)îÇø?êÚ-f¢-)à-+-s?lþX§»àzw«j_åSËlþÊ.ÇY¢¸þw?Ûi³ÿÿ-+-³û(º·~Sà{ùÞ·ùb²Û?-+-Swèþje³ùb?ìÿ?éÞ > > -- > James R. Leu > > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general -- Pim Van Heuven Ghent University - IMEC Department of Information Technology (INTEC) Sint-Pietersnieuwstraat, 41 B-9000, Gent, Belgium pim...@in... DiffServ/MPLS(RSVP-TE) for Linux: http://dsmpls.atlantis.rug.ac.be |
From: James R. L. <jl...@mi...> - 2002-02-28 14:54:13
|
If you didn't pull the correct "revision" when you initially retrieved the modules, you will need to add a '-d' option when retrieving the new "revisi= on". cvs update -d On Thu, Feb 28, 2002 at 02:44:46PM +0800, clz wrote: > Hi,Jim > =20 > In my file folder "\ldp-portable-0.060",there is not a folder called = 'linux-port". In this case when I run the "cvs" command, I can't get or upd= ate the folder. Is it right? How can I resolve the problem?=20 > In addition, when I use the "cvs" to update the ldp-linux,is it neces= sary to update the mpls-linux?=20 >=20 > Best Regards >=20 > cuilz > =FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF= =FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FC:=18=A2=E6=1A=86= =8A=FF=FCg=AD=CA=8B=AB~=B7=9E=FF&=A1=A2=8F=DC=A2f=9Dv=B7=AC=B1=ABa=B6=DA=FF= =FF=F9=9A=8A_=F2j=1A(=FD=CA&=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF= =FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=E6=A6[=FF=96)= =EE=C7=F8=1E=9D=EA=DA=96f=A2=96)=E0=96+-=9A=99l=FEX=A7=BB=1F=E0zw=ABj_=E5= =8A=CBl=FE=CA.=AD=C7=9F=A2=B8=1E=FEw=AD=86=DBi=B3=FF=FF=96+-=B3=FB(=BA=B7= =1E~=8A=E0{=F9=DE=B7=F9b=B2=DB?=96+-=8Aw=E8=FEje=B3=F9b=9E=EC=FF=81=E9=DE --=20 James R. Leu |
From: clz <cui...@ya...> - 2002-02-28 06:49:54
|
SGksSmltDQogICAgDQogICAgSW4gbXkgZmlsZSBmb2xkZXIgIlxsZHAtcG9ydGFibGUtMC4wNjAi LHRoZXJlIGlzIG5vdCBhIGZvbGRlciBjYWxsZWQgJ2xpbnV4LXBvcnQiLiBJbiB0aGlzIGNhc2Ug d2hlbiBJIHJ1biB0aGUgImN2cyIgY29tbWFuZCwgSSBjYW4ndCBnZXQgb3IgdXBkYXRlIHRoZSBm b2xkZXIuIElzIGl0IHJpZ2h0PyBIb3cgY2FuIEkgcmVzb2x2ZSB0aGUgcHJvYmxlbT8gDQogICAg SW4gYWRkaXRpb24sIHdoZW4gSSB1c2UgdGhlICJjdnMiIHRvIHVwZGF0ZSB0aGUgbGRwLWxpbnV4 LGlzIGl0IG5lY2Vzc2FyeSB0byB1cGRhdGUgdGhlIG1wbHMtbGludXg/IA0KDQpCZXN0IFJlZ2Fy ZHMNCg0KY3VpbHoNCg== _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com |
From: James R. L. <jl...@mi...> - 2002-02-28 01:37:15
|
On Thu, Feb 28, 2002 at 08:32:42AM +0800, clz wrote: > Hi,all > In a former email,I know that "the current LDP-linux is not CD-LDP".= What does it mean? > It means the ldp core does not support CR-LDP ,or the portable layer does= not support CR-LDP? > Please help me. The core doesn't support the CR attributes. Jim >=20 >=20 > Thanks in advance. > REGARDS >=20 > cuilz >=20 >=20 >=20 > =FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF= =FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FC:=18=A2=E6=1A=86= =8A=FF=FCg=AD=CA=8B=AB~=B7=9E=FF&=A1=A2=8F=DC=A2f=9Dv=B7=AC=B1=ABa=B6=DA=FF= =FF=F9=9A=8A_=F2j=1A(=FD=CA&=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF= =FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=E6=A6[=FF=96)= =EE=C7=F8=1E=9D=EA=DA=96f=A2=96)=E0=96+-=9A=99l=FEX=A7=BB=1F=E0zw=ABj_=E5= =8A=CBl=FE=CA.=AD=C7=9F=A2=B8=1E=FEw=AD=86=DBi=B3=FF=FF=96+-=B3=FB(=BA=B7= =1E~=8A=E0{=F9=DE=B7=F9b=B2=DB?=96+-=8Aw=E8=FEje=B3=F9b=9E=EC=FF=81=E9=DE --=20 James R. Leu |
From: clz <cui...@ya...> - 2002-02-28 00:35:35
|
SGksYWxsDQogICAgIEluIGEgZm9ybWVyIGVtYWlsLEkga25vdyB0aGF0ICJ0aGUgY3VycmVudCBM RFAtbGludXggaXMgbm90IENELUxEUCIuIFdoYXQgZG9lcyBpdCBtZWFuPw0KSXQgbWVhbnMgdGhl IGxkcCBjb3JlIGRvZXMgbm90IHN1cHBvcnQgQ1ItTERQICxvciB0aGUgcG9ydGFibGUgbGF5ZXIg ZG9lcyBub3Qgc3VwcG9ydCBDUi1MRFA/DQpQbGVhc2UgaGVscCBtZS4NCg0KDQpUaGFua3MgaW4g YWR2YW5jZS4NClJFR0FSRFMNCg0KICAgICAgICAgICAgY3VpbHoNCg0KDQoNCg== _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com |
From: clz <cui...@ya...> - 2002-02-28 00:24:50
|
SGksYWxsDQogICAgIEluIGEgZm9ybWVyIGVtYWlsLEkga25vdyB0aGF0ICJ0aGUgY3VycmVudCBM RFAtbGludXggaXMgbm90IENELUxEUCIuIFdoYXQgZG9lcyBpdCBtZWFuPw0KSXQgbWVhbnMgdGhl IGxkcCBjb3JlIGRvZXMgbm90IHN1cHBvcnQgQ1ItTERQICxvciB0aGUgcG9ydGFibGUgbGF5ZXIg ZG9lcyBub3Qgc3VwcG9ydCBDUi1MRFA/DQpQbGVhc2UgaGVscCBtZS4NCg0KDQpUaGFua3MgaW4g YWR2YW5jZS4NClJFR0FSRFMNCg0KICAgICAgICAgICAgY3VpbHoNCg0KDQo= _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com |
From: Stefano A. <avi...@li...> - 2002-02-27 17:46:17
|
Hi Paul > A1) Script for origin edge MPLS router. > > --------------SCRIPT STARTS----------------------------------------- > #!/bin/sh > # Mplsadm path > MPLSADM=/usr/src/SW/mpls-beta-1_128/mpls-linux-1128/utils/mplsadm2 > $MPLSADM -d > $MPLSADM -v -L eth0:0 > $MPLSADM -v -A -O gen:18:eth0:ipv4:192.168.0.161 > OUT_KEY_18=$(grep 'gen 18' /proc/net/mpls_out | cut -c3-10) > $MPLSADM -v -O key:$OUT_KEY_18 -o > ds2exp:0xf:46:6:push:gen:18:set:eth0:ipv4:192.168.0.161 > iptables -A OUTPUT -d 192.168.0.188/30 -j MPLS --set-key $OUT_KEY_18 > iptables -A FORWARD -d 192.168.0.188/30 -j MPLS --set-key $OUT_KEY_18 > $MPLSADM -v -A -I gen:199:0 > $MPLSADM -v -I gen:199:0 -i pop:exp2ds:2:26:peek > $MPLSADM -d > > --------------SCRIPT ENDS-------------------------------------------- > > The above sets outgoing packets with DSCP of 0x2e with EXP of 6. It marks > incoming packets with EXP 2 with DSCP of 0x1a. > > A2) "mpls_out" for origin edge MPLS router. > > --------------START----------------------------------------- > > 0x00000009 69/5796/0 2 DS2EXP( DS(0e)->EXP(06) ) PUSH(gen 18) > SET(eth0,192.168.0.161) > > --------------END-------------------------------------------- > > As you can see, the ds2exp mapping shown is 0xe->0x06, when it should be > 0x2e->0x06. However, the command seems to be executed corrected i.e a > packet with a DSCP of 0x2e is indeed marked with an EXP of 0x06. This is due to the value you assigned to the mask used by ds2exp (0xf). The role of the mask is the following: a 64-sized array is used to maintain ds-exp couples; the exp value is stored in the element of index ds & mask. When a packet must be sent, its DSCP is ANDed with mask and the result is the index of the element which contain the EXP to set. This means that in your examples also packets with DSCP of 0x1e, 0x3e, 0x4e... will be marked with an EXP of 0x06. If you don't want this, use a mask of 0x3f (the maximum allowed) > I think in my last mail, I mentioned this occurred with the exp2ds, my > mistake... it is for ds2exp as shown above. > > A3) "mpls_in" for origin edge MPLS router. > > --------------START----------------------------------------- > > 0x40031c00 70/6952/0 gen 199 0 1 POP EXP2DS( EXP(2)->DS(1a) ) PEEK > > --------------END-------------------------------------------- > > B1) Script for edge MPLS router at other end. > > --------------SCRIPT STARTS----------------------------------------- > > #!/bin/sh > # Mplsadm path > MPLSADM=/usr/src/SW/mpls-beta-1_128/mpls-linux-1128/utils/mplsadm2 > $MPLSADM -d > $MPLSADM -v -L eth1:0 > $MPLSADM -v -A -I gen:199:0 > $MPLSADM -v -A -O gen:19:eth1:ipv4:192.168.0.129 > OUT_KEY_19=$(grep 'gen 19' /proc/net/mpls_out | cut -c3-10) > $MPLSADM -v -O key:$OUT_KEY_19 -o > set_exp:2:push:gen:19:set:eth1:ipv4:192.168.0.129 > iptables -A OUTPUT -d 192.168.0.168/29 -j MPLS --set-key $OUT_KEY_19 > iptables -A FORWARD -d 192.168.0.168/29 -j MPLS --set-key $OUT_KEY_19 > $MPLSADM -d > > > --------------SCRIPT ENDS-------------------------------------------- > > The above marks outgoing packets with EXP of 2. > > Thus from the above script A1), the origin edge router when receiving a > incoming packet with EXP 2 from router which has ran script B1), it should > mark the DSCP of the packet to 0x1a before forwarding it, right? But, it > doesn't, it always marks it to a value of 0x3e, and I am unsure why... > Are you sure that at the origin edge router packets arrive with EXP 2 ? Since I have some doubt that set_exp works correctly, could you try an equivalent instruction (e.g. ds2exp) ? If this test works, problems are due to set_exp... Let me know, Stefano |
From: James R. L. <jl...@mi...> - 2002-02-27 14:44:04
|
I'll look in to the error message coming back from mplsadm2. I need the mpls kernel debug output that results when receiving packets to debug the 'multiple pop' problem :-) Jim On Wed, Feb 27, 2002 at 01:23:09PM +0000, Radu Dragos wrote: > Hi all , > I'm back. > > Before the output result from mplsadm2 -d, I want to emphasize something > else: > > In UML, after: > # ./mplsadm2 -v -A -I gen:17:0 -i pop:peek > > I received: > > In label input: gen:17:0 > In instr input: pop:peek > Label type: gen > In Label add: Success > Instruction: pop > Instruction: peek > Length: 2 > In Instr: No such device or address > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > What is this error and can it be the source of my kernel panic??? > > > Here is the output from mplsadm2 -d while running the following > instructions in UML: > ./mplsadm2 -v -A -I gen:17:0 -i pop:peek > ./mplsadm2 -v -A -I gen:16:0 > > > Feb 27 08:06:28 bruml kernel: mpls_add_in_label: enter > Feb 27 08:06:28 bruml kernel: mpls_in_info_hold: enter > Feb 27 08:06:28 bruml kernel: mpls_in_info_hold: new count 1 > Feb 27 08:06:28 bruml kernel: mpls_in_info_hold: exit > Feb 27 08:06:28 bruml kernel: mpls_info_default_in_instruction: enter > Feb 27 08:06:28 bruml kernel: mpls_instruction_build: enter > Feb 27 08:06:28 bruml kernel: length: 2 > Feb 27 08:06:28 bruml kernel: mpls_instruction_build: exit(2) > Feb 27 08:06:28 bruml kernel: mpls_instruction_clear: enter > Feb 27 08:06:28 bruml kernel: mpls_instruction_clear: exit > Feb 27 08:06:28 bruml kernel: mpls_info_default_in_instruction: exit > Feb 27 08:06:28 bruml kernel: mpls_add_in_label: exit > Feb 27 08:06:28 bruml kernel: mpls_set_in_label_instructions: enter > Feb 27 08:06:28 bruml kernel: mpls_in_info_hold: enter > Feb 27 08:06:28 bruml kernel: mpls_in_info_hold: new count 2 > Feb 27 08:06:28 bruml kernel: mpls_in_info_hold: exit > Feb 27 08:06:28 bruml kernel: mpls_instruction_build: enter > Feb 27 08:06:28 bruml kernel: length: 2 > Feb 27 08:06:28 bruml kernel: mpls_instruction_build: exit(2) > Feb 27 08:06:28 bruml kernel: mpls_instruction_clear: enter > Feb 27 08:06:28 bruml kernel: mpls_instruction_clear: exit > Feb 27 08:06:28 bruml kernel: mpls_in_info_release: enter > Feb 27 08:06:28 bruml kernel: mpls_in_info_release: new count 1 > Feb 27 08:06:28 bruml kernel: mpls_in_info_release: exit > Feb 27 08:06:28 bruml kernel: mpls_set_in_label_instructions: exit > Feb 27 08:06:55 bruml kernel: mpls_add_in_label: enter > Feb 27 08:06:55 bruml kernel: mpls_in_info_hold: enter > Feb 27 08:06:55 bruml kernel: mpls_in_info_hold: new count 1 > Feb 27 08:06:55 bruml kernel: mpls_in_info_hold: exit > Feb 27 08:06:55 bruml kernel: mpls_info_default_in_instruction: enter > Feb 27 08:06:55 bruml kernel: mpls_instruction_build: enter > Feb 27 08:06:55 bruml kernel: length: 2 > Feb 27 08:06:55 bruml kernel: mpls_instruction_build: exit(2) > Feb 27 08:06:55 bruml kernel: mpls_instruction_clear: enter > Feb 27 08:06:55 bruml kernel: mpls_instruction_clear: exit > Feb 27 08:06:55 bruml kernel: mpls_info_default_in_instruction: exit > Feb 27 08:06:55 bruml kernel: mpls_add_in_label: exit > > > > On Tue, 26 Feb 2002, James R. Leu wrote: > > > Hello, > > > > Turn on MPLS kernel debugging in the UML (mplsadm2 -d), duplicate, then > > sent me the output. > > > > Jim > > > > > > On Mon, Feb 25, 2002 at 12:15:58PM +0000, Radu Dragos wrote: > > > Hi all. > > > I'm trying to push 2 labels into the MPLS stack. > > > > > > Begin (Scenario): > > > linux-2.4.17 > > > mpls-linux-1.128 > > > > > > ------ _____ > > > |Host|---------------------------UML1| > > > ------ ----- > > > tap0 eth0 > > > 192.168.100.1 192.168.100.2 > > > > > > > > > On host: > > > #./mplsadm2 -v -A -O gen:16:tap0:ipv4:192.168.100.2 > > > #./mplsadm2 -v -O key:0x3 -o > > > push:gen:16:push:gen:17:set:tap0:ipv4:192.168.100.2 > > > #iptables -A OUTPUT -d 192.168.100.2 -j MPLS --set-key 0x3 > > > #./mplsadm -L tap0:0 > > > > > > #watch cat /proc/net/mpls* > > > lo 0 109 > > > tap0 0 7 > > > 0x00000003 4/336/0 1 PUSH(gen 16) PUSH(gen 17) SET(tap0,192.168.100.2) > > > > > > ############################################################ > > > On UML1: > > > ./mplsadm2 -A -I gen:17:0 -i pop:peek > > > ./mplsadm2 -A -I gen:16:0 > > > ./mplsadm -L eth0:0 > > > > > > #watch cat /proc/net/mpls* > > > 0x40004000 0/0/0 gen 16 0 1 POP PEEK > > > 0x40004400 0/0/0 gen 17 0 1 POP PEEK > > > lo 0 5 > > > tap0 0 1 > > > eth0 0 5 > > > > > > End(Scenario) > > > > > > On host: > > > ping 192.168.100.2 > > > PING 192.168.100.2 (192.168.100.2) from 192.168.100.1 : 56(84) bytes of > > > data. > > > 64 bytes from 192.168.100.2: icmp_seq=0 ttl=255 time=3.916 msec > > > The host received only 1 replay. > > > > > > On UML1: > > > Kernel panic. > > > > > > bt from gdb: > > > #0 panic (fmt=0xa0140e2c "Segfault with no mm") at panic.c:52 > > > #1 0xa00c67a1 in segv (address=276, ip=2685111923, is_write=0, is_user=0) > > > at trap_kern.c:42 > > > #2 0xa00c7548 in segv_handler (sig=11, sc=0xa015f798, usermode=0) > > > at trap_user.c:370 > > > #3 0xa00c76bf in sig_handler (sig=11, sc= > > > {gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, > > > __dsh = 0, edi = 2720948257, esi = 2720948253, ebp = 2685794980, esp = > > > 2685794924, ebx = 2693715584, edx = 272, ecx = 2685794652, eax = 38, > > > trapno = 14, err = 4, eip = 2685111923, cs = 35, __csh = 0, eflags = > > > 66182, esp_at_signal = 2685794924, ss = 43, __ssh = 0, fpstate = 0x0, > > > oldmask = 0, cr2 = 276}) at trap_user.c:429 > > > #4 <signal handler called> > > > #5 0xa00b8e73 in mpls_opcode_push (skb=0xa015fafc, ml=0x110, > > > mpr=0xa0973340) > > > at mpls_opcode.c:138 > > > #6 0xa00b7e3c in mpls_input (skb=0xa08ed680, dev=0xa08f9800, > > > pt=0xa016a040, > > > label=0xa23c41e0, mpr=0xa0973340, labelspace=0) at mpls_input.c:190 > > > #7 0xa00b8584 in mpls_rcv (skb=0xa08ed680, dev=0xa08f9800, pt=0xa016a040) > > > at mpls_input.c:515 > > > #8 0xa0074f45 in net_rx_action (h=0xa017d350) at dev.c:1530 > > > #9 0xa001238a in do_softirq () at softirq.c:90 > > > #10 0xa00c3385 in do_IRQ (irq=4, user_mode=0) at irq.c:332 > > > #11 0xa00c39af in sigio_handler (sig=29, sc=0xa015fc80, usermode=0) > > > at irq_user.c:62 > > > ---Type <return> to continue, or q <return> to quit--- > > > #12 0xa00c75de in irq_handler (sig=29, sc= > > > {gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, > > > __dsh = 0, edi = 10, esi = 2685796348, ebp = 2685796208, esp = 2685796180, > > > ebx = 2685796200, edx = 8192, ecx = 2685796200, eax = 4294967292, trapno = > > > 1, err = 0, eip = 2685302417, cs = 35, __csh = 0, eflags = 646, > > > esp_at_signal = 2685796180, ss = 43, __ssh = 0, fpstate = 0xa015fcd8, > > > oldmask = 0, cr2 = 0}) at trap_user.c:405 > > > #13 <signal handler called> > > > #14 0xa00e7691 in __libc_nanosleep () > > > #15 0xa00c60dd in idle_sleep (secs=10) at time.c:108 > > > #16 0xa00c92a0 in do_idle () at process_kern.c:418 > > > #17 0xa00c934d in cpu_idle () at process_kern.c:445 > > > #18 0xa00036f1 in start_kernel () at init/main.c:623 > > > #19 0xa00c7acd in start_kernel_proc (unused=0x0) at um_arch.c:131 > > > #20 0xa00c6fea in signal_tramp (arg=0xa00c7a98) at trap_user.c:84 > > > > > > > > > Does anyone has an updated version of README.hierarchy > > > or an working example with multiple pushes/pops ?? > > > > > > Thanks in advance, > > > Radu. > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > mpls-linux-general mailing list > > > mpl...@li... > > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > > > -- > > James R. Leu > > > > _______________________________________________ > > mpls-linux-general mailing list > > mpl...@li... > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > > > > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general -- James R. Leu |
From: Radu D. <dr...@ee...> - 2002-02-27 13:23:17
|
Hi all , I'm back. Before the output result from mplsadm2 -d, I want to emphasize something else: In UML, after: # ./mplsadm2 -v -A -I gen:17:0 -i pop:peek I received: In label input: gen:17:0 In instr input: pop:peek Label type: gen In Label add: Success Instruction: pop Instruction: peek Length: 2 In Instr: No such device or address ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ What is this error and can it be the source of my kernel panic??? Here is the output from mplsadm2 -d while running the following instructions in UML: ./mplsadm2 -v -A -I gen:17:0 -i pop:peek ./mplsadm2 -v -A -I gen:16:0 Feb 27 08:06:28 bruml kernel: mpls_add_in_label: enter Feb 27 08:06:28 bruml kernel: mpls_in_info_hold: enter Feb 27 08:06:28 bruml kernel: mpls_in_info_hold: new count 1 Feb 27 08:06:28 bruml kernel: mpls_in_info_hold: exit Feb 27 08:06:28 bruml kernel: mpls_info_default_in_instruction: enter Feb 27 08:06:28 bruml kernel: mpls_instruction_build: enter Feb 27 08:06:28 bruml kernel: length: 2 Feb 27 08:06:28 bruml kernel: mpls_instruction_build: exit(2) Feb 27 08:06:28 bruml kernel: mpls_instruction_clear: enter Feb 27 08:06:28 bruml kernel: mpls_instruction_clear: exit Feb 27 08:06:28 bruml kernel: mpls_info_default_in_instruction: exit Feb 27 08:06:28 bruml kernel: mpls_add_in_label: exit Feb 27 08:06:28 bruml kernel: mpls_set_in_label_instructions: enter Feb 27 08:06:28 bruml kernel: mpls_in_info_hold: enter Feb 27 08:06:28 bruml kernel: mpls_in_info_hold: new count 2 Feb 27 08:06:28 bruml kernel: mpls_in_info_hold: exit Feb 27 08:06:28 bruml kernel: mpls_instruction_build: enter Feb 27 08:06:28 bruml kernel: length: 2 Feb 27 08:06:28 bruml kernel: mpls_instruction_build: exit(2) Feb 27 08:06:28 bruml kernel: mpls_instruction_clear: enter Feb 27 08:06:28 bruml kernel: mpls_instruction_clear: exit Feb 27 08:06:28 bruml kernel: mpls_in_info_release: enter Feb 27 08:06:28 bruml kernel: mpls_in_info_release: new count 1 Feb 27 08:06:28 bruml kernel: mpls_in_info_release: exit Feb 27 08:06:28 bruml kernel: mpls_set_in_label_instructions: exit Feb 27 08:06:55 bruml kernel: mpls_add_in_label: enter Feb 27 08:06:55 bruml kernel: mpls_in_info_hold: enter Feb 27 08:06:55 bruml kernel: mpls_in_info_hold: new count 1 Feb 27 08:06:55 bruml kernel: mpls_in_info_hold: exit Feb 27 08:06:55 bruml kernel: mpls_info_default_in_instruction: enter Feb 27 08:06:55 bruml kernel: mpls_instruction_build: enter Feb 27 08:06:55 bruml kernel: length: 2 Feb 27 08:06:55 bruml kernel: mpls_instruction_build: exit(2) Feb 27 08:06:55 bruml kernel: mpls_instruction_clear: enter Feb 27 08:06:55 bruml kernel: mpls_instruction_clear: exit Feb 27 08:06:55 bruml kernel: mpls_info_default_in_instruction: exit Feb 27 08:06:55 bruml kernel: mpls_add_in_label: exit On Tue, 26 Feb 2002, James R. Leu wrote: > Hello, > > Turn on MPLS kernel debugging in the UML (mplsadm2 -d), duplicate, then > sent me the output. > > Jim > > > On Mon, Feb 25, 2002 at 12:15:58PM +0000, Radu Dragos wrote: > > Hi all. > > I'm trying to push 2 labels into the MPLS stack. > > > > Begin (Scenario): > > linux-2.4.17 > > mpls-linux-1.128 > > > > ------ _____ > > |Host|---------------------------UML1| > > ------ ----- > > tap0 eth0 > > 192.168.100.1 192.168.100.2 > > > > > > On host: > > #./mplsadm2 -v -A -O gen:16:tap0:ipv4:192.168.100.2 > > #./mplsadm2 -v -O key:0x3 -o > > push:gen:16:push:gen:17:set:tap0:ipv4:192.168.100.2 > > #iptables -A OUTPUT -d 192.168.100.2 -j MPLS --set-key 0x3 > > #./mplsadm -L tap0:0 > > > > #watch cat /proc/net/mpls* > > lo 0 109 > > tap0 0 7 > > 0x00000003 4/336/0 1 PUSH(gen 16) PUSH(gen 17) SET(tap0,192.168.100.2) > > > > ############################################################ > > On UML1: > > ./mplsadm2 -A -I gen:17:0 -i pop:peek > > ./mplsadm2 -A -I gen:16:0 > > ./mplsadm -L eth0:0 > > > > #watch cat /proc/net/mpls* > > 0x40004000 0/0/0 gen 16 0 1 POP PEEK > > 0x40004400 0/0/0 gen 17 0 1 POP PEEK > > lo 0 5 > > tap0 0 1 > > eth0 0 5 > > > > End(Scenario) > > > > On host: > > ping 192.168.100.2 > > PING 192.168.100.2 (192.168.100.2) from 192.168.100.1 : 56(84) bytes of > > data. > > 64 bytes from 192.168.100.2: icmp_seq=0 ttl=255 time=3.916 msec > > The host received only 1 replay. > > > > On UML1: > > Kernel panic. > > > > bt from gdb: > > #0 panic (fmt=0xa0140e2c "Segfault with no mm") at panic.c:52 > > #1 0xa00c67a1 in segv (address=276, ip=2685111923, is_write=0, is_user=0) > > at trap_kern.c:42 > > #2 0xa00c7548 in segv_handler (sig=11, sc=0xa015f798, usermode=0) > > at trap_user.c:370 > > #3 0xa00c76bf in sig_handler (sig=11, sc= > > {gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, > > __dsh = 0, edi = 2720948257, esi = 2720948253, ebp = 2685794980, esp = > > 2685794924, ebx = 2693715584, edx = 272, ecx = 2685794652, eax = 38, > > trapno = 14, err = 4, eip = 2685111923, cs = 35, __csh = 0, eflags = > > 66182, esp_at_signal = 2685794924, ss = 43, __ssh = 0, fpstate = 0x0, > > oldmask = 0, cr2 = 276}) at trap_user.c:429 > > #4 <signal handler called> > > #5 0xa00b8e73 in mpls_opcode_push (skb=0xa015fafc, ml=0x110, > > mpr=0xa0973340) > > at mpls_opcode.c:138 > > #6 0xa00b7e3c in mpls_input (skb=0xa08ed680, dev=0xa08f9800, > > pt=0xa016a040, > > label=0xa23c41e0, mpr=0xa0973340, labelspace=0) at mpls_input.c:190 > > #7 0xa00b8584 in mpls_rcv (skb=0xa08ed680, dev=0xa08f9800, pt=0xa016a040) > > at mpls_input.c:515 > > #8 0xa0074f45 in net_rx_action (h=0xa017d350) at dev.c:1530 > > #9 0xa001238a in do_softirq () at softirq.c:90 > > #10 0xa00c3385 in do_IRQ (irq=4, user_mode=0) at irq.c:332 > > #11 0xa00c39af in sigio_handler (sig=29, sc=0xa015fc80, usermode=0) > > at irq_user.c:62 > > ---Type <return> to continue, or q <return> to quit--- > > #12 0xa00c75de in irq_handler (sig=29, sc= > > {gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, > > __dsh = 0, edi = 10, esi = 2685796348, ebp = 2685796208, esp = 2685796180, > > ebx = 2685796200, edx = 8192, ecx = 2685796200, eax = 4294967292, trapno = > > 1, err = 0, eip = 2685302417, cs = 35, __csh = 0, eflags = 646, > > esp_at_signal = 2685796180, ss = 43, __ssh = 0, fpstate = 0xa015fcd8, > > oldmask = 0, cr2 = 0}) at trap_user.c:405 > > #13 <signal handler called> > > #14 0xa00e7691 in __libc_nanosleep () > > #15 0xa00c60dd in idle_sleep (secs=10) at time.c:108 > > #16 0xa00c92a0 in do_idle () at process_kern.c:418 > > #17 0xa00c934d in cpu_idle () at process_kern.c:445 > > #18 0xa00036f1 in start_kernel () at init/main.c:623 > > #19 0xa00c7acd in start_kernel_proc (unused=0x0) at um_arch.c:131 > > #20 0xa00c6fea in signal_tramp (arg=0xa00c7a98) at trap_user.c:84 > > > > > > Does anyone has an updated version of README.hierarchy > > or an working example with multiple pushes/pops ?? > > > > Thanks in advance, > > Radu. > > > > > > > > > > > > > > > > _______________________________________________ > > mpls-linux-general mailing list > > mpl...@li... > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > -- > James R. Leu > > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > |
From: Heeyeol Y. <hee...@CS...> - 2002-02-27 06:45:49
|
I am using RSVP-TE(http://dsmpls.atlantis.rug.ac.be/_ I wonder why icmp reply packet is not encapsulated with MPLS B=>A when I see packet with ethereal. ICMP reply is encapsulated. How to make bidirectional LSP? RSVP console asks me to close the current session? 2. Automatic response in egress and apply in ingress. I wonder if I must key in RSVP response at node B. What kind of API should I use ? 3. mapping each flow into LSP. I wonder this kind of mapping of each flow(such as one connection of ftp) into LSP is possible. I found dead code in tunnel.c, "-d dport". How can I specify mapping? rapi_session? 4. For specifying intermediate nodes, rtest2 is recommended. But when I key in value "Destination source LSPID", the problem is that LSPID is not returned from rsvp daemon because path message goes out other I/F with conventional routing table. So I don't know LSPID when I key in rtest2. For example, | | | eth0 | eth0 | eth0 | | A | ------- | B | -------- | C | eth1 eth1 eth2 eth1 I want to make LSP connection A(eth1) -> B(eth1, eth2) -> C (eth1). In each node eth0 is default gateway. So RSVP PATH goes out via eth0 in A. Furthermore should I modify tunnel.c code for explicit routing? Vito Covito wrote: > > we have configured two linux box in the same lan ( A:192.168.1.1 > B:192.168.1.3) > > We have installed the Tequila patched rsvd for mpls. (we have followed all > the instructions on the web site) > A: B: > dest lsp tcp 192.168.1.3/12 dest lsp tcp 192.168.1.3/12 > sender 192.168.1.1/12 reserve 192.168.1.3 ff 192.168.1.1/12 > > The lsp was create. > but in tunnel -L -c we have "/ 0" in dest field ??? Thats' OK the destination is only filled in after the mapping. > > LSPID destination (type lab/exp/tab) iface Packets Bytes > 12 / 0 ( gen 168/ 0/ 0) eth0 0 0 > > When we want simulate the example explained, at piont of mapping tunnell we > have this error: > > # ./tunnel -m -p icmp -d 192.168.1.3/32 -l 12 > > tunnel: libip4tc.c:384: do_check: Assertion `h->info.valid_hooks == (1 << 0 | > 1 << 3)' failed. > Abortito (core dumped) This is not so OK of course. This is actually pretty weird. Can you give me the backtrace and the value of h->info.valid_hooks? (gdb tunnel core. where. disp h->info.valid_hooks) Which distribution and compiler are you using? Were there warnings compiling tunnel? Pim. > > > what is the problem?? > can you help me?? > Tanks very mutch. > > -- > Vito Covito > Network Administrator Pandora Partenopea > vi...@pa... > _______________________________________________ > ds_mpls mailing list > ds...@at... > http://www-lists.atlantis.rug.ac.be/mail_external/listinfo/ds_mpls -- Pim Van Heuven Ghent University - IMEC Department of Information Technology (INTEC) Sint-Pietersnieuwstraat, 41 B-9000, Gent, Belgium pim...@in... DiffServ/MPLS(RSVP-TE) for Linux: http://dsmpls.atlantis.rug.ac.be |
From: clz <cui...@ya...> - 2002-02-27 02:13:21
|
SGksYWxsDQogICAgIEluIGEgZm9ybWVyIGVtYWlsLEkga25vdyB0aGF0ICJ0aGUgY3VycmVudCBM RFAtbGludXggaXMgbm90IENELUxEUCIuIFdoYXQgZG9lcyBpdCBtZWFuPw0KSXQgbWVhbnMgdGhl IGxkcCBjb3JlIGRvZXMgbm90IHN1cHBvcnQgQ1ItTERQICxvciB0aGUgcG9ydGFibGUgbGF5ZXIg ZG9lcyBub3Qgc3VwcG9ydCBDUi1MRFA/DQpQbGVhc2UgaGVscCBtZS4NCg0KDQpUaGFua3MgaW4g YWR2YW5jZS4NClJFR0FSRFMNCg0KICAgICAgICAgICAgY3VpbHoNCg0K _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com |
From: <br...@ya...> - 2002-02-26 19:28:36
|
Hi James, could you please tell me what RFCs/IDs this project complies to? Thanks _______________________________________________________________________________________________ Yahoo! Empregos O trabalho dos seus sonhos pode estar aqui. Cadastre-se hoje mesmo no Yahoo! Empregos e tenha acesso a milhares de vagas abertas! http://br.empregos.yahoo.com/ |
From: ncc49a <nc...@si...> - 2002-02-26 19:19:01
|
Hi Stefano, Thanks for replying! Attached are some examples... > > 1) The exp->ds mapping is sometimes reflected incorrectly in the > > "/proc/mpls_*" files. > > Could you provide any example ? > > 2) To test the exp2ds function, I have set up a couple of MPLS routers > > in serial, with non-MPLS hosts/routers at each ends. I then ping an end > > host from the other end. The non-Mpls host/router which is the origin will > > mark a packet's DSCP. The edge MPLS router will mark the EXP bits based on > > the DSCP value. The edge MPLS router at the end will re-mark the DSCP of > > the incoming packet, based on its EXP. As the packet returns, it will mark > > the outgoing EXP bits based on the new DSCP. The origin MPLS edge router > > will then remark the DSCP (again) based on the incoming new EXP bits. > > > > I monitor at the origin MPLS router's interfaces. I find that the > > new EXP bits on the shim of the returned incoming ping packet is correct. > > However,the returning packet on the outgoing interface of the origin MPLS > > edge (connected to the origin non-MPLS host/router) has its DSCP bits > > marked wrongly. > > > > Anyone knows what could be a possible reason? > > > > It seems strange to me. Have you checked that /proc/net/mpls_* content reflects what you want to do ? > Anyway, you should provide more information (e.g. the commands you typed and what instead you obtain) to let someone help you. A1) Script for origin edge MPLS router. --------------SCRIPT STARTS----------------------------------------- #!/bin/sh # Mplsadm path MPLSADM=/usr/src/SW/mpls-beta-1_128/mpls-linux-1128/utils/mplsadm2 $MPLSADM -d $MPLSADM -v -L eth0:0 $MPLSADM -v -A -O gen:18:eth0:ipv4:192.168.0.161 OUT_KEY_18=$(grep 'gen 18' /proc/net/mpls_out | cut -c3-10) $MPLSADM -v -O key:$OUT_KEY_18 -o ds2exp:0xf:46:6:push:gen:18:set:eth0:ipv4:192.168.0.161 iptables -A OUTPUT -d 192.168.0.188/30 -j MPLS --set-key $OUT_KEY_18 iptables -A FORWARD -d 192.168.0.188/30 -j MPLS --set-key $OUT_KEY_18 $MPLSADM -v -A -I gen:199:0 $MPLSADM -v -I gen:199:0 -i pop:exp2ds:2:26:peek $MPLSADM -d --------------SCRIPT ENDS-------------------------------------------- The above sets outgoing packets with DSCP of 0x2e with EXP of 6. It marks incoming packets with EXP 2 with DSCP of 0x1a. A2) "mpls_out" for origin edge MPLS router. --------------START----------------------------------------- 0x00000009 69/5796/0 2 DS2EXP( DS(0e)->EXP(06) ) PUSH(gen 18) SET(eth0,192.168.0.161) --------------END-------------------------------------------- As you can see, the ds2exp mapping shown is 0xe->0x06, when it should be 0x2e->0x06. However, the command seems to be executed corrected i.e a packet with a DSCP of 0x2e is indeed marked with an EXP of 0x06. I think in my last mail, I mentioned this occurred with the exp2ds, my mistake... it is for ds2exp as shown above. A3) "mpls_in" for origin edge MPLS router. --------------START----------------------------------------- 0x40031c00 70/6952/0 gen 199 0 1 POP EXP2DS( EXP(2)->DS(1a) ) PEEK --------------END-------------------------------------------- B1) Script for edge MPLS router at other end. --------------SCRIPT STARTS----------------------------------------- #!/bin/sh # Mplsadm path MPLSADM=/usr/src/SW/mpls-beta-1_128/mpls-linux-1128/utils/mplsadm2 $MPLSADM -d $MPLSADM -v -L eth1:0 $MPLSADM -v -A -I gen:199:0 $MPLSADM -v -A -O gen:19:eth1:ipv4:192.168.0.129 OUT_KEY_19=$(grep 'gen 19' /proc/net/mpls_out | cut -c3-10) $MPLSADM -v -O key:$OUT_KEY_19 -o set_exp:2:push:gen:19:set:eth1:ipv4:192.168.0.129 iptables -A OUTPUT -d 192.168.0.168/29 -j MPLS --set-key $OUT_KEY_19 iptables -A FORWARD -d 192.168.0.168/29 -j MPLS --set-key $OUT_KEY_19 $MPLSADM -d --------------SCRIPT ENDS-------------------------------------------- The above marks outgoing packets with EXP of 2. Thus from the above script A1), the origin edge router when receiving a incoming packet with EXP 2 from router which has ran script B1), it should mark the DSCP of the packet to 0x1a before forwarding it, right? But, it doesn't, it always marks it to a value of 0x3e, and I am unsure why... > > You could try this way: you use a tcindex filter (which classify packets based on skb->tc_index) to select a dsmark class which sets the desired DSCP value. > For example: > > mplsadm2 -v -A -I gen:199:0 > mplsadm2 -v -I gen:199:0 -i pop:exp2tc:2:184:peek > > tc qdisc add dev $ITF handle 1:0 root dsmark indices 64 > tc class change dev $ITF classid 1:1 dsmark mask 0x0 value 0xb8 > tc filter add dev $ITF parent 1:0 protocol ip prio 1 tcindex mask 0xff > tc filter add dev $ITF parent 1:0 protocol ip prio 1 handle 184 tcindex classid 1:1 > > Thus packets arriving with label 199 and Exp 2 will leave with DS field 0xb8 (DSCP 0x2e). > Let me know if this works. > Yup, the above worked! It is like a exp2ds function... thanks! Regards, Paul |
From: Sergei M. <se...@ho...> - 2002-02-26 17:42:22
|
<html><div style='background-color:'><DIV> <P>Hi to all,</P> <P>I just start to study the mpls, and if some of you could give me some tips, I´ll be glad. So I would like to know which kernel of linux has the mpls implemented?</P></DIV>Thanks in advance<BR><BR> <DIV></DIV> <DIV>Sergei Mouro Hofmann</DIV> <DIV></DIV> <DIV> </DIV> <DIV></DIV> <DIV> </DIV> <DIV></DIV> <DIV>********************************************************************</DIV> <DIV></DIV> <DIV>Assim como a tecnologia sempre supera seus limites....você também pode vencer os seus - <A href="http://www.sahajayoga.org">www.sahajayoga.org</A></DIV> <DIV>********************************************************************</DIV> <DIV></DIV> <DIV></DIV></div><br clear=all><hr>MSN Photos is the easiest way to share and print your photos: <a href='http://go.msn.com/bql/hmtag3_etl_EN.asp'>Click Here</a><br></html> |
From: christopher p. <chr...@es...> - 2002-02-26 16:36:48
|
hello, today i tried to install the mpls patch (version 1.0) on a linux-kernel (version 2.4.8) and it dind't work. these following lines were the last seen on my screen: ========================================= patching file drivers/net/ppp_generic.c patch: **** Can't create file /tmp/poAKX9sT : File exists ========================================= off course, this file doesn't exists at all in the /tmp dir, which is empty at this moment. write permissions are ok also does anyone know how this can occur and what i could do to fix it? thanx in advance, regards, christopher P.S.: i'm not a C programmer, so please try to explain it a little understandable for me. ------------------------------------------------------------------- Christopher Peirs (B150) - cp...@es... thuisadres: Groene Biezenlaan 49 - 8660 De Panne - 058/415657 kotadres: Andreas Vesaliusstraat 4 - 3000 Leuven - 016/583971 ZC De Krab: kr...@ad... - http://www.lazef.be/krab ------------------------------------------------------------------- Thunder rolled. ... It rolled a six. -- (Terry Pratchett, Guards! Guards!) |
From: James R. L. <jl...@mi...> - 2002-02-26 16:34:40
|
Hello, Turn on MPLS kernel debugging in the UML (mplsadm2 -d), duplicate, then sent me the output. Jim On Mon, Feb 25, 2002 at 12:15:58PM +0000, Radu Dragos wrote: > Hi all. > I'm trying to push 2 labels into the MPLS stack. > > Begin (Scenario): > linux-2.4.17 > mpls-linux-1.128 > > ------ _____ > |Host|---------------------------UML1| > ------ ----- > tap0 eth0 > 192.168.100.1 192.168.100.2 > > > On host: > #./mplsadm2 -v -A -O gen:16:tap0:ipv4:192.168.100.2 > #./mplsadm2 -v -O key:0x3 -o > push:gen:16:push:gen:17:set:tap0:ipv4:192.168.100.2 > #iptables -A OUTPUT -d 192.168.100.2 -j MPLS --set-key 0x3 > #./mplsadm -L tap0:0 > > #watch cat /proc/net/mpls* > lo 0 109 > tap0 0 7 > 0x00000003 4/336/0 1 PUSH(gen 16) PUSH(gen 17) SET(tap0,192.168.100.2) > > ############################################################ > On UML1: > ./mplsadm2 -A -I gen:17:0 -i pop:peek > ./mplsadm2 -A -I gen:16:0 > ./mplsadm -L eth0:0 > > #watch cat /proc/net/mpls* > 0x40004000 0/0/0 gen 16 0 1 POP PEEK > 0x40004400 0/0/0 gen 17 0 1 POP PEEK > lo 0 5 > tap0 0 1 > eth0 0 5 > > End(Scenario) > > On host: > ping 192.168.100.2 > PING 192.168.100.2 (192.168.100.2) from 192.168.100.1 : 56(84) bytes of > data. > 64 bytes from 192.168.100.2: icmp_seq=0 ttl=255 time=3.916 msec > The host received only 1 replay. > > On UML1: > Kernel panic. > > bt from gdb: > #0 panic (fmt=0xa0140e2c "Segfault with no mm") at panic.c:52 > #1 0xa00c67a1 in segv (address=276, ip=2685111923, is_write=0, is_user=0) > at trap_kern.c:42 > #2 0xa00c7548 in segv_handler (sig=11, sc=0xa015f798, usermode=0) > at trap_user.c:370 > #3 0xa00c76bf in sig_handler (sig=11, sc= > {gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, > __dsh = 0, edi = 2720948257, esi = 2720948253, ebp = 2685794980, esp = > 2685794924, ebx = 2693715584, edx = 272, ecx = 2685794652, eax = 38, > trapno = 14, err = 4, eip = 2685111923, cs = 35, __csh = 0, eflags = > 66182, esp_at_signal = 2685794924, ss = 43, __ssh = 0, fpstate = 0x0, > oldmask = 0, cr2 = 276}) at trap_user.c:429 > #4 <signal handler called> > #5 0xa00b8e73 in mpls_opcode_push (skb=0xa015fafc, ml=0x110, > mpr=0xa0973340) > at mpls_opcode.c:138 > #6 0xa00b7e3c in mpls_input (skb=0xa08ed680, dev=0xa08f9800, > pt=0xa016a040, > label=0xa23c41e0, mpr=0xa0973340, labelspace=0) at mpls_input.c:190 > #7 0xa00b8584 in mpls_rcv (skb=0xa08ed680, dev=0xa08f9800, pt=0xa016a040) > at mpls_input.c:515 > #8 0xa0074f45 in net_rx_action (h=0xa017d350) at dev.c:1530 > #9 0xa001238a in do_softirq () at softirq.c:90 > #10 0xa00c3385 in do_IRQ (irq=4, user_mode=0) at irq.c:332 > #11 0xa00c39af in sigio_handler (sig=29, sc=0xa015fc80, usermode=0) > at irq_user.c:62 > ---Type <return> to continue, or q <return> to quit--- > #12 0xa00c75de in irq_handler (sig=29, sc= > {gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, > __dsh = 0, edi = 10, esi = 2685796348, ebp = 2685796208, esp = 2685796180, > ebx = 2685796200, edx = 8192, ecx = 2685796200, eax = 4294967292, trapno = > 1, err = 0, eip = 2685302417, cs = 35, __csh = 0, eflags = 646, > esp_at_signal = 2685796180, ss = 43, __ssh = 0, fpstate = 0xa015fcd8, > oldmask = 0, cr2 = 0}) at trap_user.c:405 > #13 <signal handler called> > #14 0xa00e7691 in __libc_nanosleep () > #15 0xa00c60dd in idle_sleep (secs=10) at time.c:108 > #16 0xa00c92a0 in do_idle () at process_kern.c:418 > #17 0xa00c934d in cpu_idle () at process_kern.c:445 > #18 0xa00036f1 in start_kernel () at init/main.c:623 > #19 0xa00c7acd in start_kernel_proc (unused=0x0) at um_arch.c:131 > #20 0xa00c6fea in signal_tramp (arg=0xa00c7a98) at trap_user.c:84 > > > Does anyone has an updated version of README.hierarchy > or an working example with multiple pushes/pops ?? > > Thanks in advance, > Radu. > > > > > > > > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general -- James R. Leu |
From: James R. L. <jl...@mi...> - 2002-02-26 15:28:24
|
This is a large limitation of mpls-linux-1.0. The 1.1 series fixes this by generating moi keys, not using the label information provided by the user. Jim On Tue, Feb 26, 2002 at 11:05:07AM +0530, jagdish Garg wrote: > Hi, > As per my understanding we are using interface index and mpls_label to > constitute the key for moi (i.e mpls out info). > > Now suppose there is LSR1 which directly connected to both LSR-A and LSR-B. > > LSR1------>LSR-A > LSR1------>LSR-B > > And LSR-A send a label 17 to LSR-1 and LSR-B also send a label 17 to LSR-1 > (Both LSR-A and LSR-B are > connected to the same interface of LSR-1) > > Now how do LSR-1 will add them in moi ??? > > > Regards, > Jagdish Garg > Reply to : Jag...@ie... > > > > > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general -- James R. Leu |
From: <sj...@te...> - 2002-02-26 13:23:12
|
Hi, i got the same problem and i found that adding a line to the gcc flags on all the makefiles in the mplsadm directory, the line is -I/usr/src/linux/include/linux Hope this solve your problem Javier Sanchez Llera sj...@te... |
From: Jing S. <js...@ca...> - 2002-02-26 12:45:08
|
you must forget to install the head file into system's head file path, or you can fix it by set up compile options. > Hi all, > > I have a problem when I install mpls-linux 1.0. After compiling and installing > new kernel, rebooting, I can't compile mplsadm, it reports there is no "linux/mpls.h" > file, is there anybody encounter this problem? > > Can anybody help me? > > thanks. > > Y. Zhao > > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general -- Jing Shen ********************************************************************** * The SunShine of life is made up of very little beams which is * * bright all the time * ********************************************************************** |
From: <pim...@in...> - 2002-02-26 12:21:21
|
Heeyeol Yu wrote: > > I found that in Path setup command, we cannot specify the intermediate > nodes. use rtest2 and rapirecv_auto see CR-LSP FAQ on the web site > As I know, after getting QoS-based routing path from OSPF-TE, RSVP-TE > reserves QoS stopping by each nodes specified in QoS-based routing path. (this information doesn't need to come from OSPF-TE) but: 1) IntServ support is broken at the moment (never had the time/interest to fix it) 2) DiffServ bandwidth allocation is not supported yet so before you can get into the OSPF-TE->RSVP-TE->admission control game one of the above two need to be fixed I guess. > > Furthermore I have my own OSPF-TE daemon. So I want to combine my own > and RSVP-TE. Is it easy? Any I/F for combining? The next version of the daemon will have rtnetlink support for asynchronous routing messages (e.g. link down). This information is used to speed up re-routing but this mechanism can also be used for other information. Pim. P.s. you're on the wrong mailing list for RSVP-TE specific questions use <ds...@at...> in stead. > > ---------------------- > Ingress send PATH messages to destination (type on rsvpd console): > > dest lsp tcp 10.0.2.2/12 sender 10.0.1.1/12 > Egress reply with RESV messages (type on rsvpd console): > > dest lsp tcp 10.0.2.2/12 reserve 10.0.2.2 ff 10.0.1.1/12 > --------------------- > > -----Original Message----- > From: pim...@in... > [mailto:pim...@in...] On Behalf Of > pim...@in... > Sent: Monday, February 25, 2002 3:57 AM > To: Heeyeol Yu > Cc: mpl...@li... > Subject: Re: [mpls-linux-general] CD-LDP or RSVP-TE in MPLS > > > Heeyeol Yu wrote: > > > > Hi > > > > I want to know if I can use CR-LDP or RSVP-TE feature in MPLS code? > > > > Are they available? The current LDP-linux is not CD-LDP. > You could try our RSVP-TE for Linux: > http://dsmpls.atlantis.rug.ac.be > which has support for ER-LSPs and DiffServ over MPLS > (the kernel is based on James' work and some of ours, the next version > will be soly based on the James' new 1.1 branch) > > Pim. > > > > > > > > I found some one implement RSVP-TE > > (http://www.labs.fujitsu.com/free/te-on-linux/software.html), > > > > but I found that code is not complete while compiling. > > > > > > > > Is it good to correct , modify and use it for MPLS signaling? > > > > > > > > > > -- > Pim Van Heuven Ghent University - IMEC > Department of Information Technology (INTEC) > Sint-Pietersnieuwstraat, 41 B-9000, Gent, Belgium > pim...@in... > DiffServ/MPLS(RSVP-TE) for Linux: > http://dsmpls.atlantis.rug.ac.be > > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general -- Pim Van Heuven Ghent University - IMEC Department of Information Technology (INTEC) Sint-Pietersnieuwstraat, 41 B-9000, Gent, Belgium pim...@in... DiffServ/MPLS(RSVP-TE) for Linux: http://dsmpls.atlantis.rug.ac.be |
From: Yun Z. <yz...@em...> - 2002-02-26 10:51:54
|
Hi all, I have a problem when I install mpls-linux 1.0. After compiling and installing new kernel, rebooting, I can't compile mplsadm, it reports there is no "linux/mpls.h" file, is there anybody encounter this problem? Can anybody help me? thanks. Y. Zhao |
From: jagdish G. <jag...@ie...> - 2002-02-26 05:40:14
|
Hi, As per my understanding we are using interface index and mpls_label to constitute the key for moi (i.e mpls out info). Now suppose there is LSR1 which directly connected to both LSR-A and LSR-B. LSR1------>LSR-A LSR1------>LSR-B And LSR-A send a label 17 to LSR-1 and LSR-B also send a label 17 to LSR-1 (Both LSR-A and LSR-B are connected to the same interface of LSR-1) Now how do LSR-1 will add them in moi ??? Regards, Jagdish Garg Reply to : Jag...@ie... |
From: Heeyeol Y. <hee...@CS...> - 2002-02-26 01:57:59
|
I found that in Path setup command, we cannot specify the intermediate nodes. As I know, after getting QoS-based routing path from OSPF-TE, RSVP-TE reserves QoS stopping by each nodes specified in QoS-based routing path. Furthermore I have my own OSPF-TE daemon. So I want to combine my own and RSVP-TE. Is it easy? Any I/F for combining? ---------------------- Ingress send PATH messages to destination (type on rsvpd console): dest lsp tcp 10.0.2.2/12 sender 10.0.1.1/12 Egress reply with RESV messages (type on rsvpd console): dest lsp tcp 10.0.2.2/12 reserve 10.0.2.2 ff 10.0.1.1/12 --------------------- -----Original Message----- From: pim...@in... [mailto:pim...@in...] On Behalf Of pim...@in... Sent: Monday, February 25, 2002 3:57 AM To: Heeyeol Yu Cc: mpl...@li... Subject: Re: [mpls-linux-general] CD-LDP or RSVP-TE in MPLS > Heeyeol Yu wrote: > > Hi > > I want to know if I can use CR-LDP or RSVP-TE feature in MPLS code? > > Are they available? The current LDP-linux is not CD-LDP. You could try our RSVP-TE for Linux: http://dsmpls.atlantis.rug.ac.be which has support for ER-LSPs and DiffServ over MPLS (the kernel is based on James' work and some of ours, the next version will be soly based on the James' new 1.1 branch) Pim. > > > > I found some one implement RSVP-TE > (http://www.labs.fujitsu.com/free/te-on-linux/software.html), > > but I found that code is not complete while compiling. > > > > Is it good to correct , modify and use it for MPLS signaling? > > > > -- Pim Van Heuven Ghent University - IMEC Department of Information Technology (INTEC) Sint-Pietersnieuwstraat, 41 B-9000, Gent, Belgium pim...@in... DiffServ/MPLS(RSVP-TE) for Linux: http://dsmpls.atlantis.rug.ac.be |