mpls-linux-devel Mailing List for MPLS for Linux (Page 14)
Status: Beta
Brought to you by:
jleu
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(7) |
Dec
(8) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(5) |
Feb
(73) |
Mar
(22) |
Apr
(21) |
May
|
Jun
|
Jul
(3) |
Aug
(5) |
Sep
(4) |
Oct
(4) |
Nov
(2) |
Dec
(6) |
2005 |
Jan
(5) |
Feb
|
Mar
(6) |
Apr
(11) |
May
(6) |
Jun
(5) |
Jul
(4) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
(9) |
Dec
(15) |
2006 |
Jan
(11) |
Feb
(7) |
Mar
(4) |
Apr
(1) |
May
(2) |
Jun
(2) |
Jul
(7) |
Aug
|
Sep
(8) |
Oct
(9) |
Nov
(10) |
Dec
(14) |
2007 |
Jan
(11) |
Feb
(9) |
Mar
(39) |
Apr
(7) |
May
(4) |
Jun
(2) |
Jul
(5) |
Aug
(6) |
Sep
(6) |
Oct
(1) |
Nov
(1) |
Dec
(8) |
2008 |
Jan
|
Feb
(13) |
Mar
(19) |
Apr
(11) |
May
(16) |
Jun
(6) |
Jul
(2) |
Aug
(4) |
Sep
|
Oct
(5) |
Nov
|
Dec
(16) |
2009 |
Jan
(13) |
Feb
(5) |
Mar
|
Apr
|
May
(11) |
Jun
(7) |
Jul
(3) |
Aug
|
Sep
(2) |
Oct
(8) |
Nov
(16) |
Dec
(15) |
2010 |
Jan
(6) |
Feb
(5) |
Mar
(1) |
Apr
(14) |
May
(42) |
Jun
(4) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
(4) |
Dec
(1) |
2011 |
Jan
(3) |
Feb
|
Mar
|
Apr
(7) |
May
(1) |
Jun
(2) |
Jul
(4) |
Aug
(19) |
Sep
(9) |
Oct
(13) |
Nov
(4) |
Dec
(3) |
2012 |
Jan
(2) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
(11) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(3) |
Dec
(2) |
2013 |
Jan
(4) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(7) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
(2) |
Jul
(2) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(2) |
2016 |
Jan
(6) |
Feb
(2) |
Mar
(1) |
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(4) |
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: 刘磊 <orp...@ms...> - 2008-05-01 10:44:52
|
I was follow the example of "IPv4 over MPLS: two LER example for mpls-linux-1.95x". Do you means I have to change the "mpls nhlfe add key 0 instructions nexthop eth3 ipv4 192.168.1.4 (returns key 0x2)" to "mpls nhlfe add key 0 instructions deliver nexthop eth3 ipv4 192.168.1.4 (returns key 0x2)" ? ---------------------------------------- > Date: Wed, 30 Apr 2008 21:16:22 -0500 > From: jl...@mi... > To: @mindspring.com > CC: mpl...@li... > Subject: Re: [mpls-linux-devel] About mpls-packet to ip-packet process > > Hmm. I think you are looking at the PHP code. Take a look at > the 'deliver' instruction. It will show you that packets destined from > IPv4 may be configured to go through 'ip_rcv' which will result in > the packet travesing all of the IPv4 netfilter hooks. > > On Wed, Apr 30, 2008 at 03:56:51AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: >> >> Hi all: >> I found that the packet which from ip stack to mpls stack in the ip_finish_output2 had passed POSTROUTING hook in netfilter. >> BUT the packet from mpls stack to ip stack just use neighbour->output, which NOT hook in PREROUTING in netfilter. >> >> In this way, if I do SNAT for ip packet and send into mpls stack, will NOT do Un-SNAT for the reply packet. >> >> Is my understand right? How to solved it? >> _________________________________________________________________ >> 用手机MSN聊天写邮件看空间,无限沟通,分享精彩! >> http://mobile.msn.com.cn/ >> > >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >> Don't miss this year's exciting event. There's still time to save $100. >> Use priority code J8TL2D2. >> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone >> _______________________________________________ >> mpls-linux-devel mailing list >> mpl...@li... >> https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel > > > -- > James R. Leu > jl...@mi... _________________________________________________________________ MSN 中文网,最新时尚生活资讯,白领聚集门户。 http://cn.msn.com |
From: James R. L. <jl...@mi...> - 2008-05-01 02:16:31
|
Hmm. I think you are looking at the PHP code. Take a look at the 'deliver' instruction. It will show you that packets destined from IPv4 may be configured to go through 'ip_rcv' which will result in the packet travesing all of the IPv4 netfilter hooks. On Wed, Apr 30, 2008 at 03:56:51AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: > > Hi all: > I found that the packet which from ip stack to mpls stack in the ip_finish_output2 had passed POSTROUTING hook in netfilter. > BUT the packet from mpls stack to ip stack just use neighbour->output, which NOT hook in PREROUTING in netfilter. > > In this way, if I do SNAT for ip packet and send into mpls stack, will NOT do Un-SNAT for the reply packet. > > Is my understand right? How to solved it? > _________________________________________________________________ > 用手机MSN聊天写邮件看空间,无限沟通,分享精彩! > http://mobile.msn.com.cn/ > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > mpls-linux-devel mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel -- James R. Leu jl...@mi... |
From: 刘磊 <orp...@ms...> - 2008-04-30 03:57:03
|
Hi all: I found that the packet which from ip stack to mpls stack in the ip_finish_output2 had passed POSTROUTING hook in netfilter. BUT the packet from mpls stack to ip stack just use neighbour->output, which NOT hook in PREROUTING in netfilter. In this way, if I do SNAT for ip packet and send into mpls stack, will NOT do Un-SNAT for the reply packet. Is my understand right? How to solved it? _________________________________________________________________ 用手机MSN聊天写邮件看空间,无限沟通,分享精彩! http://mobile.msn.com.cn/ |
From: 刘磊 <orp...@ms...> - 2008-04-25 03:38:31
|
Solved. Thank You very much. Because I had lose the process in ip_output_finish2 when I patch MPLS-Linux to kernel-2.6.24. ---------------------------------------- > From: orp...@ms... > To: jl...@mi... > Date: Fri, 25 Apr 2008 01:19:27 +0000 > CC: mpl...@li... > Subject: Re: [mpls-linux-devel] What is the process of applying the mpls label to IP packet? > > > Thank you for help. > I'll try again. > BUT, I don't found the file /proc/net/mpls/debug, there is only one file in /proc/net named mpls. And it's create by "create_proc_entry(name_mpls, S_IFREG|S_IRUSR|S_IWUSR, proc_net);" in mpls_procfs.c. > > ---------------------------------------- >> Date: Thu, 24 Apr 2008 07:59:07 -0500 >> From: jl...@mi... >> To: @mindspring.com >> CC: mpl...@li... >> Subject: Re: [mpls-linux-devel] What is the process of applying the mpls label to IP packet? >> >> On Thu, Apr 24, 2008 at 02:20:37AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: >>> >>> Hi, all >>> I had some problem in using MPLS-Linux, which NOT solved in general mail list. >>> What is the the process of applying the mpls label to IP packet, or in which function? >>> ip_route_input -> ip_route_input_slow -> ip_mkroute_input -> __mkroute_input -> rt_set_nexthop -> mpls_set_nexthop? -> mpls_set_nexthop2 ? -> mpls_switch ? -> mpls_output2 ? -> mpls_send ? >> >> rt_set_nexthop() is where we take the shim_blk from the matched route (dst) >> and modify the skb so that when ip_output_finish2() is called the >> check for the child dst is true and the packet gets redirected to mpls_output(). >> mpls_output2() processes the instructions attached to the NHLFE. If the >> instruction list contains PUSH, then mpls_push() is called and >> the label is pushed on to the packet. >> >> If you enable debugging (echo 1> /proc/net/mpls/debug) then you will >> see in the kernel log the calls to the various functions. >> >>> And follow is the problem what I had post in general mail list >>> ================================================ >>> Date: Wed, 23 Apr 2008 13:04:15 +0300 >>> From: adr...@gm... >>> To: orp...@ms... >>> Subject: Re: [mpls-linux-general] Does mpls-linux support for add label to normal IP packet? >>> CC: mpl...@li... >>> >>> It seems that no traffic passes through nhlfe 0x03. This is why you don't have any mpls labels. >>> >>> I can't really tell why it's not working... Sorry... >>> >>>> 2008/4/23 刘磊 : >>>> >>>> Thank You. I have do that you said. BUT I'm in HOST B, LER2. My ip address is 192.168.99.4/24 and 10.0.0.2. >>>> >>>> -bash-3.2# dmesg >>>> MPLS: version 1.958 >>>> MPLS: protocol driver interface - >>>> MPLS: IPv4 over MPLS support >>>> -bash-3.2# >>>> -bash-3.2# lsmod >>>> Module Size Used by Not tainted >>>> mpls4 3904 0 >>>> mpls 67240 1 mpls4 >>>> pcnet32 27332 0 >>>> e100 28620 0 >>>> e1000 105024 0 >>>> e1000e 80932 0 >>>> -bash-3.2# >>>> -bash-3.2# ip r >>>> 10.0.0.1 via 172.16.0.2 dev eth1 mpls 0x3 >>>> 172.16.0.0/24 dev eth1 proto kernel scope link src 172.16.0.3 >>>> 192.168.99.0/24 dev eth2 proto kernel scope link src 192.168.99.3 >>>> -bash-3.2# >>>> -bash-3.2# mpls nhlfe show >>>> NHLFE entry key 0x00000003 mtu 1496 propagate_ttl >>>> push gen 2000 set eth1 ipv4 172.16.0.2 (0 bytes, 0 pkts) >>>> NHLFE entry key 0x00000002 mtu 1500 propagate_ttl >>>> set eth2 ipv4 192.168.1.4 (0 bytes, 0 pkts) >>>> >>>> And after I had a ping in 10.0.0.2 >>>> -bash-3.2# ip r >>>> 10.0.0.1 via 172.16.0.2 dev eth1 mpls 0x3 >>>> 172.16.0.0/24 dev eth1 proto kernel scope link src 172.16.0.3 >>>> 192.168.99.0/24 dev eth2 proto kernel scope link src 192.168.99.3 >>>> -bash-3.2# mpls nhlfe show >>>> NHLFE entry key 0x00000003 mtu 1496 propagate_ttl >>>> push gen 2000 set eth1 ipv4 172.16.0.2 (0 bytes, 0 pkts) >>>> NHLFE entry key 0x00000002 mtu 1500 propagate_ttl >>>> set eth2 ipv4 192.168.1.4 (0 bytes, 0 pkts) >>>> -bash-3.2# >>>> -bash-3.2# ifconfig >>>> eth1 Link encap:Ethernet HWaddr 00:C0:5C:12:C4:0D >>>> inet addr:172.16.0.3 Bcast:0.0.0.0 Mask:255.255.255.0 >>>> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 >>>> RX packets:214 errors:0 dropped:0 overruns:0 frame:0 >>>> TX packets:44 errors:0 dropped:0 overruns:0 carrier:0 >>>> collisions:0 txqueuelen:100 >>>> RX bytes:17444 (17.0 KiB) TX bytes:4298 (4.1 KiB) >>>> Base address:0xc400 Memory:ff780000-ff7a0000 >>>> >>>> eth2 Link encap:Ethernet HWaddr 00:C0:5C:12:C4:0E >>>> inet addr:192.168.99.3 Bcast:0.0.0.0 Mask:255.255.255.0 >>>> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 >>>> RX packets:1025 errors:0 dropped:0 overruns:0 frame:0 >>>> TX packets:263 errors:0 dropped:0 overruns:0 carrier:0 >>>> collisions:0 txqueuelen:100 >>>> RX bytes:77966 (76.1 KiB) TX bytes:49836 (48.6 KiB) >>>> Base address:0xc000 Memory:ff740000-ff760000 >>>> >>>> And tcpdump in LER2's eth1 (to LER1's 172.16.0.2) >>>> >>>> 00:20:18.333708 IP 10.0.0.2> 10.0.0.1: ICMP echo request, id 59752, seq 27, length 64 >>>> 0x0000: 4500 0054 0000 4000 3f01 27a7 0a00 0002 >>>> 0x0010: 0a00 0001 0800 df87 e968 001b 5f05 0f48 >>>> 0x0020: c9a3 0c00 0809 0a0b 0c0d 0e0f 1011 1213 >>>> 0x0030: 1415 1617 1819 >>>> 00:20:19.321941 arp who-has 172.16.0.2 tell 172.16.0.3 >>>> 0x0000: 0001 0800 0604 0001 00c0 5c12 c40d ac10 >>>> 0x0010: 0003 0000 0000 0000 ac10 0002 >>>> 00:20:19.322301 arp reply 172.16.0.2 is-at 00:0c:29:ef:a2:98 >>>> 0x0000: 0001 0800 0604 0002 000c 29ef a298 ac10 >>>> 0x0010: 0002 00c0 5c12 c40d ac10 0003 0000 0000 >>>> 0x0020: 0000 0000 0000 0000 0000 0000 0000 >>>> 00:20:19.333624 IP 10.0.0.2> 10.0.0.1: ICMP echo request, id 59752, seq 28, length 64 >>>> 0x0000: 4500 0054 0000 4000 3f01 27a7 0a00 0002 >>>> 0x0010: 0a00 0001 0800 de86 e968 001c 6005 0f48 >>>> 0x0020: c9a3 0c00 0809 0a0b 0c0d 0e0f 1011 1213 >>>> 0x0030: 1415 1617 1819 >>>> >>>> There was no MPLS-DATA in the packet, and the packet forward to 172.16.0.2 in original IP packet. >>>> ________________________________ >>>>> Date: Wed, 23 Apr 2008 11:37:57 +0300 >>>>> From: adr...@gm... >>>>> To: orp...@ms... >>>>> Subject: Re: [mpls-linux-general] Does mpls-linux support for add label to normal IP packet? >>>>> CC: mpl...@li... >>>>> >>>>> Ok, concentrate on LER1; >>>>> It will encapsulate in MPLS only packets that go to 10.0.0.2/32. The rest of the traffic will be plain IP. >>>>> >>>>> Try again and look for error messages after each command. Make sure you're running the mpls-enabled kernel (dmesg | grep mpls) and also that you have the mpls4 module loaded (lsmod | grep mpls). >>>>> >>>>> After starting a ping to 10.0.0.2 issue these commands on ler1: >>>>> mpls nhlfe show >>>>> ip route show >>>>> >>>>> If all is setup correctly, tcpdump will show the MPLS header between Ethernet and IP. >>>>> >>>>> You only need iptables if you want to create more specific rules to use for MPLS. Something like you want only FTP traffic to go through MPLS or you want traffic from source X to go through MPLS, etc. You can use iproute to specify that you want traffic going to destination X to go through MPLS. >>>>> >>>>> Cheers, >>>>> Adrian >>>>> >>>>> 2008/4/23 刘磊 : >>>>> >>>>> Hello >>>>> Thank You first. >>>>> I had tried "IPv4 over MPLS: two LER example for mpls-linux-1.95x", same as the example. >>>>> BUT, I had not find in the packets(above the ether layer, and below the IP layer) out from LER1's eth2 by tcpdump. >>>>> Does it's MUST with iptables to do this? >>>>> >>>>> ________________________________ >>>>>> Date: Wed, 23 Apr 2008 09:25:18 +0300 >>>>>> From: adr...@gm... >>>>>> To: orp...@ms... >>>>>> Subject: Re: [mpls-linux-general] Does mpls-linux support for add label to normal IP packet? >>>>>> CC: mpl...@li... >>>>>> >>>>>> Hello, >>>>>> >>>>>> The mpls command allows you to create labels and the route/iptables commands allow you to map certain IP flows to created labels. >>>>>> Please, better explain your problem (which example you used), and what was the problem so that we can better help. >>>>>> >>>>>> For a small overview of what mpls-linux does and how to use it, look here: >>>>>> http://mpls-linux.sourceforge.net/ >>>>>> http://www.elcom.pub.ro/~adrian.popa/mpls-linux/mpls-linux-docs/ >>>>>> >>>>>> Cheers, >>>>>> Adrian >>>>>> >>>>>>> 2008/4/23 刘磊 : >>>>>>> >>>>>>> Hi all: >>>>>>> I'm a new bie. >>>>>>> And I had some problem in MPLS-Linux. >>>>>>> Does mpls-linux support for add label to normal IP packet? >>>>>>> I'm failed with "Links to examples", because the LER1 doesn't add label to the normal IP packets. >>>>>>> Which function will do that in the source code? >>> _________________________________________________________________ >>> 多个邮箱同步管理,live mail客户端万人抢用中 >>> http://get.live.cn/product/mail.html >>> >> >>> ------------------------------------------------------------------------- >>> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >>> Don't miss this year's exciting event. There's still time to save $100. >>> Use priority code J8TL2D2. >>> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone >>> _______________________________________________ >>> mpls-linux-devel mailing list >>> mpl...@li... >>> https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel >> >> >> -- >> James R. Leu >> jl...@mi... > > _________________________________________________________________ > Windows Live Photo gallery 数码相机的超级伴侣,轻松管理和编辑照片,还能制作全景美图! > http://get.live.cn/product/photo.html > _________________________________________________________________ 新年换新颜,快来妆扮自己的MSN给心仪的TA一个惊喜! http://im.live.cn/emoticons/?ID=18 |
From: 刘磊 <orp...@ms...> - 2008-04-25 01:19:36
|
Thank you for help. I'll try again. BUT, I don't found the file /proc/net/mpls/debug, there is only one file in /proc/net named mpls. And it's create by "create_proc_entry(name_mpls, S_IFREG|S_IRUSR|S_IWUSR, proc_net);" in mpls_procfs.c. ---------------------------------------- > Date: Thu, 24 Apr 2008 07:59:07 -0500 > From: jl...@mi... > To: @mindspring.com > CC: mpl...@li... > Subject: Re: [mpls-linux-devel] What is the process of applying the mpls label to IP packet? > > On Thu, Apr 24, 2008 at 02:20:37AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: >> >> Hi, all >> I had some problem in using MPLS-Linux, which NOT solved in general mail list. >> What is the the process of applying the mpls label to IP packet, or in which function? >> ip_route_input -> ip_route_input_slow -> ip_mkroute_input -> __mkroute_input -> rt_set_nexthop -> mpls_set_nexthop? -> mpls_set_nexthop2 ? -> mpls_switch ? -> mpls_output2 ? -> mpls_send ? > > rt_set_nexthop() is where we take the shim_blk from the matched route (dst) > and modify the skb so that when ip_output_finish2() is called the > check for the child dst is true and the packet gets redirected to mpls_output(). > mpls_output2() processes the instructions attached to the NHLFE. If the > instruction list contains PUSH, then mpls_push() is called and > the label is pushed on to the packet. > > If you enable debugging (echo 1> /proc/net/mpls/debug) then you will > see in the kernel log the calls to the various functions. > >> And follow is the problem what I had post in general mail list >> ================================================ >> Date: Wed, 23 Apr 2008 13:04:15 +0300 >> From: adr...@gm... >> To: orp...@ms... >> Subject: Re: [mpls-linux-general] Does mpls-linux support for add label to normal IP packet? >> CC: mpl...@li... >> >> It seems that no traffic passes through nhlfe 0x03. This is why you don't have any mpls labels. >> >> I can't really tell why it's not working... Sorry... >> >>> 2008/4/23 刘磊 : >>> >>> Thank You. I have do that you said. BUT I'm in HOST B, LER2. My ip address is 192.168.99.4/24 and 10.0.0.2. >>> >>> -bash-3.2# dmesg >>> MPLS: version 1.958 >>> MPLS: protocol driver interface - >>> MPLS: IPv4 over MPLS support >>> -bash-3.2# >>> -bash-3.2# lsmod >>> Module Size Used by Not tainted >>> mpls4 3904 0 >>> mpls 67240 1 mpls4 >>> pcnet32 27332 0 >>> e100 28620 0 >>> e1000 105024 0 >>> e1000e 80932 0 >>> -bash-3.2# >>> -bash-3.2# ip r >>> 10.0.0.1 via 172.16.0.2 dev eth1 mpls 0x3 >>> 172.16.0.0/24 dev eth1 proto kernel scope link src 172.16.0.3 >>> 192.168.99.0/24 dev eth2 proto kernel scope link src 192.168.99.3 >>> -bash-3.2# >>> -bash-3.2# mpls nhlfe show >>> NHLFE entry key 0x00000003 mtu 1496 propagate_ttl >>> push gen 2000 set eth1 ipv4 172.16.0.2 (0 bytes, 0 pkts) >>> NHLFE entry key 0x00000002 mtu 1500 propagate_ttl >>> set eth2 ipv4 192.168.1.4 (0 bytes, 0 pkts) >>> >>> And after I had a ping in 10.0.0.2 >>> -bash-3.2# ip r >>> 10.0.0.1 via 172.16.0.2 dev eth1 mpls 0x3 >>> 172.16.0.0/24 dev eth1 proto kernel scope link src 172.16.0.3 >>> 192.168.99.0/24 dev eth2 proto kernel scope link src 192.168.99.3 >>> -bash-3.2# mpls nhlfe show >>> NHLFE entry key 0x00000003 mtu 1496 propagate_ttl >>> push gen 2000 set eth1 ipv4 172.16.0.2 (0 bytes, 0 pkts) >>> NHLFE entry key 0x00000002 mtu 1500 propagate_ttl >>> set eth2 ipv4 192.168.1.4 (0 bytes, 0 pkts) >>> -bash-3.2# >>> -bash-3.2# ifconfig >>> eth1 Link encap:Ethernet HWaddr 00:C0:5C:12:C4:0D >>> inet addr:172.16.0.3 Bcast:0.0.0.0 Mask:255.255.255.0 >>> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 >>> RX packets:214 errors:0 dropped:0 overruns:0 frame:0 >>> TX packets:44 errors:0 dropped:0 overruns:0 carrier:0 >>> collisions:0 txqueuelen:100 >>> RX bytes:17444 (17.0 KiB) TX bytes:4298 (4.1 KiB) >>> Base address:0xc400 Memory:ff780000-ff7a0000 >>> >>> eth2 Link encap:Ethernet HWaddr 00:C0:5C:12:C4:0E >>> inet addr:192.168.99.3 Bcast:0.0.0.0 Mask:255.255.255.0 >>> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 >>> RX packets:1025 errors:0 dropped:0 overruns:0 frame:0 >>> TX packets:263 errors:0 dropped:0 overruns:0 carrier:0 >>> collisions:0 txqueuelen:100 >>> RX bytes:77966 (76.1 KiB) TX bytes:49836 (48.6 KiB) >>> Base address:0xc000 Memory:ff740000-ff760000 >>> >>> And tcpdump in LER2's eth1 (to LER1's 172.16.0.2) >>> >>> 00:20:18.333708 IP 10.0.0.2> 10.0.0.1: ICMP echo request, id 59752, seq 27, length 64 >>> 0x0000: 4500 0054 0000 4000 3f01 27a7 0a00 0002 >>> 0x0010: 0a00 0001 0800 df87 e968 001b 5f05 0f48 >>> 0x0020: c9a3 0c00 0809 0a0b 0c0d 0e0f 1011 1213 >>> 0x0030: 1415 1617 1819 >>> 00:20:19.321941 arp who-has 172.16.0.2 tell 172.16.0.3 >>> 0x0000: 0001 0800 0604 0001 00c0 5c12 c40d ac10 >>> 0x0010: 0003 0000 0000 0000 ac10 0002 >>> 00:20:19.322301 arp reply 172.16.0.2 is-at 00:0c:29:ef:a2:98 >>> 0x0000: 0001 0800 0604 0002 000c 29ef a298 ac10 >>> 0x0010: 0002 00c0 5c12 c40d ac10 0003 0000 0000 >>> 0x0020: 0000 0000 0000 0000 0000 0000 0000 >>> 00:20:19.333624 IP 10.0.0.2> 10.0.0.1: ICMP echo request, id 59752, seq 28, length 64 >>> 0x0000: 4500 0054 0000 4000 3f01 27a7 0a00 0002 >>> 0x0010: 0a00 0001 0800 de86 e968 001c 6005 0f48 >>> 0x0020: c9a3 0c00 0809 0a0b 0c0d 0e0f 1011 1213 >>> 0x0030: 1415 1617 1819 >>> >>> There was no MPLS-DATA in the packet, and the packet forward to 172.16.0.2 in original IP packet. >>> ________________________________ >>>> Date: Wed, 23 Apr 2008 11:37:57 +0300 >>>> From: adr...@gm... >>>> To: orp...@ms... >>>> Subject: Re: [mpls-linux-general] Does mpls-linux support for add label to normal IP packet? >>>> CC: mpl...@li... >>>> >>>> Ok, concentrate on LER1; >>>> It will encapsulate in MPLS only packets that go to 10.0.0.2/32. The rest of the traffic will be plain IP. >>>> >>>> Try again and look for error messages after each command. Make sure you're running the mpls-enabled kernel (dmesg | grep mpls) and also that you have the mpls4 module loaded (lsmod | grep mpls). >>>> >>>> After starting a ping to 10.0.0.2 issue these commands on ler1: >>>> mpls nhlfe show >>>> ip route show >>>> >>>> If all is setup correctly, tcpdump will show the MPLS header between Ethernet and IP. >>>> >>>> You only need iptables if you want to create more specific rules to use for MPLS. Something like you want only FTP traffic to go through MPLS or you want traffic from source X to go through MPLS, etc. You can use iproute to specify that you want traffic going to destination X to go through MPLS. >>>> >>>> Cheers, >>>> Adrian >>>> >>>> 2008/4/23 刘磊 : >>>> >>>> Hello >>>> Thank You first. >>>> I had tried "IPv4 over MPLS: two LER example for mpls-linux-1.95x", same as the example. >>>> BUT, I had not find in the packets(above the ether layer, and below the IP layer) out from LER1's eth2 by tcpdump. >>>> Does it's MUST with iptables to do this? >>>> >>>> ________________________________ >>>>> Date: Wed, 23 Apr 2008 09:25:18 +0300 >>>>> From: adr...@gm... >>>>> To: orp...@ms... >>>>> Subject: Re: [mpls-linux-general] Does mpls-linux support for add label to normal IP packet? >>>>> CC: mpl...@li... >>>>> >>>>> Hello, >>>>> >>>>> The mpls command allows you to create labels and the route/iptables commands allow you to map certain IP flows to created labels. >>>>> Please, better explain your problem (which example you used), and what was the problem so that we can better help. >>>>> >>>>> For a small overview of what mpls-linux does and how to use it, look here: >>>>> http://mpls-linux.sourceforge.net/ >>>>> http://www.elcom.pub.ro/~adrian.popa/mpls-linux/mpls-linux-docs/ >>>>> >>>>> Cheers, >>>>> Adrian >>>>> >>>>>> 2008/4/23 刘磊 : >>>>>> >>>>>> Hi all: >>>>>> I'm a new bie. >>>>>> And I had some problem in MPLS-Linux. >>>>>> Does mpls-linux support for add label to normal IP packet? >>>>>> I'm failed with "Links to examples", because the LER1 doesn't add label to the normal IP packets. >>>>>> Which function will do that in the source code? >> _________________________________________________________________ >> 多个邮箱同步管理,live mail客户端万人抢用中 >> http://get.live.cn/product/mail.html >> > >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >> Don't miss this year's exciting event. There's still time to save $100. >> Use priority code J8TL2D2. >> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone >> _______________________________________________ >> mpls-linux-devel mailing list >> mpl...@li... >> https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel > > > -- > James R. Leu > jl...@mi... _________________________________________________________________ Windows Live Photo gallery 数码相机的超级伴侣,轻松管理和编辑照片,还能制作全景美图! http://get.live.cn/product/photo.html |
From: James R. L. <jl...@mi...> - 2008-04-24 12:59:23
|
On Thu, Apr 24, 2008 at 02:20:37AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: > > Hi, all > I had some problem in using MPLS-Linux, which NOT solved in general mail list. > What is the the process of applying the mpls label to IP packet, or in which function? > ip_route_input -> ip_route_input_slow -> ip_mkroute_input -> __mkroute_input -> rt_set_nexthop -> mpls_set_nexthop? -> mpls_set_nexthop2 ? -> mpls_switch ? -> mpls_output2 ? -> mpls_send ? rt_set_nexthop() is where we take the shim_blk from the matched route (dst) and modify the skb so that when ip_output_finish2() is called the check for the child dst is true and the packet gets redirected to mpls_output(). mpls_output2() processes the instructions attached to the NHLFE. If the instruction list contains PUSH, then mpls_push() is called and the label is pushed on to the packet. If you enable debugging (echo 1 > /proc/net/mpls/debug) then you will see in the kernel log the calls to the various functions. > And follow is the problem what I had post in general mail list > ================================================ > Date: Wed, 23 Apr 2008 13:04:15 +0300 > From: adr...@gm... > To: orp...@ms... > Subject: Re: [mpls-linux-general] Does mpls-linux support for add label to normal IP packet? > CC: mpl...@li... > > It seems that no traffic passes through nhlfe 0x03. This is why you don't have any mpls labels. > > I can't really tell why it's not working... Sorry... > > > 2008/4/23 刘磊 : > > > > Thank You. I have do that you said. BUT I'm in HOST B, LER2. My ip address is 192.168.99.4/24 and 10.0.0.2. > > > > -bash-3.2# dmesg > > MPLS: version 1.958 > > MPLS: protocol driver interface - > > MPLS: IPv4 over MPLS support > > -bash-3.2# > > -bash-3.2# lsmod > > Module Size Used by Not tainted > > mpls4 3904 0 > > mpls 67240 1 mpls4 > > pcnet32 27332 0 > > e100 28620 0 > > e1000 105024 0 > > e1000e 80932 0 > > -bash-3.2# > > -bash-3.2# ip r > > 10.0.0.1 via 172.16.0.2 dev eth1 mpls 0x3 > > 172.16.0.0/24 dev eth1 proto kernel scope link src 172.16.0.3 > > 192.168.99.0/24 dev eth2 proto kernel scope link src 192.168.99.3 > > -bash-3.2# > > -bash-3.2# mpls nhlfe show > > NHLFE entry key 0x00000003 mtu 1496 propagate_ttl > > push gen 2000 set eth1 ipv4 172.16.0.2 (0 bytes, 0 pkts) > > NHLFE entry key 0x00000002 mtu 1500 propagate_ttl > > set eth2 ipv4 192.168.1.4 (0 bytes, 0 pkts) > > > > And after I had a ping in 10.0.0.2 > > -bash-3.2# ip r > > 10.0.0.1 via 172.16.0.2 dev eth1 mpls 0x3 > > 172.16.0.0/24 dev eth1 proto kernel scope link src 172.16.0.3 > > 192.168.99.0/24 dev eth2 proto kernel scope link src 192.168.99.3 > > -bash-3.2# mpls nhlfe show > > NHLFE entry key 0x00000003 mtu 1496 propagate_ttl > > push gen 2000 set eth1 ipv4 172.16.0.2 (0 bytes, 0 pkts) > > NHLFE entry key 0x00000002 mtu 1500 propagate_ttl > > set eth2 ipv4 192.168.1.4 (0 bytes, 0 pkts) > > -bash-3.2# > > -bash-3.2# ifconfig > > eth1 Link encap:Ethernet HWaddr 00:C0:5C:12:C4:0D > > inet addr:172.16.0.3 Bcast:0.0.0.0 Mask:255.255.255.0 > > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > > RX packets:214 errors:0 dropped:0 overruns:0 frame:0 > > TX packets:44 errors:0 dropped:0 overruns:0 carrier:0 > > collisions:0 txqueuelen:100 > > RX bytes:17444 (17.0 KiB) TX bytes:4298 (4.1 KiB) > > Base address:0xc400 Memory:ff780000-ff7a0000 > > > > eth2 Link encap:Ethernet HWaddr 00:C0:5C:12:C4:0E > > inet addr:192.168.99.3 Bcast:0.0.0.0 Mask:255.255.255.0 > > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > > RX packets:1025 errors:0 dropped:0 overruns:0 frame:0 > > TX packets:263 errors:0 dropped:0 overruns:0 carrier:0 > > collisions:0 txqueuelen:100 > > RX bytes:77966 (76.1 KiB) TX bytes:49836 (48.6 KiB) > > Base address:0xc000 Memory:ff740000-ff760000 > > > > And tcpdump in LER2's eth1 (to LER1's 172.16.0.2) > > > > 00:20:18.333708 IP 10.0.0.2> 10.0.0.1: ICMP echo request, id 59752, seq 27, length 64 > > 0x0000: 4500 0054 0000 4000 3f01 27a7 0a00 0002 > > 0x0010: 0a00 0001 0800 df87 e968 001b 5f05 0f48 > > 0x0020: c9a3 0c00 0809 0a0b 0c0d 0e0f 1011 1213 > > 0x0030: 1415 1617 1819 > > 00:20:19.321941 arp who-has 172.16.0.2 tell 172.16.0.3 > > 0x0000: 0001 0800 0604 0001 00c0 5c12 c40d ac10 > > 0x0010: 0003 0000 0000 0000 ac10 0002 > > 00:20:19.322301 arp reply 172.16.0.2 is-at 00:0c:29:ef:a2:98 > > 0x0000: 0001 0800 0604 0002 000c 29ef a298 ac10 > > 0x0010: 0002 00c0 5c12 c40d ac10 0003 0000 0000 > > 0x0020: 0000 0000 0000 0000 0000 0000 0000 > > 00:20:19.333624 IP 10.0.0.2> 10.0.0.1: ICMP echo request, id 59752, seq 28, length 64 > > 0x0000: 4500 0054 0000 4000 3f01 27a7 0a00 0002 > > 0x0010: 0a00 0001 0800 de86 e968 001c 6005 0f48 > > 0x0020: c9a3 0c00 0809 0a0b 0c0d 0e0f 1011 1213 > > 0x0030: 1415 1617 1819 > > > > There was no MPLS-DATA in the packet, and the packet forward to 172.16.0.2 in original IP packet. > > ________________________________ > >> Date: Wed, 23 Apr 2008 11:37:57 +0300 > >> From: adr...@gm... > >> To: orp...@ms... > >> Subject: Re: [mpls-linux-general] Does mpls-linux support for add label to normal IP packet? > >> CC: mpl...@li... > >> > >> Ok, concentrate on LER1; > >> It will encapsulate in MPLS only packets that go to 10.0.0.2/32. The rest of the traffic will be plain IP. > >> > >> Try again and look for error messages after each command. Make sure you're running the mpls-enabled kernel (dmesg | grep mpls) and also that you have the mpls4 module loaded (lsmod | grep mpls). > >> > >> After starting a ping to 10.0.0.2 issue these commands on ler1: > >> mpls nhlfe show > >> ip route show > >> > >> If all is setup correctly, tcpdump will show the MPLS header between Ethernet and IP. > >> > >> You only need iptables if you want to create more specific rules to use for MPLS. Something like you want only FTP traffic to go through MPLS or you want traffic from source X to go through MPLS, etc. You can use iproute to specify that you want traffic going to destination X to go through MPLS. > >> > >> Cheers, > >> Adrian > >> > >> 2008/4/23 刘磊 : > >> > >> Hello > >> Thank You first. > >> I had tried "IPv4 over MPLS: two LER example for mpls-linux-1.95x", same as the example. > >> BUT, I had not find in the packets(above the ether layer, and below the IP layer) out from LER1's eth2 by tcpdump. > >> Does it's MUST with iptables to do this? > >> > >> ________________________________ > >>> Date: Wed, 23 Apr 2008 09:25:18 +0300 > >>> From: adr...@gm... > >>> To: orp...@ms... > >>> Subject: Re: [mpls-linux-general] Does mpls-linux support for add label to normal IP packet? > >>> CC: mpl...@li... > >>> > >>> Hello, > >>> > >>> The mpls command allows you to create labels and the route/iptables commands allow you to map certain IP flows to created labels. > >>> Please, better explain your problem (which example you used), and what was the problem so that we can better help. > >>> > >>> For a small overview of what mpls-linux does and how to use it, look here: > >>> http://mpls-linux.sourceforge.net/ > >>> http://www.elcom.pub.ro/~adrian.popa/mpls-linux/mpls-linux-docs/ > >>> > >>> Cheers, > >>> Adrian > >>> > >>>> 2008/4/23 刘磊 : > >>>> > >>>> Hi all: > >>>> I'm a new bie. > >>>> And I had some problem in MPLS-Linux. > >>>> Does mpls-linux support for add label to normal IP packet? > >>>> I'm failed with "Links to examples", because the LER1 doesn't add label to the normal IP packets. > >>>> Which function will do that in the source code? > _________________________________________________________________ > 多个邮箱同步管理,live mail客户端万人抢用中 > http://get.live.cn/product/mail.html > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > mpls-linux-devel mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel -- James R. Leu jl...@mi... |
From: 刘磊 <orp...@ms...> - 2008-04-24 02:20:44
|
Hi, all I had some problem in using MPLS-Linux, which NOT solved in general mail list. What is the the process of applying the mpls label to IP packet, or in which function? ip_route_input -> ip_route_input_slow -> ip_mkroute_input -> __mkroute_input -> rt_set_nexthop -> mpls_set_nexthop? -> mpls_set_nexthop2 ? -> mpls_switch ? -> mpls_output2 ? -> mpls_send ? And follow is the problem what I had post in general mail list ================================================ Date: Wed, 23 Apr 2008 13:04:15 +0300 From: adr...@gm... To: orp...@ms... Subject: Re: [mpls-linux-general] Does mpls-linux support for add label to normal IP packet? CC: mpl...@li... It seems that no traffic passes through nhlfe 0x03. This is why you don't have any mpls labels. I can't really tell why it's not working... Sorry... > 2008/4/23 刘磊 : > > Thank You. I have do that you said. BUT I'm in HOST B, LER2. My ip address is 192.168.99.4/24 and 10.0.0.2. > > -bash-3.2# dmesg > MPLS: version 1.958 > MPLS: protocol driver interface - > MPLS: IPv4 over MPLS support > -bash-3.2# > -bash-3.2# lsmod > Module Size Used by Not tainted > mpls4 3904 0 > mpls 67240 1 mpls4 > pcnet32 27332 0 > e100 28620 0 > e1000 105024 0 > e1000e 80932 0 > -bash-3.2# > -bash-3.2# ip r > 10.0.0.1 via 172.16.0.2 dev eth1 mpls 0x3 > 172.16.0.0/24 dev eth1 proto kernel scope link src 172.16.0.3 > 192.168.99.0/24 dev eth2 proto kernel scope link src 192.168.99.3 > -bash-3.2# > -bash-3.2# mpls nhlfe show > NHLFE entry key 0x00000003 mtu 1496 propagate_ttl > push gen 2000 set eth1 ipv4 172.16.0.2 (0 bytes, 0 pkts) > NHLFE entry key 0x00000002 mtu 1500 propagate_ttl > set eth2 ipv4 192.168.1.4 (0 bytes, 0 pkts) > > And after I had a ping in 10.0.0.2 > -bash-3.2# ip r > 10.0.0.1 via 172.16.0.2 dev eth1 mpls 0x3 > 172.16.0.0/24 dev eth1 proto kernel scope link src 172.16.0.3 > 192.168.99.0/24 dev eth2 proto kernel scope link src 192.168.99.3 > -bash-3.2# mpls nhlfe show > NHLFE entry key 0x00000003 mtu 1496 propagate_ttl > push gen 2000 set eth1 ipv4 172.16.0.2 (0 bytes, 0 pkts) > NHLFE entry key 0x00000002 mtu 1500 propagate_ttl > set eth2 ipv4 192.168.1.4 (0 bytes, 0 pkts) > -bash-3.2# > -bash-3.2# ifconfig > eth1 Link encap:Ethernet HWaddr 00:C0:5C:12:C4:0D > inet addr:172.16.0.3 Bcast:0.0.0.0 Mask:255.255.255.0 > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > RX packets:214 errors:0 dropped:0 overruns:0 frame:0 > TX packets:44 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:100 > RX bytes:17444 (17.0 KiB) TX bytes:4298 (4.1 KiB) > Base address:0xc400 Memory:ff780000-ff7a0000 > > eth2 Link encap:Ethernet HWaddr 00:C0:5C:12:C4:0E > inet addr:192.168.99.3 Bcast:0.0.0.0 Mask:255.255.255.0 > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > RX packets:1025 errors:0 dropped:0 overruns:0 frame:0 > TX packets:263 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:100 > RX bytes:77966 (76.1 KiB) TX bytes:49836 (48.6 KiB) > Base address:0xc000 Memory:ff740000-ff760000 > > And tcpdump in LER2's eth1 (to LER1's 172.16.0.2) > > 00:20:18.333708 IP 10.0.0.2> 10.0.0.1: ICMP echo request, id 59752, seq 27, length 64 > 0x0000: 4500 0054 0000 4000 3f01 27a7 0a00 0002 > 0x0010: 0a00 0001 0800 df87 e968 001b 5f05 0f48 > 0x0020: c9a3 0c00 0809 0a0b 0c0d 0e0f 1011 1213 > 0x0030: 1415 1617 1819 > 00:20:19.321941 arp who-has 172.16.0.2 tell 172.16.0.3 > 0x0000: 0001 0800 0604 0001 00c0 5c12 c40d ac10 > 0x0010: 0003 0000 0000 0000 ac10 0002 > 00:20:19.322301 arp reply 172.16.0.2 is-at 00:0c:29:ef:a2:98 > 0x0000: 0001 0800 0604 0002 000c 29ef a298 ac10 > 0x0010: 0002 00c0 5c12 c40d ac10 0003 0000 0000 > 0x0020: 0000 0000 0000 0000 0000 0000 0000 > 00:20:19.333624 IP 10.0.0.2> 10.0.0.1: ICMP echo request, id 59752, seq 28, length 64 > 0x0000: 4500 0054 0000 4000 3f01 27a7 0a00 0002 > 0x0010: 0a00 0001 0800 de86 e968 001c 6005 0f48 > 0x0020: c9a3 0c00 0809 0a0b 0c0d 0e0f 1011 1213 > 0x0030: 1415 1617 1819 > > There was no MPLS-DATA in the packet, and the packet forward to 172.16.0.2 in original IP packet. > ________________________________ >> Date: Wed, 23 Apr 2008 11:37:57 +0300 >> From: adr...@gm... >> To: orp...@ms... >> Subject: Re: [mpls-linux-general] Does mpls-linux support for add label to normal IP packet? >> CC: mpl...@li... >> >> Ok, concentrate on LER1; >> It will encapsulate in MPLS only packets that go to 10.0.0.2/32. The rest of the traffic will be plain IP. >> >> Try again and look for error messages after each command. Make sure you're running the mpls-enabled kernel (dmesg | grep mpls) and also that you have the mpls4 module loaded (lsmod | grep mpls). >> >> After starting a ping to 10.0.0.2 issue these commands on ler1: >> mpls nhlfe show >> ip route show >> >> If all is setup correctly, tcpdump will show the MPLS header between Ethernet and IP. >> >> You only need iptables if you want to create more specific rules to use for MPLS. Something like you want only FTP traffic to go through MPLS or you want traffic from source X to go through MPLS, etc. You can use iproute to specify that you want traffic going to destination X to go through MPLS. >> >> Cheers, >> Adrian >> >> 2008/4/23 刘磊 : >> >> Hello >> Thank You first. >> I had tried "IPv4 over MPLS: two LER example for mpls-linux-1.95x", same as the example. >> BUT, I had not find in the packets(above the ether layer, and below the IP layer) out from LER1's eth2 by tcpdump. >> Does it's MUST with iptables to do this? >> >> ________________________________ >>> Date: Wed, 23 Apr 2008 09:25:18 +0300 >>> From: adr...@gm... >>> To: orp...@ms... >>> Subject: Re: [mpls-linux-general] Does mpls-linux support for add label to normal IP packet? >>> CC: mpl...@li... >>> >>> Hello, >>> >>> The mpls command allows you to create labels and the route/iptables commands allow you to map certain IP flows to created labels. >>> Please, better explain your problem (which example you used), and what was the problem so that we can better help. >>> >>> For a small overview of what mpls-linux does and how to use it, look here: >>> http://mpls-linux.sourceforge.net/ >>> http://www.elcom.pub.ro/~adrian.popa/mpls-linux/mpls-linux-docs/ >>> >>> Cheers, >>> Adrian >>> >>>> 2008/4/23 刘磊 : >>>> >>>> Hi all: >>>> I'm a new bie. >>>> And I had some problem in MPLS-Linux. >>>> Does mpls-linux support for add label to normal IP packet? >>>> I'm failed with "Links to examples", because the LER1 doesn't add label to the normal IP packets. >>>> Which function will do that in the source code? _________________________________________________________________ 多个邮箱同步管理,live mail客户端万人抢用中 http://get.live.cn/product/mail.html |
From: James R. L. <jl...@mi...> - 2008-04-15 02:21:21
|
Thanks for the report. I'm able to duplicate the message and have found the source. I had forgotten to add the MPLS values to sysctl_check(). I'll post new RPMs after I rebuild. On Mon, Apr 14, 2008 at 06:29:55AM -0400, Chris Robson wrote: > > James > > The really great news is, the auto yum-update caught this mpls based kernel > updated notice this morning and the kernel update is in sync with the > latest released fedora 8 kernel cycle ( 2.6.24.4-64). Further, the mpls > code compiles and at least boots up with even the latest CVS pulls (at > least release 2.6.24.4-80). The even better news, for me at least, is this > new yum-update build has a compatible nvidia driver, a really annoying > problem with Lenovo T61 and new kernels. > The , still, bad news is sysctl is still crashing from, what I believe, is > with the mpls_procfs.c program at the code listed below. Following the > code is the crash at bootup time. Whats interesti is a home-grown build of > the mpls code just gets the message "Unknown sysctl binary path". > I had removed the sysctl code and was going to test the high speed > interface issue that was plaguing successful testing but will delay that > and just test with this yum distro of the kernel. > > .....Chris > > +int __init mpls_procfs_init(void) > +{ > + if (!proc_net_fops_create(&init_net, "mpls", S_IRUGO, > + &mpls_seq_fops)) { > + printk(MPLS_ERR "MPLS: failed to register with procfs\n"); > + return -ENOMEM; > + } > + return 0; > > > sysctl table check failed: /net/mpls .3.21 Unknown sysctl binary path > Pid: 1, comm: swapper Not tainted 2.6.24.4-64.fc8.mpls.1.959 #1 > [<c0442bef>] set_fail+0x3b/0x43 > [<c0443006>] sysctl_check_table+0x40f/0x460 > [<c04352d5>] sysctl_head_finish+0x18/0x22 > [<c044301a>] sysctl_check_table+0x423/0x460 > [<c043429d>] sysctl_set_parent+0x19/0x2a > [<c076ff12>] sysctl_init+0x16/0x19 > [<c075d536>] kernel_init+0x1ed/0x360 > [<c0405096>] ret_from_fork+0x6/0x1c > [<c075d349>] kernel_init+0x0/0x360 > [<c075d349>] kernel_init+0x0/0x360 > [<c0405e0b>] kernel_thread_helper+0x7/0x10 > ======================= > sysctl table check failed: /net/mpls/debug .3.21.1 Unknown sysctl binary > path > Pid: 1, comm: swapper Not tainted 2.6.24.4-64.fc8.mpls.1.959 #1 > [<c0442bef>] set_fail+0x3b/0x43 > [<c0443006>] sysctl_check_table+0x40f/0x460 > [<c044301a>] sysctl_check_table+0x423/0x460 > [<c04352d5>] sysctl_head_finish+0x18/0x22 > [<c044301a>] sysctl_check_table+0x423/0x460 > [<c043429d>] sysctl_set_parent+0x19/0x2a > [<c076ff12>] sysctl_init+0x16/0x19 > [<c075d536>] kernel_init+0x1ed/0x360 > [<c0405096>] ret_from_fork+0x6/0x1c > [<c075d349>] kernel_init+0x0/0x360 > [<c075d349>] kernel_init+0x0/0x360 > [<c0405e0b>] kernel_thread_helper+0x7/0x10 > ======================= > sysctl table check failed: /net/mpls/default_ttl .3.21.2 Unknown sysctl > binary path > Pid: 1, comm: swapper Not tainted 2.6.24.4-64.fc8.mpls.1.959 #1 > [<c0442bef>] set_fail+0x3b/0x43 > [<c0443006>] sysctl_check_table+0x40f/0x460 > [<c044301a>] sysctl_check_table+0x423/0x460 > [<c04352d5>] sysctl_head_finish+0x18/0x22 > [<c044301a>] sysctl_check_table+0x423/0x460 > [<c043429d>] sysctl_set_parent+0x19/0x2a > [<c076ff12>] sysctl_init+0x16/0x19 > [<c075d536>] kernel_init+0x1ed/0x360 > [<c0405096>] ret_from_fork+0x6/0x1c > [<c075d349>] kernel_init+0x0/0x360 > [<c075d349>] kernel_init+0x0/0x360 > [<c0405e0b>] kernel_thread_helper+0x7/0x10 > ======================= > Time: 9:52:08 Date: 04/14/08 > NET: Registered protocol family 16 > > -- > Christopher Robson > Senior Computer Scientist, GS-15 > Naval Research Laboratory > Center for Computational Science > Networking, Code 5591 > 4555 Overlook ave. > Washington, D.C. 20375-5320 > (COM) 202-404-3138 > (VoIP) 2024043138@ATDNet > (CHAT) Chris.Robson@ATDNet > -- James R. Leu jl...@mi... |
From: Chris R. <Chr...@nr...> - 2008-04-14 10:30:30
|
James The really great news is, the auto yum-update caught this mpls based kernel updated notice this morning and the kernel update is in sync with the latest released fedora 8 kernel cycle ( 2.6.24.4-64). Further, the mpls code compiles and at least boots up with even the latest CVS pulls (at least release 2.6.24.4-80). The even better news, for me at least, is this new yum-update build has a compatible nvidia driver, a really annoying problem with Lenovo T61 and new kernels. The , still, bad news is sysctl is still crashing from, what I believe, is with the mpls_procfs.c program at the code listed below. Following the code is the crash at bootup time. Whats interesti is a home-grown build of the mpls code just gets the message "Unknown sysctl binary path". I had removed the sysctl code and was going to test the high speed interface issue that was plaguing successful testing but will delay that and just test with this yum distro of the kernel. .....Chris +int __init mpls_procfs_init(void) +{ + if (!proc_net_fops_create(&init_net, "mpls", S_IRUGO, + &mpls_seq_fops)) { + printk(MPLS_ERR "MPLS: failed to register with procfs\n"); + return -ENOMEM; + } + return 0; sysctl table check failed: /net/mpls .3.21 Unknown sysctl binary path Pid: 1, comm: swapper Not tainted 2.6.24.4-64.fc8.mpls.1.959 #1 [<c0442bef>] set_fail+0x3b/0x43 [<c0443006>] sysctl_check_table+0x40f/0x460 [<c04352d5>] sysctl_head_finish+0x18/0x22 [<c044301a>] sysctl_check_table+0x423/0x460 [<c043429d>] sysctl_set_parent+0x19/0x2a [<c076ff12>] sysctl_init+0x16/0x19 [<c075d536>] kernel_init+0x1ed/0x360 [<c0405096>] ret_from_fork+0x6/0x1c [<c075d349>] kernel_init+0x0/0x360 [<c075d349>] kernel_init+0x0/0x360 [<c0405e0b>] kernel_thread_helper+0x7/0x10 ======================= sysctl table check failed: /net/mpls/debug .3.21.1 Unknown sysctl binary path Pid: 1, comm: swapper Not tainted 2.6.24.4-64.fc8.mpls.1.959 #1 [<c0442bef>] set_fail+0x3b/0x43 [<c0443006>] sysctl_check_table+0x40f/0x460 [<c044301a>] sysctl_check_table+0x423/0x460 [<c04352d5>] sysctl_head_finish+0x18/0x22 [<c044301a>] sysctl_check_table+0x423/0x460 [<c043429d>] sysctl_set_parent+0x19/0x2a [<c076ff12>] sysctl_init+0x16/0x19 [<c075d536>] kernel_init+0x1ed/0x360 [<c0405096>] ret_from_fork+0x6/0x1c [<c075d349>] kernel_init+0x0/0x360 [<c075d349>] kernel_init+0x0/0x360 [<c0405e0b>] kernel_thread_helper+0x7/0x10 ======================= sysctl table check failed: /net/mpls/default_ttl .3.21.2 Unknown sysctl binary path Pid: 1, comm: swapper Not tainted 2.6.24.4-64.fc8.mpls.1.959 #1 [<c0442bef>] set_fail+0x3b/0x43 [<c0443006>] sysctl_check_table+0x40f/0x460 [<c044301a>] sysctl_check_table+0x423/0x460 [<c04352d5>] sysctl_head_finish+0x18/0x22 [<c044301a>] sysctl_check_table+0x423/0x460 [<c043429d>] sysctl_set_parent+0x19/0x2a [<c076ff12>] sysctl_init+0x16/0x19 [<c075d536>] kernel_init+0x1ed/0x360 [<c0405096>] ret_from_fork+0x6/0x1c [<c075d349>] kernel_init+0x0/0x360 [<c075d349>] kernel_init+0x0/0x360 [<c0405e0b>] kernel_thread_helper+0x7/0x10 ======================= Time: 9:52:08 Date: 04/14/08 NET: Registered protocol family 16 -- Christopher Robson Senior Computer Scientist, GS-15 Naval Research Laboratory Center for Computational Science Networking, Code 5591 4555 Overlook ave. Washington, D.C. 20375-5320 (COM) 202-404-3138 (VoIP) 2024043138@ATDNet (CHAT) Chris.Robson@ATDNet |
From: J. N. <oc...@gm...> - 2008-04-07 10:46:43
|
Thanks. I didn't prove it. I'll try tonight. On 4/7/08, Adrian Popa <adr...@gm...> wrote: > > Have you tried compiling without rip (--disable-rip)? > > I too had various problems while compiling quagga (also try to disable > ipv6). > > On Fri, Apr 4, 2008 at 5:59 PM, Jesús Nubiola <oc...@gm...> wrote: > > > Hi, I've been trying to compile quagga-mpls. I downloaded it from > > perforce, branch quagga-mpls. > > > > I did the autoconf (executing aclocal, autoconf and automake) and > > ./configure. This works ok, but when trying to build it it starts > > throwing > > errors. > > > > First, in ./lib/memtypes.h, MTYPE_TE and MTYPE_RSVP are not > > defined. > > > > Then in the file ./zebra/if_tunnel.c, gives an error about __u16 not > > being defined. I solved it by including linux/types.h. > > > > > > Finally there is an error in RIP that i don't understand. The error is: > > rip_zebra.c:305: error: expected '}' before > > 'QUAGGA_REDIST_STR_RIPD' > > > > My question is, is that normal? I don't know if it is under development > > right > > now or I picked the wrong branch in the perforce server. > > > > All I want to do for now is trying the lastest working version to try > > it. Is there > > any way I can obtain it? > > > > > > Thanks > > > > > > > > ------------------------------------------------------------------------- > > Check out the new SourceForge.net Marketplace. > > It's the best place to buy or sell services for > > just about anything Open Source. > > > > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > > _______________________________________________ > > mpls-linux-general mailing list > > mpl...@li... > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > > > > |
From: Adrian P. <adr...@gm...> - 2008-04-07 08:50:25
|
Have you tried compiling without rip (--disable-rip)? I too had various problems while compiling quagga (also try to disable ipv6). On Fri, Apr 4, 2008 at 5:59 PM, Jesús Nubiola <oc...@gm...> wrote: > Hi, I've been trying to compile quagga-mpls. I downloaded it from > perforce, branch quagga-mpls. > > I did the autoconf (executing aclocal, autoconf and automake) and > ./configure. This works ok, but when trying to build it it starts throwing > errors. > > First, in ./lib/memtypes.h, MTYPE_TE and MTYPE_RSVP are not > defined. > > Then in the file ./zebra/if_tunnel.c, gives an error about __u16 not > being defined. I solved it by including linux/types.h. > > > Finally there is an error in RIP that i don't understand. The error is: > rip_zebra.c:305: error: expected '}' before > 'QUAGGA_REDIST_STR_RIPD' > > My question is, is that normal? I don't know if it is under development > right > now or I picked the wrong branch in the perforce server. > > All I want to do for now is trying the lastest working version to try it. > Is there > any way I can obtain it? > > > Thanks > > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > |
From: J. N. <oc...@gm...> - 2008-04-04 14:59:44
|
Hi, I've been trying to compile quagga-mpls. I downloaded it from perforce, branch quagga-mpls. I did the autoconf (executing aclocal, autoconf and automake) and ./configure. This works ok, but when trying to build it it starts throwing errors. First, in ./lib/memtypes.h, MTYPE_TE and MTYPE_RSVP are not defined. Then in the file ./zebra/if_tunnel.c, gives an error about __u16 not being defined. I solved it by including linux/types.h. Finally there is an error in RIP that i don't understand. The error is: rip_zebra.c:305: error: expected '}' before 'QUAGGA_REDIST_STR_RIPD' My question is, is that normal? I don't know if it is under development right now or I picked the wrong branch in the perforce server. All I want to do for now is trying the lastest working version to try it. Is there any way I can obtain it? Thanks |
From: Philippe F. <Phi...@eu...> - 2008-04-01 16:25:20
|
Hi there, On your official webpage (http://sourceforge.net/project/showfiles.php?group_id=15443&package_id=12482&release_id=541952) I can download all MPLS-patched tools and kernel I need in a RPM format (which is so easy and confortable :D) except Quagga and LDP stuff which are not present. I've downloaded all your files on Perforce Repository and I didn't find any RPM inside. Do I have to install quagga and ldp manually (I mean from sources, aplying patches, etc ?... ) I saw that in "mpls-linux-1.1/patches" there is a 'quagga.diff' which has to be applied on 0.99.6 quagga source version, but this will be only for MPLS version 1.956 whereas I installed all th esoftware with MPLS version equals to 1.958 Any advice ? Thanks in advance Philippe foubert -- -------------------------------------- Philippe Foubert -------------------------------------- INSTITUT EURECOM Mobile Communications Department 2229, route des Crêtes B.P. 193 06904 Sophia-Antipolis - France Phone : +33(0)4.93.00.82.18 e-mail: phi...@eu... -------------------------------------- |
From: Adrian P. <adr...@gm...> - 2008-03-28 12:37:03
|
Unfortunatelly I don't think you can convert the kernel from rpm to deb, but it's worth a try :) Anyway, don't be surprised if it works, if when you do a 'uname -a' you'll get an output saying that you run fedora :) On Fri, Mar 28, 2008 at 1:15 PM, Jesús Nubiola <oc...@gm...> wrote: > I will test for Ubuntu Gutsy soon. > > I remember that I try to follow your manual (Mpls-Lab) that is very > completed but I have problems during the recompilation of Kernel. I will try > again and report feedback. > > Thanks. > > > On Fri, Mar 28, 2008 at 7:51 AM, Adrian Popa <adr...@gm...> > wrote: > > > What I tried about 2 years back for debian (but it should work without > > changes for ubuntu also) is this: > > > > /usr/src# *alien iproute-2.6.11-1_mpls_1.950d.i386.rpm* > > > > *iproute_2.6.11-2_i386.deb generated* > > > > /usr/src# *alien --scripts iptables-1.3.0-2_mpls_1.950d.i386.rpm* > > > > *iptables_1.3.0-3_i386.deb generated* > > > > /usr/src# *alien --scripts ebtables-2.0.6-7_mpls_1.950d.i386.rpm* > > > > *ebtables_2.0.6-8_i386.deb generated* > > > > /usr/src# *dpkg -i iproute_2.6.11-2_i386.deb* > > > > /usr/src# *cp /bin/true /sbin/chkconfig* > > > > /usr/src# *dpkg -i iptables_1.3.0-3_i386.deb* > > > > /usr/src# *dpkg -i ebtables_2.0.6-8_i386.deb* > > > > > > These are covered in the documentation I provided, but have only been > > tested by me on mpls-linux 1.950. They should work without problems on > > newer versions. > > > > PS. You can do the same to the quagga rpm (alen --scripts quagga*.rpm). > > > > Testers are needed to confirm everything still works. :) > > > > On Thu, Mar 27, 2008 at 4:37 PM, James R. Leu <jl...@mi...> > > wrote: > > > > > Could someone try this for me and provide feedback? If this > > > works, I will figure out a way to run 'alien' and build an 'ubuntu' > > > repository. > > > > > > On Thu, Mar 27, 2008 at 04:27:11PM +0200, Adrian Popa wrote: > > > > ..Or you might try your luck feeding the rpms through 'alien' to > > > generate > > > > debs for your Ubuntu. It should work... > > > > > > > > > > > > On Thu, Mar 27, 2008 at 3:06 PM, James R. Leu <jl...@mi...> > > > wrote: > > > > > > > > > You will also need the ldp-portable code base. You will need to > > > modify > > > > > and run the ldpd/create-links script to symlink the ldp-portable > > > > > files into the quagga-mpls tree. Then you will need to use > > > 'automake' > > > > > to build the configure file. > > > > > > > > > > Since you are so new to this, perhaphs an easier path for all > > > involved > > > > > is for you to switch to Fedora 8 and then use the RPMs and/or the > > > RPM > > > > > build scripts that I've created. > > > > > > > > > > On Thu, Mar 27, 2008 at 12:57:49PM +0100, > > > =?ISO-8859-1?Q?Jes=FAs_Nubiola_ > > > > > wrote: > > > > > > Hi list, > > > > > > I've download Quagga-Mpls folder of perforce repository to check > > > RSVP-TE > > > > > > daemon. The problem is that I cannot compile at all. In the > > > folder there > > > > > > aren't any configure file :S when I try to ./configure I obtain > > > the > > > > > > following error: > > > > > > jesus@ubuntu:~/quagga-mpls$ sudo ./configure > > > > > > sudo: ./configure: command not found > > > > > > > > > > > > Looking inside the folder I've realised that there are three > > > files ( > > > > > > config.guess, config.sub, configure.ac) that could configure the > > > > > compilation > > > > > > but I don't know how to get it. > > > > > > In the install.quagga.txt file I don't find any help. > > > > > > > > > > > > I'm using Ubuntu 7.10 Gutsy and I am a newbie ;). > > > > > > > > > > > > > > > > > > Thanks in advance for any help. > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > Check out the new SourceForge.net Marketplace. > > > > > > It's the best place to buy or sell services for > > > > > > just about anything Open Source. > > > > > > > > > > > > > > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > > > > > > _______________________________________________ > > > > > > mpls-linux-general mailing list > > > > > > mpl...@li... > > > > > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > > > > > > > > > > > > > > -- > > > > > James R. Leu > > > > > jl...@mi... > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > Check out the new SourceForge.net Marketplace. > > > > > It's the best place to buy or sell services for > > > > > just about anything Open Source. > > > > > > > > > > > > > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > > > > > _______________________________________________ > > > > > mpls-linux-general mailing list > > > > > mpl...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > Check out the new SourceForge.net Marketplace. > > > > It's the best place to buy or sell services for > > > > just about anything Open Source. > > > > > > > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > > > > _______________________________________________ > > > > mpls-linux-devel mailing list > > > > mpl...@li... > > > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel > > > > > > > > > -- > > > James R. Leu > > > jl...@mi... > > > > > > > > |
From: J. N. <oc...@gm...> - 2008-03-28 11:15:25
|
I will test for Ubuntu Gutsy soon. I remember that I try to follow your manual (Mpls-Lab) that is very completed but I have problems during the recompilation of Kernel. I will try again and report feedback. Thanks. On Fri, Mar 28, 2008 at 7:51 AM, Adrian Popa <adr...@gm...> wrote: > What I tried about 2 years back for debian (but it should work without > changes for ubuntu also) is this: > > /usr/src# *alien iproute-2.6.11-1_mpls_1.950d.i386.rpm* > > *iproute_2.6.11-2_i386.deb generated* > > /usr/src# *alien --scripts iptables-1.3.0-2_mpls_1.950d.i386.rpm* > > *iptables_1.3.0-3_i386.deb generated* > > /usr/src# *alien --scripts ebtables-2.0.6-7_mpls_1.950d.i386.rpm* > > *ebtables_2.0.6-8_i386.deb generated* > > /usr/src# *dpkg -i iproute_2.6.11-2_i386.deb* > > /usr/src# *cp /bin/true /sbin/chkconfig* > > /usr/src# *dpkg -i iptables_1.3.0-3_i386.deb* > > /usr/src# *dpkg -i ebtables_2.0.6-8_i386.deb* > > > These are covered in the documentation I provided, but have only been > tested by me on mpls-linux 1.950. They should work without problems on > newer versions. > > PS. You can do the same to the quagga rpm (alen --scripts quagga*.rpm). > > Testers are needed to confirm everything still works. :) > > On Thu, Mar 27, 2008 at 4:37 PM, James R. Leu <jl...@mi...> wrote: > > > Could someone try this for me and provide feedback? If this > > works, I will figure out a way to run 'alien' and build an 'ubuntu' > > repository. > > > > On Thu, Mar 27, 2008 at 04:27:11PM +0200, Adrian Popa wrote: > > > ..Or you might try your luck feeding the rpms through 'alien' to > > generate > > > debs for your Ubuntu. It should work... > > > > > > > > > On Thu, Mar 27, 2008 at 3:06 PM, James R. Leu <jl...@mi...> > > wrote: > > > > > > > You will also need the ldp-portable code base. You will need to > > modify > > > > and run the ldpd/create-links script to symlink the ldp-portable > > > > files into the quagga-mpls tree. Then you will need to use > > 'automake' > > > > to build the configure file. > > > > > > > > Since you are so new to this, perhaphs an easier path for all > > involved > > > > is for you to switch to Fedora 8 and then use the RPMs and/or the > > RPM > > > > build scripts that I've created. > > > > > > > > On Thu, Mar 27, 2008 at 12:57:49PM +0100, > > =?ISO-8859-1?Q?Jes=FAs_Nubiola_ > > > > wrote: > > > > > Hi list, > > > > > I've download Quagga-Mpls folder of perforce repository to check > > RSVP-TE > > > > > daemon. The problem is that I cannot compile at all. In the folder > > there > > > > > aren't any configure file :S when I try to ./configure I obtain > > the > > > > > following error: > > > > > jesus@ubuntu:~/quagga-mpls$ sudo ./configure > > > > > sudo: ./configure: command not found > > > > > > > > > > Looking inside the folder I've realised that there are three files > > ( > > > > > config.guess, config.sub, configure.ac) that could configure the > > > > compilation > > > > > but I don't know how to get it. > > > > > In the install.quagga.txt file I don't find any help. > > > > > > > > > > I'm using Ubuntu 7.10 Gutsy and I am a newbie ;). > > > > > > > > > > > > > > > Thanks in advance for any help. > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > Check out the new SourceForge.net Marketplace. > > > > > It's the best place to buy or sell services for > > > > > just about anything Open Source. > > > > > > > > > > > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > > > > > _______________________________________________ > > > > > mpls-linux-general mailing list > > > > > mpl...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > > > > > > > > > > > -- > > > > James R. Leu > > > > jl...@mi... > > > > > > > > > > ------------------------------------------------------------------------- > > > > Check out the new SourceForge.net Marketplace. > > > > It's the best place to buy or sell services for > > > > just about anything Open Source. > > > > > > > > > > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > > > > _______________________________________________ > > > > mpls-linux-general mailing list > > > > mpl...@li... > > > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > Check out the new SourceForge.net Marketplace. > > > It's the best place to buy or sell services for > > > just about anything Open Source. > > > > > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > > > _______________________________________________ > > > mpls-linux-devel mailing list > > > mpl...@li... > > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel > > > > > > -- > > James R. Leu > > jl...@mi... > > > > |
From: Adrian P. <adr...@gm...> - 2008-03-28 06:52:02
|
What I tried about 2 years back for debian (but it should work without changes for ubuntu also) is this: /usr/src# *alien iproute-2.6.11-1_mpls_1.950d.i386.rpm* *iproute_2.6.11-2_i386.deb generated* /usr/src# *alien --scripts iptables-1.3.0-2_mpls_1.950d.i386.rpm* *iptables_1.3.0-3_i386.deb generated* /usr/src# *alien --scripts ebtables-2.0.6-7_mpls_1.950d.i386.rpm* *ebtables_2.0.6-8_i386.deb generated* /usr/src# *dpkg -i iproute_2.6.11-2_i386.deb* /usr/src# *cp /bin/true /sbin/chkconfig* /usr/src# *dpkg -i iptables_1.3.0-3_i386.deb* /usr/src# *dpkg -i ebtables_2.0.6-8_i386.deb* These are covered in the documentation I provided, but have only been tested by me on mpls-linux 1.950. They should work without problems on newer versions. PS. You can do the same to the quagga rpm (alen --scripts quagga*.rpm). Testers are needed to confirm everything still works. :) On Thu, Mar 27, 2008 at 4:37 PM, James R. Leu <jl...@mi...> wrote: > Could someone try this for me and provide feedback? If this > works, I will figure out a way to run 'alien' and build an 'ubuntu' > repository. > > On Thu, Mar 27, 2008 at 04:27:11PM +0200, Adrian Popa wrote: > > ..Or you might try your luck feeding the rpms through 'alien' to > generate > > debs for your Ubuntu. It should work... > > > > > > On Thu, Mar 27, 2008 at 3:06 PM, James R. Leu <jl...@mi...> > wrote: > > > > > You will also need the ldp-portable code base. You will need to > modify > > > and run the ldpd/create-links script to symlink the ldp-portable > > > files into the quagga-mpls tree. Then you will need to use 'automake' > > > to build the configure file. > > > > > > Since you are so new to this, perhaphs an easier path for all involved > > > is for you to switch to Fedora 8 and then use the RPMs and/or the RPM > > > build scripts that I've created. > > > > > > On Thu, Mar 27, 2008 at 12:57:49PM +0100, > =?ISO-8859-1?Q?Jes=FAs_Nubiola_ > > > wrote: > > > > Hi list, > > > > I've download Quagga-Mpls folder of perforce repository to check > RSVP-TE > > > > daemon. The problem is that I cannot compile at all. In the folder > there > > > > aren't any configure file :S when I try to ./configure I obtain the > > > > following error: > > > > jesus@ubuntu:~/quagga-mpls$ sudo ./configure > > > > sudo: ./configure: command not found > > > > > > > > Looking inside the folder I've realised that there are three files ( > > > > config.guess, config.sub, configure.ac) that could configure the > > > compilation > > > > but I don't know how to get it. > > > > In the install.quagga.txt file I don't find any help. > > > > > > > > I'm using Ubuntu 7.10 Gutsy and I am a newbie ;). > > > > > > > > > > > > Thanks in advance for any help. > > > > > > > > > > > ------------------------------------------------------------------------- > > > > Check out the new SourceForge.net Marketplace. > > > > It's the best place to buy or sell services for > > > > just about anything Open Source. > > > > > > > > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > > > > _______________________________________________ > > > > mpls-linux-general mailing list > > > > mpl...@li... > > > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > > > > > > > > -- > > > James R. Leu > > > jl...@mi... > > > > > > > ------------------------------------------------------------------------- > > > Check out the new SourceForge.net Marketplace. > > > It's the best place to buy or sell services for > > > just about anything Open Source. > > > > > > > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > > > _______________________________________________ > > > mpls-linux-general mailing list > > > mpl...@li... > > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > > > > > > > > > ------------------------------------------------------------------------- > > Check out the new SourceForge.net Marketplace. > > It's the best place to buy or sell services for > > just about anything Open Source. > > > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > > _______________________________________________ > > mpls-linux-devel mailing list > > mpl...@li... > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel > > > -- > James R. Leu > jl...@mi... > |
From: Scott A. Y. <sy...@im...> - 2008-03-27 21:35:34
|
James R. Leu wrote: > First off, I think it is very cool that you are digging into the > code and trying to get new stuff to work. Thank you very much for > the time you're putting in to this. > I'm happy to be of assistance. You've got a good base of code to work with. It's time to push this project ahead. :) > On Wed, Mar 26, 2008 at 11:25:48AM -0400, Scott A. Yoder wrote: >> James, >> >> I wanted to get your ideas on setting up a statically configured (not BGP signalled) layer 2 VPLS with Quagga. >> >> I see you've got some "xconnect vfi" commands in ldp_vty.c as placeholders and commented out l2cc_interface code. What >> were your plans for these commands? > > These commands were intended for EoMPLS (LDP) configuration. There is nothing > saying that it couldn't be extended to support a static mode and VPLS as well. > >> Ultimately I'd like to get the inner label stack for the VPLS distributed via BGP but probably should start with static >> configuration. > > This is probably a good approach. There are many issues that need > to be resolved still, like how to determine when and how to configure > a label stack in the forwarding plane, and how to build the L2 "stuff" like > bridges and what not. Not to mention the work you're doing below. > After reviewing other Cisco configurations I think I have a better understanding of what the commands should be doing. The "l2 vfi" and "xconnect vfi" Cisco commands do the magic. You've already got the command primitives in the ldp_vty.c file. I think the only big thing we are missing pseudowire negotiation using LDP as per RFC 4762. Consider the following Cisco configuration: PE1: 5.5.5.1/32 PE2: 5.5.5.2/32 PE3: 5.5.5.3/32 PE1 config: l2 vfi PE1-VPLS-A manual vpn id 100 neighbor 5.5.5.2 encapsulation mpls neighbor 5.5.5.3 encapsulation mpls ! interface loopback 0 ip address 5.5.5.1 255.255.255.255 ! interface fastethernet0/0 no ip address xconnect vfi PE1-VPLS-A ! I think I can see how to implement these commands following my mpls tunnel bridging scripts to create point-to-point and multipoint L2VPNs: The "vpn id 100" command would create the base bridge group for the specified vpn id, say vfi100. The "neighbor" commands would do the following: 1) Set up a targeted LDP session to each neighbor. 2) Create a pseudowire to each neighbor. 3) Send an LDP label mapping message to signal the exchange of pseudowire demultiplexors as per RFC 4762 section 6.1. 4) Upon receipt of an LDP label mapping message for this PW create a new ILM which looks like "proto packet instructions set-rx-if vfi100n1" Pseudowire procedures 1) Add a new PW nhlfe with an instruction to forward to the nhlfe for the neighbor. 2) Create an mpls tunnel interface, say vfi100n1, using the new PW nhlfe 3) Add the tunnel interface to the vfi100 bridge group with a horizon id value set to the vpn id 4) If the outbound LSP changes the tunnel's nhlfe key must change also. 5) If the inbound LSP changes the ILM must be updated to reflect the new label. The "xconnect vfi" command would add the specified customer-facing interface to the vfi100 bridge group with no horizon value. The neat thing about this approach is it makes BGP autodiscovery easy. The "l2 vfi WORD autodiscovery" will create the bridge group. The "xconnect vfi" command will add the specified interface to the bridge group and will cause BGPd to send a VPLS NLRI message for the new VPLS. Upon receipt of a VPLS BGP NLRI for a VPLS ID we already have configured we can add a pseudowire to each of the new neighbors specified in the message. We also create the ILM to send inbound traffic to the PW interface. To do a quick test I can forgo the RFC 4762 signalling and assume a 1:1 mapping of VPLS ID to label. >> Just as an fyi I was able to set up a multipoint L2 VPLS without LDP with a few minor kernel mods and mpls-linux patches. >> I did a simple split-horizon patch to the Linux bridging module and added an option to the mpls tunnel code to set the >> interface type to ethernet for bridging support. I wanted to use the virtual MPLS tunnel interface so the normal Linux >> bridging code would function correctly. Using ebtables to send frames to the bridge works fine for a 1-1 tunnel but >> doesn't allow for proper MAC learning in a multipoint VPLS setup. > > <snip> > > I would very much like to add the "interface type" support that you've > implemented. You can post the patch to sourceforge. Please notify > me when its been posted. > I'll get that posted soon. I spent a lot more time than I thought I would doing research for this e-mail. >> Do you think we can use any of these techniques within Quagga/LDPD? I'm thinking we'll configure a targeted LDP session >> to the remote LER and set up a tunnel interface to add the inner VPLS label to the dynamically allocated label added >> by the targeted session. > > The idea is that the neighbour configured in the "xconnect vfi" results > in a targeted LDP session. > >> Thanks, >> Scott Yoder >> Support Engineer >> ImageStream Internet Solutions, Inc. >> E-mail: sy...@im... >> >> ------------------------------------------------------------------------- >> Check out the new SourceForge.net Marketplace. >> It's the best place to buy or sell services for >> just about anything Open Source. >> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace >> _______________________________________________ >> mpls-linux-devel mailing list >> mpl...@li... >> https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel > I also found a problem with my original VPLS script. The set-rx-if should have been on the inner label not the outer label. I've also found a simple way to make it work with LDP. I created a new script to create a L2VPLS using a route lookup to the neighbor. It has no error checking and assumes LDP has already established a LSP to the peer. New script: #!/bin/bash PE2_IP="5.5.5.2" function add_mpls() { key=`mpls $1 | grep key | cut -c 17-26` echo $key } modprobe mplsbr brctl addbr br0 brctl addif br0 eth1 ip -4 addr flush dev eth1 ip link set eth1 up ip link set br0 up # VPN 100 to PE2 key1=`ip route | grep $LER2_IP | cut -f 7 -d ' '` key2=`add_mpls "nhlfe add key 0 instructions push gen 100 forward $key1"` mpls tunnel add dev VPN100PE2 nhlfe $key2 type ethernet ip link set VPN100PE2 up brctl addif br0 VPN100PE2 sethorizon br0 VPN100PE2 1 # VPN1 inbnound mpls labelspace set dev eth2 labelspace 0 mpls labelspace set dev VPN100PE2 labelspace 0 mpls ilm add label gen 100 labelspace 0 proto packet instructions set-rx-if VPN100PE2 pop deliver Thanks, Scott Yoder ImageStream Internet Solutions, Inc. E-mail: sy...@im... |
From: Kim H. <ki...@ha...> - 2008-03-27 20:26:14
|
Jesús Nubiola wrote: > Hi list, > I've download Quagga-Mpls folder of perforce repository to check RSVP-TE > daemon. The problem is that I cannot compile at all. In the folder there > aren't any configure file :S when I try to ./configure I obtain the > following error: > jesus@ubuntu:~/quagga-mpls$ sudo ./configure > sudo: ./configure: command not found > > Looking inside the folder I've realised that there are three files ( > config.guess, config.sub, configure.ac) that could configure the compilation > but I don't know how to get it. > In the install.quagga.txt file I don't find any help. > > I'm using Ubuntu 7.10 Gutsy and I am a newbie ;). If you can point me to where you downloaded the source, I'll have a crack at building up some .debs for gutsy.. cheers, Kim |
From: James R. L. <jl...@mi...> - 2008-03-27 14:38:00
|
Could someone try this for me and provide feedback? If this works, I will figure out a way to run 'alien' and build an 'ubuntu' repository. On Thu, Mar 27, 2008 at 04:27:11PM +0200, Adrian Popa wrote: > ..Or you might try your luck feeding the rpms through 'alien' to generate > debs for your Ubuntu. It should work... > > > On Thu, Mar 27, 2008 at 3:06 PM, James R. Leu <jl...@mi...> wrote: > > > You will also need the ldp-portable code base. You will need to modify > > and run the ldpd/create-links script to symlink the ldp-portable > > files into the quagga-mpls tree. Then you will need to use 'automake' > > to build the configure file. > > > > Since you are so new to this, perhaphs an easier path for all involved > > is for you to switch to Fedora 8 and then use the RPMs and/or the RPM > > build scripts that I've created. > > > > On Thu, Mar 27, 2008 at 12:57:49PM +0100, =?ISO-8859-1?Q?Jes=FAs_Nubiola_ > > wrote: > > > Hi list, > > > I've download Quagga-Mpls folder of perforce repository to check RSVP-TE > > > daemon. The problem is that I cannot compile at all. In the folder there > > > aren't any configure file :S when I try to ./configure I obtain the > > > following error: > > > jesus@ubuntu:~/quagga-mpls$ sudo ./configure > > > sudo: ./configure: command not found > > > > > > Looking inside the folder I've realised that there are three files ( > > > config.guess, config.sub, configure.ac) that could configure the > > compilation > > > but I don't know how to get it. > > > In the install.quagga.txt file I don't find any help. > > > > > > I'm using Ubuntu 7.10 Gutsy and I am a newbie ;). > > > > > > > > > Thanks in advance for any help. > > > > > > > ------------------------------------------------------------------------- > > > Check out the new SourceForge.net Marketplace. > > > It's the best place to buy or sell services for > > > just about anything Open Source. > > > > > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > > > _______________________________________________ > > > mpls-linux-general mailing list > > > mpl...@li... > > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > > > > > -- > > James R. Leu > > jl...@mi... > > > > ------------------------------------------------------------------------- > > Check out the new SourceForge.net Marketplace. > > It's the best place to buy or sell services for > > just about anything Open Source. > > > > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > > _______________________________________________ > > mpls-linux-general mailing list > > mpl...@li... > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > > > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > _______________________________________________ > mpls-linux-devel mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel -- James R. Leu jl...@mi... |
From: Adrian P. <adr...@gm...> - 2008-03-27 14:27:17
|
..Or you might try your luck feeding the rpms through 'alien' to generate debs for your Ubuntu. It should work... On Thu, Mar 27, 2008 at 3:06 PM, James R. Leu <jl...@mi...> wrote: > You will also need the ldp-portable code base. You will need to modify > and run the ldpd/create-links script to symlink the ldp-portable > files into the quagga-mpls tree. Then you will need to use 'automake' > to build the configure file. > > Since you are so new to this, perhaphs an easier path for all involved > is for you to switch to Fedora 8 and then use the RPMs and/or the RPM > build scripts that I've created. > > On Thu, Mar 27, 2008 at 12:57:49PM +0100, =?ISO-8859-1?Q?Jes=FAs_Nubiola_ > wrote: > > Hi list, > > I've download Quagga-Mpls folder of perforce repository to check RSVP-TE > > daemon. The problem is that I cannot compile at all. In the folder there > > aren't any configure file :S when I try to ./configure I obtain the > > following error: > > jesus@ubuntu:~/quagga-mpls$ sudo ./configure > > sudo: ./configure: command not found > > > > Looking inside the folder I've realised that there are three files ( > > config.guess, config.sub, configure.ac) that could configure the > compilation > > but I don't know how to get it. > > In the install.quagga.txt file I don't find any help. > > > > I'm using Ubuntu 7.10 Gutsy and I am a newbie ;). > > > > > > Thanks in advance for any help. > > > > ------------------------------------------------------------------------- > > Check out the new SourceForge.net Marketplace. > > It's the best place to buy or sell services for > > just about anything Open Source. > > > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > > _______________________________________________ > > mpls-linux-general mailing list > > mpl...@li... > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > > -- > James R. Leu > jl...@mi... > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > |
From: James R. L. <jl...@mi...> - 2008-03-27 13:06:50
|
You will also need the ldp-portable code base. You will need to modify and run the ldpd/create-links script to symlink the ldp-portable files into the quagga-mpls tree. Then you will need to use 'automake' to build the configure file. Since you are so new to this, perhaphs an easier path for all involved is for you to switch to Fedora 8 and then use the RPMs and/or the RPM build scripts that I've created. On Thu, Mar 27, 2008 at 12:57:49PM +0100, =?ISO-8859-1?Q?Jes=FAs_Nubiola_ wrote: > Hi list, > I've download Quagga-Mpls folder of perforce repository to check RSVP-TE > daemon. The problem is that I cannot compile at all. In the folder there > aren't any configure file :S when I try to ./configure I obtain the > following error: > jesus@ubuntu:~/quagga-mpls$ sudo ./configure > sudo: ./configure: command not found > > Looking inside the folder I've realised that there are three files ( > config.guess, config.sub, configure.ac) that could configure the compilation > but I don't know how to get it. > In the install.quagga.txt file I don't find any help. > > I'm using Ubuntu 7.10 Gutsy and I am a newbie ;). > > > Thanks in advance for any help. > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general -- James R. Leu jl...@mi... |
From: J. N. <oc...@gm...> - 2008-03-27 11:57:53
|
Hi list, I've download Quagga-Mpls folder of perforce repository to check RSVP-TE daemon. The problem is that I cannot compile at all. In the folder there aren't any configure file :S when I try to ./configure I obtain the following error: jesus@ubuntu:~/quagga-mpls$ sudo ./configure sudo: ./configure: command not found Looking inside the folder I've realised that there are three files ( config.guess, config.sub, configure.ac) that could configure the compilation but I don't know how to get it. In the install.quagga.txt file I don't find any help. I'm using Ubuntu 7.10 Gutsy and I am a newbie ;). Thanks in advance for any help. |
From: James R. L. <jl...@mi...> - 2008-03-27 03:33:24
|
First off, I think it is very cool that you are digging into the code and trying to get new stuff to work. Thank you very much for the time you're putting in to this. On Wed, Mar 26, 2008 at 11:25:48AM -0400, Scott A. Yoder wrote: > James, > > I wanted to get your ideas on setting up a statically configured (not BGP signalled) layer 2 VPLS with Quagga. > > I see you've got some "xconnect vfi" commands in ldp_vty.c as placeholders and commented out l2cc_interface code. What > were your plans for these commands? These commands were intended for EoMPLS (LDP) configuration. There is nothing saying that it couldn't be extended to support a static mode and VPLS as well. > Ultimately I'd like to get the inner label stack for the VPLS distributed via BGP but probably should start with static > configuration. This is probably a good approach. There are many issues that need to be resolved still, like how to determine when and how to configure a label stack in the forwarding plane, and how to build the L2 "stuff" like bridges and what not. Not to mention the work you're doing below. > Just as an fyi I was able to set up a multipoint L2 VPLS without LDP with a few minor kernel mods and mpls-linux patches. > I did a simple split-horizon patch to the Linux bridging module and added an option to the mpls tunnel code to set the > interface type to ethernet for bridging support. I wanted to use the virtual MPLS tunnel interface so the normal Linux > bridging code would function correctly. Using ebtables to send frames to the bridge works fine for a 1-1 tunnel but > doesn't allow for proper MAC learning in a multipoint VPLS setup. <snip> I would very much like to add the "interface type" support that you've implemented. You can post the patch to sourceforge. Please notify me when its been posted. > Do you think we can use any of these techniques within Quagga/LDPD? I'm thinking we'll configure a targeted LDP session > to the remote LER and set up a tunnel interface to add the inner VPLS label to the dynamically allocated label added > by the targeted session. The idea is that the neighbour configured in the "xconnect vfi" results in a targeted LDP session. > Thanks, > Scott Yoder > Support Engineer > ImageStream Internet Solutions, Inc. > E-mail: sy...@im... > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > _______________________________________________ > mpls-linux-devel mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel -- James R. Leu jl...@mi... |
From: Scott A. Y. <sy...@im...> - 2008-03-26 15:20:40
|
James, I wanted to get your ideas on setting up a statically configured (not BGP signalled) layer 2 VPLS with Quagga. I see you've got some "xconnect vfi" commands in ldp_vty.c as placeholders and commented out l2cc_interface code. What were your plans for these commands? Ultimately I'd like to get the inner label stack for the VPLS distributed via BGP but probably should start with static configuration. Just as an fyi I was able to set up a multipoint L2 VPLS without LDP with a few minor kernel mods and mpls-linux patches. I did a simple split-horizon patch to the Linux bridging module and added an option to the mpls tunnel code to set the interface type to ethernet for bridging support. I wanted to use the virtual MPLS tunnel interface so the normal Linux bridging code would function correctly. Using ebtables to send frames to the bridge works fine for a 1-1 tunnel but doesn't allow for proper MAC learning in a multipoint VPLS setup. Here's how I did it: I did several different configurations. For the first config I used 2 LSRs as edge routers (LER1 and LER2) with one customer per LSR. LER1 script: #!/bin/bash function add_mpls() { key=`mpls $1 | grep key | cut -c 17-26` echo $key } # Router interfaces # eth0 -> VM administration interface # eth1 -> connection to the customer # eth2 -> connection to LER2 (192.168.15.2) # Bridge has 2 interfaces # eth1 -> connection to the customer # ler1 -> MPLS tunnel to LER2. We use inner label 100 to identify this VPLS and outer label 1000 modprobe mplsbr brctl addbr br0 brctl addif br0 eth1 ip -4 addr flush dev eth1 ip link set eth1 up ip link set br0 up # Customer to LER1 key1=`add_mpls "nhlfe add key 0 instructions push gen 1000 nexthop eth2 ipv4 192.168.15.2"` key2=`add_mpls "nhlfe add key 0 instructions push gen 100 forward $key1"` # Create a 2 label MPLS tunnel to ler2 and set the tunnel interface type to ARPHRD_ETHERNET (ether_setup()) mpls tunnel add dev ler2 nhlfe $key2 type ethernet ip link set ler2 up # Set split-horizon value on this interface to 1 so frames received on this interface will not # be forwarded to other interfaces with horizon value 1. This is only needed when we have more than # one LSR tunnel bridged. brctl addif br0 ler2 sethorizon br0 ler2 1 # Bridge inbnound to Customer mpls labelspace set dev eth2 labelspace 0 mpls labelspace set dev ler2 labelspace 0 # Process MPLS packets from LER2 - pop the outer label and look at the inner label mpls ilm add label gen 2000 labelspace 0 instructions set-rx-if ler2 pop peek # Pass MPLS packets with label 100 to the mplsbr module which will set skb->dev to the ler2 # tunnel interface and send it to the Linux bridging code for receive processing. This allows # proper MAC learning. mpls ilm add label gen 100 labelspace 0 proto packet LER2 script: #!/bin/bash function add_mpls() { key=`mpls $1 | grep key | cut -c 17-26` echo $key } # Router interfaces # eth0 -> VM administration interface # eth1 -> connection to the customer # eth2 -> connection to LER1 (192.168.15.1) # Bridge has 2 interfaces # eth1 -> connection to the customer # ler1 -> MPLS tunnel to LER1. We use inner label 100 to identify this VPLS and outer label 2000 modprobe bridge modprobe mplsbr brctl addbr br0 brctl addif br0 eth1 ip -4 addr flush dev eth1 ip link set eth1 up ip link set br0 up ############################################################################################ # Customer to LER1 key1=`add_mpls "nhlfe add key 0 instructions push gen 2000 nexthop eth2 ipv4 192.168.15.1"` key2=`add_mpls "nhlfe add key 0 instructions push gen 100 forward $key1"` # Create a 2 label MPLS tunnel to ler1 and set the tunnel interface type to ARPHRD_ETHERNET (ether_setup()) mpls tunnel add dev ler1 nhlfe $key2 type ethernet ifconfig ler1 up # Set split-horizon value on this interface to 1 so frames received on this interface will not # be forwarded to other interfaces with horizon value 1. This is only needed when we have more than # one LSR tunnel bridged. brctl addif br0 ler1 sethorizon br0 ler1 1 ############################################################################################ # Bridge inbnound to Customer mpls labelspace set dev eth2 labelspace 0 mpls labelspace set dev ler1 labelspace 0 # Process MPLS packets from LER1 - pop the outer label and look at the inner label mpls ilm add label gen 1000 labelspace 0 instructions set-rx-if ler1 pop peek # Pass MPLS packets with label 100 to the mplsbr module which will set skb->dev to the ler1 # tunnel interface and send it to the Linux bridging code for receive processing. This allows # proper MAC learning. mpls ilm add label gen 100 labelspace 0 proto packet It is very easy to add another LER and customer to the setup but it requires configuration on each LER in the VPLS. I did a 3 LER setup with one customer per LER and also a 2 LER setup with 2 customers on the 2nd LER. Using the Linux bridge with split-horizon and MPLS tunnel interface approach seems to work well but I'm concerned about scalability. The number of tunnel interfaces will grow exponentially as customers and LERs are added. A few thousand interfaces won't cause any problems though. Do you think we can use any of these techniques within Quagga/LDPD? I'm thinking we'll configure a targeted LDP session to the remote LER and set up a tunnel interface to add the inner VPLS label to the dynamically allocated label added by the targeted session. Thanks, Scott Yoder Support Engineer ImageStream Internet Solutions, Inc. E-mail: sy...@im... |
From: Chris R. <Chr...@nr...> - 2008-03-25 16:17:41
|
James Where are you with working toward kernel-2.6.24.4-51/53? There are changes with the debug tags, causing some grief that the pull from the P4 mpls-linux-1.1 repository (which is still at 2.6.23) are not addressing. If you're close, I'll stop pulling my hair out......:-D..... it seems the method to create the tags (aka /proc/net/mpls or shim) have changed. For example, the routine wont compile because: proc_net_remove("mpls"); required 2 parameters which I thing should be: proc_net_remove(&init_net, "mpls"); and the "dev_get_by_???" I think change to: dev_get_by_??? (&init_net, name); but I still get a complaint at boot time about not finding "/net/mpls" (yeah I need to get more info and will soon). Note, there are other changes but those are cosmetic such as simple locations. thanks....chris James R. Leu wrote: > Good stuff. Thank you for working with ldp-portable and taking the > time to dig into the code. I've incorporated your fixes for the memory > leaks and I'm double checking the byte order fix you suggest. > > As far as the multiple session issue, I think the fix is to never > send any 127.0.0.0/8 addresses in the address message. One way to > accomplish this is to never register 127.0.0.0/8 addresses with > LDP by modifing ldp_interface_address_add() in ldp_zebra.c. > > On Mon, Mar 24, 2008 at 04:58:20PM -0400, Scott A. Yoder wrote: > >> Hi James. I've been able to get ldpd working quite well with 3 routers in my testbed. Even >> the targeted ldp sessions now appear to be working. I have a left LSR, middle, LSR and right LSR. The >> targeted session is between the left and right routers. >> >> I've found a few problems and want to get your take on how best to fix them. >> >> 1) The xconnect command needs to have the destination IP address stored in host byte order. >> >> --- ldp_vty.c Tue Mar 25 01:19:59 2008 >> +++ ldp_vty-new.c Wed Mar 19 01:55:44 2008 >> @@ -1618,6 +1618,7 @@ >> dest.port = 646; >> >> VTY_GET_UINT32_RANGE("VCID",vcid,argv[1],0,255); >> + dest.addr.u.ipv4 = ntohl(dest.addr.u.ipv4); >> >> if (ldp_remote_peer_find(ldp, &dest)) { >> return CMD_WARNING; >> >> >> 2) I found a couple of memory leaks with valgrind: >> >> --- ldp_session.c Fri Jan 4 23:58:59 2008 >> +++ ldp_session-new.c Tue Mar 25 01:25:32 2008 >> @@ -252,6 +252,8 @@ >> { >> LDP_PRINT(NULL, "session delete"); >> MPLS_REFCNT_ASSERT(s, 0); >> + ldp_buf_delete(s->tx_buffer); >> + ldp_mesg_delete(s->tx_message); >> mpls_free(s); >> } >> >> --- ldp_buf.c Tue Mar 25 01:29:01 2008 >> +++ ldp_buf-new.c Fri Mar 21 21:18:06 2008 >> @@ -49,6 +49,8 @@ >> void ldp_buf_delete(ldp_buf * b) >> { >> MPLS_ASSERT(b); >> + if (b->buffer) >> + mpls_free(b->buffer); >> mpls_free(b); >> } >> >> >> These 2 leaks caused ldpd to grow several megabytes per hour on my system. >> >> >> 3) ldpd cannot establish more than 1 session at a time. >> >> I don't know if I have a config error but I keep getting a "ldp_addr_process: session X already advertised this address" >> error when the 2nd router attempts to start up a session. I think the address is 127.0.0.1. I tried changing the lsr-id and >> transport address but that caused ldpd to crash. The neighbor's status is stuck in the discovery state. >> >> Just to get around this problem and keep going I stuck a return MPLS_SUCCESS in ldpd/ldp_addr.c line 315: >> >> /* the addr is in the tree */ >> if (addr->session) { >> LDP_PRINT(g->user_data, >> "ldp_addr_process: session (%d) already advertised this address\n", >> addr->session->index); >> return MPLS_SUCCESS; >> return MPLS_FAILURE; >> } >> >> Is there something I'm missing with the config to support multiple peers? >> >> Thanks, >> Scott Yoder >> Support Engineer >> ImageStream Internet Solutions, Inc. >> E-mail: sy...@im... >> >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by: Microsoft >> Defy all challenges. Microsoft(R) Visual Studio 2008. >> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >> _______________________________________________ >> mpls-linux-devel mailing list >> mpl...@li... >> https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel >> > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > ------------------------------------------------------------------------ > > _______________________________________________ > mpls-linux-devel mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel > -- Christopher Robson Senior Computer Scientist, GS-15 Naval Research Laboratory Center for Computational Science Networking, Code 5591 4555 Overlook ave. Washington, D.C. 20375-5320 (COM) 202-404-3138 (VoIP) 2024043138@ATDNet (CHAT) Chris.Robson@ATDNet |