Thread: [mpls-linux-devel] What is the process of applying the mpls label to IP packet?
Status: Beta
Brought to you by:
jleu
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-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-05-07 10:14:18
|
Hi all. Thank you for help. I patch the quagga-mpls.diff to quagga-0.99.6 and configure && make it. BUT I found that when I telnet to the shell of zebra, ldpd will crash and can not start again. If I start ldpd and ospfd, telnet any are ok. But I start zebra after above two, and telnet to 2601(zebra's shell port), ldpd crashed. The strace of start ldpd again is follow: =================================================================== execve("/sbin/ldpd", ["ldpd", "-d", "-u", "root", "-f", "/etc/ldpd.conf"], [/* 9 vars */]) = 0 brk(0) = 0x8083000 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fdf000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/quagga/quagga-0.99.6/install/lib/tls/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/quagga/quagga-0.99.6/install/lib/tls/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) open("/quagga/quagga-0.99.6/install/lib/tls/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/quagga/quagga-0.99.6/install/lib/tls/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) open("/quagga/quagga-0.99.6/install/lib/tls/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/quagga/quagga-0.99.6/install/lib/tls/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) open("/quagga/quagga-0.99.6/install/lib/tls/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/quagga/quagga-0.99.6/install/lib/tls", 0xbfad4778) = -1 ENOENT (No such file or directory) open("/quagga/quagga-0.99.6/install/lib/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/quagga/quagga-0.99.6/install/lib/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) open("/quagga/quagga-0.99.6/install/lib/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/quagga/quagga-0.99.6/install/lib/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) open("/quagga/quagga-0.99.6/install/lib/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/quagga/quagga-0.99.6/install/lib/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) open("/quagga/quagga-0.99.6/install/lib/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/quagga/quagga-0.99.6/install/lib", 0xbfad4778) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) open("/lib/tls/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) open("/lib/tls/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls", 0xbfad4778) = -1 ENOENT (No such file or directory) open("/lib/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) open("/lib/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) open("/lib/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) open("/lib/libzebra.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\374\302\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=609544, ...}) = 0 mmap2(NULL, 245608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7fa3000 mmap2(0xb7fd7000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x34) = 0xb7fd7000 mmap2(0xb7fdd000, 8040, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fdd000 close(3) = 0 open("/lib/libcap.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\n\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=9544, ...}) = 0 mmap2(NULL, 13140, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f9f000 mmap2(0xb7fa1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7fa1000 close(3) = 0 open("/lib/libm.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@4\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=161544, ...}) = 0 mmap2(NULL, 163968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f76000 mmap2(0xb7f9d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26) = 0xb7f9d000 close(3) = 0 open("/lib/libcrypt.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\6\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=21820, ...}) = 0 mmap2(NULL, 184636, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f48000 mmap2(0xb7f4d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4) = 0xb7f4d000 mmap2(0xb7f4f000, 155964, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f4f000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200a\1\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1372476, ...}) = 0 mmap2(NULL, 1377768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7df7000 mmap2(0xb7f42000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14b) = 0xb7f42000 mmap2(0xb7f45000, 9704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f45000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7df6000 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7df5000 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7df6b30, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 mprotect(0xb7f42000, 8192, PROT_READ) = 0 mprotect(0xb7f4d000, 4096, PROT_READ) = 0 mprotect(0xb7f9d000, 4096, PROT_READ) = 0 mprotect(0xb7fa1000, 4096, PROT_READ) = 0 mprotect(0xb7ffd000, 4096, PROT_READ) = 0 umask(027) = 022 geteuid32() = 0 brk(0) = 0x8083000 brk(0x80a4000) = 0x80a4000 socket(PF_FILE, SOCK_DGRAM, 0) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 connect(3, {sa_family=AF_FILE, path="/dev/log"}, 110) = -1 EPROTOTYPE (Protocol wrong type for socket) close(3) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 connect(3, {sa_family=AF_FILE, path="/dev/log"}, 110) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 4 fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(4) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 4 fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(4) = 0 open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/libnss_compat.so.2", O_RDONLY) = 4 read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\r\0\0004\0\0\0"..., 512) = 512 fstat64(4, {st_mode=S_IFREG|0755, st_size=30324, ...}) = 0 mmap2(NULL, 33316, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dec000 mmap2(0xb7df3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x6) = 0xb7df3000 close(4) = 0 open("/lib/libnsl.so.1", O_RDONLY) = 4 read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`/\0\0004\0\0\0"..., 512) = 512 fstat64(4, {st_mode=S_IFREG|0755, st_size=95884, ...}) = 0 mmap2(NULL, 108456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dd1000 mmap2(0xb7de8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x16) = 0xb7de8000 mmap2(0xb7dea000, 6056, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7dea000 close(4) = 0 mprotect(0xb7de8000, 4096, PROT_READ) = 0 mprotect(0xb7df3000, 4096, PROT_READ) = 0 open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/libnss_nis.so.2", O_RDONLY) = 4 read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\30\0\0004\0\0\0"..., 512) = 512 fstat64(4, {st_mode=S_IFREG|0755, st_size=38348, ...}) = 0 mmap2(NULL, 41508, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dc6000 mmap2(0xb7dcf000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x8) = 0xb7dcf000 close(4) = 0 open("/lib/libnss_files.so.2", O_RDONLY) = 4 read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\27\0\0004\0\0\0"..., 512) = 512 fstat64(4, {st_mode=S_IFREG|0755, st_size=38304, ...}) = 0 mmap2(NULL, 41588, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dbb000 mmap2(0xb7dc4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x8) = 0xb7dc4000 close(4) = 0 mprotect(0xb7dc4000, 4096, PROT_READ) = 0 mprotect(0xb7dcf000, 4096, PROT_READ) = 0 open("/etc/passwd", O_RDONLY) = 4 fcntl64(4, F_GETFD) = 0 fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 _llseek(4, 0, [0], SEEK_CUR) = 0 fstat64(4, {st_mode=S_IFREG|0644, st_size=874, ...}) = 0 mmap2(NULL, 874, PROT_READ, MAP_SHARED, 4, 0) = 0xb7dba000 _llseek(4, 874, [874], SEEK_SET) = 0 munmap(0xb7dba000, 874) = 0 close(4) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 4 fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(4) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 4 fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) close(4) = 0 open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/group", O_RDONLY) = 4 fcntl64(4, F_GETFD) = 0 fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 _llseek(4, 0, [0], SEEK_CUR) = 0 fstat64(4, {st_mode=S_IFREG|0644, st_size=577, ...}) = 0 mmap2(NULL, 577, PROT_READ, MAP_SHARED, 4, 0) = 0xb7dba000 _llseek(4, 577, [577], SEEK_SET) = 0 munmap(0xb7dba000, 577) = 0 close(4) = 0 setregid32(500, 500) = 0 prctl(0x8, 0x1, 0, 0, 0) = 0 capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 rt_sigaction(SIGQUIT, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGQUIT, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGILL, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGILL, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGFPE, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGFPE, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGBUS, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGBUS, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGSEGV, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGSEGV, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGSYS, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGSYS, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGXCPU, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGXCPU, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGXFSZ, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGXFSZ, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGHUP, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGHUP, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGINT, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGINT, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGALRM, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGALRM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGTERM, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGTERM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGUSR1, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGUSR1, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGUSR2, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGUSR2, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGIO, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGIO, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGVTALRM, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGVTALRM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGSTKFLT, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGSTKFLT, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGPIPE, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0 rt_sigaction(SIGHUP, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 rt_sigaction(SIGUSR1, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 rt_sigaction(SIGINT, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 rt_sigaction(SIGTERM, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 time(NULL) = 1009844358 getcwd("/root", 4096) = 6 open("/etc/ldpd.conf", O_RDONLY) = 4 fstat64(4, {st_mode=S_IFREG|0644, st_size=179, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7dba000 read(4, "hostname uml-2-mpls\npassword roo"..., 1024) = 179 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 5 setsockopt(5, SOL_IP, IP_PKTINFO, "\1", 1) = 0 capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 bind(5, {sa_family=AF_INET, sin_port=htons(646), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 setsockopt(5, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 fcntl64(5, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 setsockopt(5, SOL_IP, IP_MULTICAST_TTL, [1], 4) = 0 setsockopt(5, SOL_IP, IP_MULTICAST_LOOP, [0], 4) = 0 capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 6 capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 setsockopt(6, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 fcntl64(6, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 bind(6, {sa_family=AF_INET, sin_port=htons(646), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 listen(6, 15) = 0 read(4, "", 1024) = 0 close(4) = 0 munmap(0xb7dba000, 4096) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7df6b78) = 441 --- SIGCHLD (Child exited) @ 0 (0) --- exit_group(0) = ? ================================================================================== _________________________________________________________________ Windows Live Photo gallery 数码相机的超级伴侣,轻松管理和编辑照片,还能制作全景美图! http://get.live.cn/product/photo.html |
From: James R. L. <jl...@mi...> - 2008-05-07 12:49:47
|
You must start zebra before ospfd or ldpd. Also make sure you start with an 'empty' ldpd config (just hostname and interfaces) there is a bug with ldpd (which is fixed in the development tree), that is does not start if there is an existing config. On Wed, May 07, 2008 at 10:14:04AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: > > Hi all. > Thank you for help. > I patch the quagga-mpls.diff to quagga-0.99.6 and configure && make it. > BUT I found that when I telnet to the shell of zebra, ldpd will crash and can not start again. > If I start ldpd and ospfd, telnet any are ok. > But I start zebra after above two, and telnet to 2601(zebra's shell port), ldpd crashed. > The strace of start ldpd again is follow: > =================================================================== > execve("/sbin/ldpd", ["ldpd", "-d", "-u", "root", "-f", "/etc/ldpd.conf"], [/* 9 vars */]) = 0 > brk(0) = 0x8083000 > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fdf000 > access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) > open("/quagga/quagga-0.99.6/install/lib/tls/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/quagga/quagga-0.99.6/install/lib/tls/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > open("/quagga/quagga-0.99.6/install/lib/tls/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/quagga/quagga-0.99.6/install/lib/tls/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) > open("/quagga/quagga-0.99.6/install/lib/tls/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/quagga/quagga-0.99.6/install/lib/tls/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > open("/quagga/quagga-0.99.6/install/lib/tls/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/quagga/quagga-0.99.6/install/lib/tls", 0xbfad4778) = -1 ENOENT (No such file or directory) > open("/quagga/quagga-0.99.6/install/lib/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/quagga/quagga-0.99.6/install/lib/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > open("/quagga/quagga-0.99.6/install/lib/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/quagga/quagga-0.99.6/install/lib/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) > open("/quagga/quagga-0.99.6/install/lib/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/quagga/quagga-0.99.6/install/lib/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > open("/quagga/quagga-0.99.6/install/lib/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/quagga/quagga-0.99.6/install/lib", 0xbfad4778) = -1 ENOENT (No such file or directory) > open("/etc/ld.so.cache", O_RDONLY) = -1 ENOENT (No such file or directory) > open("/lib/tls/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/lib/tls/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > open("/lib/tls/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/lib/tls/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) > open("/lib/tls/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/lib/tls/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > open("/lib/tls/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/lib/tls", 0xbfad4778) = -1 ENOENT (No such file or directory) > open("/lib/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/lib/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > open("/lib/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/lib/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) > open("/lib/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/lib/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > open("/lib/libzebra.so.0", O_RDONLY) = 3 > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\374\302\0\0004\0\0\0"..., 512) = 512 > fstat64(3, {st_mode=S_IFREG|0755, st_size=609544, ...}) = 0 > mmap2(NULL, 245608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7fa3000 > mmap2(0xb7fd7000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x34) = 0xb7fd7000 > mmap2(0xb7fdd000, 8040, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fdd000 > close(3) = 0 > open("/lib/libcap.so.1", O_RDONLY) = 3 > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\n\0\0004\0\0\0"..., 512) = 512 > fstat64(3, {st_mode=S_IFREG|0755, st_size=9544, ...}) = 0 > mmap2(NULL, 13140, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f9f000 > mmap2(0xb7fa1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7fa1000 > close(3) = 0 > open("/lib/libm.so.6", O_RDONLY) = 3 > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@4\0\0004\0\0\0"..., 512) = 512 > fstat64(3, {st_mode=S_IFREG|0755, st_size=161544, ...}) = 0 > mmap2(NULL, 163968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f76000 > mmap2(0xb7f9d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26) = 0xb7f9d000 > close(3) = 0 > open("/lib/libcrypt.so.1", O_RDONLY) = 3 > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\6\0\0004\0\0\0"..., 512) = 512 > fstat64(3, {st_mode=S_IFREG|0755, st_size=21820, ...}) = 0 > mmap2(NULL, 184636, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f48000 > mmap2(0xb7f4d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4) = 0xb7f4d000 > mmap2(0xb7f4f000, 155964, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f4f000 > close(3) = 0 > open("/lib/libc.so.6", O_RDONLY) = 3 > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200a\1\0004\0\0\0"..., 512) = 512 > fstat64(3, {st_mode=S_IFREG|0755, st_size=1372476, ...}) = 0 > mmap2(NULL, 1377768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7df7000 > mmap2(0xb7f42000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14b) = 0xb7f42000 > mmap2(0xb7f45000, 9704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f45000 > close(3) = 0 > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7df6000 > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7df5000 > set_thread_area({entry_number:-1 -> 6, base_addr:0xb7df6b30, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 > mprotect(0xb7f42000, 8192, PROT_READ) = 0 > mprotect(0xb7f4d000, 4096, PROT_READ) = 0 > mprotect(0xb7f9d000, 4096, PROT_READ) = 0 > mprotect(0xb7fa1000, 4096, PROT_READ) = 0 > mprotect(0xb7ffd000, 4096, PROT_READ) = 0 > umask(027) = 022 > geteuid32() = 0 > brk(0) = 0x8083000 > brk(0x80a4000) = 0x80a4000 > socket(PF_FILE, SOCK_DGRAM, 0) = 3 > fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 > connect(3, {sa_family=AF_FILE, path="/dev/log"}, 110) = -1 EPROTOTYPE (Protocol wrong type for socket) > close(3) = 0 > socket(PF_FILE, SOCK_STREAM, 0) = 3 > fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 > connect(3, {sa_family=AF_FILE, path="/dev/log"}, 110) = 0 > socket(PF_FILE, SOCK_STREAM, 0) = 4 > fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) > close(4) = 0 > socket(PF_FILE, SOCK_STREAM, 0) = 4 > fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) > close(4) = 0 > open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) > open("/lib/libnss_compat.so.2", O_RDONLY) = 4 > read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\r\0\0004\0\0\0"..., 512) = 512 > fstat64(4, {st_mode=S_IFREG|0755, st_size=30324, ...}) = 0 > mmap2(NULL, 33316, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dec000 > mmap2(0xb7df3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x6) = 0xb7df3000 > close(4) = 0 > open("/lib/libnsl.so.1", O_RDONLY) = 4 > read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`/\0\0004\0\0\0"..., 512) = 512 > fstat64(4, {st_mode=S_IFREG|0755, st_size=95884, ...}) = 0 > mmap2(NULL, 108456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dd1000 > mmap2(0xb7de8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x16) = 0xb7de8000 > mmap2(0xb7dea000, 6056, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7dea000 > close(4) = 0 > mprotect(0xb7de8000, 4096, PROT_READ) = 0 > mprotect(0xb7df3000, 4096, PROT_READ) = 0 > open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) > open("/lib/libnss_nis.so.2", O_RDONLY) = 4 > read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\30\0\0004\0\0\0"..., 512) = 512 > fstat64(4, {st_mode=S_IFREG|0755, st_size=38348, ...}) = 0 > mmap2(NULL, 41508, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dc6000 > mmap2(0xb7dcf000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x8) = 0xb7dcf000 > close(4) = 0 > open("/lib/libnss_files.so.2", O_RDONLY) = 4 > read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\27\0\0004\0\0\0"..., 512) = 512 > fstat64(4, {st_mode=S_IFREG|0755, st_size=38304, ...}) = 0 > mmap2(NULL, 41588, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dbb000 > mmap2(0xb7dc4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x8) = 0xb7dc4000 > close(4) = 0 > mprotect(0xb7dc4000, 4096, PROT_READ) = 0 > mprotect(0xb7dcf000, 4096, PROT_READ) = 0 > open("/etc/passwd", O_RDONLY) = 4 > fcntl64(4, F_GETFD) = 0 > fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 > _llseek(4, 0, [0], SEEK_CUR) = 0 > fstat64(4, {st_mode=S_IFREG|0644, st_size=874, ...}) = 0 > mmap2(NULL, 874, PROT_READ, MAP_SHARED, 4, 0) = 0xb7dba000 > _llseek(4, 874, [874], SEEK_SET) = 0 > munmap(0xb7dba000, 874) = 0 > close(4) = 0 > socket(PF_FILE, SOCK_STREAM, 0) = 4 > fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) > close(4) = 0 > socket(PF_FILE, SOCK_STREAM, 0) = 4 > fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) > close(4) = 0 > open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) > open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) > open("/etc/group", O_RDONLY) = 4 > fcntl64(4, F_GETFD) = 0 > fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 > _llseek(4, 0, [0], SEEK_CUR) = 0 > fstat64(4, {st_mode=S_IFREG|0644, st_size=577, ...}) = 0 > mmap2(NULL, 577, PROT_READ, MAP_SHARED, 4, 0) = 0xb7dba000 > _llseek(4, 577, [577], SEEK_SET) = 0 > munmap(0xb7dba000, 577) = 0 > close(4) = 0 > setregid32(500, 500) = 0 > prctl(0x8, 0x1, 0, 0, 0) = 0 > capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > rt_sigaction(SIGQUIT, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGQUIT, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGILL, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGILL, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGFPE, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGFPE, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGBUS, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGBUS, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGSEGV, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGSEGV, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGSYS, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGSYS, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGXCPU, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGXCPU, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGXFSZ, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGXFSZ, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGHUP, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGHUP, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGINT, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGINT, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGALRM, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGALRM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGTERM, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGTERM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGUSR1, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGUSR1, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGUSR2, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGUSR2, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGIO, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGIO, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGVTALRM, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGVTALRM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGSTKFLT, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGSTKFLT, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > rt_sigaction(SIGPIPE, NULL, {SIG_DFL}, 8) = 0 > rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0 > rt_sigaction(SIGHUP, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 > rt_sigaction(SIGUSR1, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 > rt_sigaction(SIGINT, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 > rt_sigaction(SIGTERM, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 > time(NULL) = 1009844358 > getcwd("/root", 4096) = 6 > open("/etc/ldpd.conf", O_RDONLY) = 4 > fstat64(4, {st_mode=S_IFREG|0644, st_size=179, ...}) = 0 > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7dba000 > read(4, "hostname uml-2-mpls\npassword roo"..., 1024) = 179 > socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 5 > setsockopt(5, SOL_IP, IP_PKTINFO, "\1", 1) = 0 > capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > bind(5, {sa_family=AF_INET, sin_port=htons(646), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 > capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > setsockopt(5, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 > fcntl64(5, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 > capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > setsockopt(5, SOL_IP, IP_MULTICAST_TTL, [1], 4) = 0 > setsockopt(5, SOL_IP, IP_MULTICAST_LOOP, [0], 4) = 0 > capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 6 > capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > setsockopt(6, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 > fcntl64(6, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 > capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > bind(6, {sa_family=AF_INET, sin_port=htons(646), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 > capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > listen(6, 15) = 0 > read(4, "", 1024) = 0 > close(4) = 0 > munmap(0xb7dba000, 4096) = 0 > clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7df6b78) = 441 > --- SIGCHLD (Child exited) @ 0 (0) --- > exit_group(0) = ? > ================================================================================== > _________________________________________________________________ > Windows Live Photo gallery 数码相机的超级伴侣,轻松管理和编辑照片,还能制作全景美图! > http://get.live.cn/product/photo.html -- James R. Leu jl...@mi... |
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: 刘磊 <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-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: 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-05-08 01:42:51
|
I just follow the example in the ldp-portable readme. ____________________________________________________ldpd config____________________________________ hostname uml-2-mpls password root enable password root ! mpls ldp ! interface lo ! interface eth0 ! interface eth1 mpls ip ! interface eth2 mpls ip ! interface eth3 mpls ip ! interface dummy0 ! line vty exec-timeout 0 0 ---------------------------------------------------------------------------------------------- BUT crash and can not start again. Follow your last mail, I change the config to the below ----------------------------------------------------------------------------------------------- ! hostname uml-1 password root enable password root ! interface eth0 mpls ip ! interface eth1 ! interface eth2 ! interface lo ! line vty ! ------------------------------------------------------------------------------------------------ And ldpd can start, telnet ldpd shell " en, conf t, mpls ldp " to active LDP instance. It seems OK. BUT if I write to save the running-config, ldpd can not start again. How to solved it? Is only to start ldpd by telnet on each system boot? Where is the development tree I can fetch? ========================================== localhost zenki # p4 client Perforce client error: Connect to server failed; check $P4PORT. TCP connect to p4.dangermen.com failed. p4.dangermen.com: host unknown. ========================================== ---------------------------------------- > Date: Wed, 7 May 2008 07:49:14 -0500 > From: jl...@mi... > To: @mindspring.com > CC: mpl...@li... > Subject: Re: [mpls-linux-devel] ldpd crash and could not start again > > You must start zebra before ospfd or ldpd. Also make sure you start > with an 'empty' ldpd config (just hostname and interfaces) there is a > bug with ldpd (which is fixed in the development tree), that is does not > start if there is an existing config. > > On Wed, May 07, 2008 at 10:14:04AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: >> >> Hi all. >> Thank you for help. >> I patch the quagga-mpls.diff to quagga-0.99.6 and configure && make it. >> BUT I found that when I telnet to the shell of zebra, ldpd will crash and can not start again. >> If I start ldpd and ospfd, telnet any are ok. >> But I start zebra after above two, and telnet to 2601(zebra's shell port), ldpd crashed. >> The strace of start ldpd again is follow: >> =================================================================== >> execve("/sbin/ldpd", ["ldpd", "-d", "-u", "root", "-f", "/etc/ldpd.conf"], [/* 9 vars */]) = 0 >> brk(0) = 0x8083000 >> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fdf000 >> access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) >> open("/quagga/quagga-0.99.6/install/lib/tls/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >> stat64("/quagga/quagga-0.99.6/install/lib/tls/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) >> open("/quagga/quagga-0.99.6/install/lib/tls/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >> stat64("/quagga/quagga-0.99.6/install/lib/tls/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) >> open("/quagga/quagga-0.99.6/install/lib/tls/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >> stat64("/quagga/quagga-0.99.6/install/lib/tls/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) >> open("/quagga/quagga-0.99.6/install/lib/tls/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >> stat64("/quagga/quagga-0.99.6/install/lib/tls", 0xbfad4778) = -1 ENOENT (No such file or directory) >> open("/quagga/quagga-0.99.6/install/lib/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >> stat64("/quagga/quagga-0.99.6/install/lib/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) >> open("/quagga/quagga-0.99.6/install/lib/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >> stat64("/quagga/quagga-0.99.6/install/lib/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) >> open("/quagga/quagga-0.99.6/install/lib/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >> stat64("/quagga/quagga-0.99.6/install/lib/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) >> open("/quagga/quagga-0.99.6/install/lib/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >> stat64("/quagga/quagga-0.99.6/install/lib", 0xbfad4778) = -1 ENOENT (No such file or directory) >> open("/etc/ld.so.cache", O_RDONLY) = -1 ENOENT (No such file or directory) >> open("/lib/tls/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >> stat64("/lib/tls/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) >> open("/lib/tls/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >> stat64("/lib/tls/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) >> open("/lib/tls/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >> stat64("/lib/tls/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) >> open("/lib/tls/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >> stat64("/lib/tls", 0xbfad4778) = -1 ENOENT (No such file or directory) >> open("/lib/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >> stat64("/lib/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) >> open("/lib/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >> stat64("/lib/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) >> open("/lib/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >> stat64("/lib/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) >> open("/lib/libzebra.so.0", O_RDONLY) = 3 >> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\374\302\0\0004\0\0\0"..., 512) = 512 >> fstat64(3, {st_mode=S_IFREG|0755, st_size=609544, ...}) = 0 >> mmap2(NULL, 245608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7fa3000 >> mmap2(0xb7fd7000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x34) = 0xb7fd7000 >> mmap2(0xb7fdd000, 8040, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fdd000 >> close(3) = 0 >> open("/lib/libcap.so.1", O_RDONLY) = 3 >> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\n\0\0004\0\0\0"..., 512) = 512 >> fstat64(3, {st_mode=S_IFREG|0755, st_size=9544, ...}) = 0 >> mmap2(NULL, 13140, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f9f000 >> mmap2(0xb7fa1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7fa1000 >> close(3) = 0 >> open("/lib/libm.so.6", O_RDONLY) = 3 >> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@4\0\0004\0\0\0"..., 512) = 512 >> fstat64(3, {st_mode=S_IFREG|0755, st_size=161544, ...}) = 0 >> mmap2(NULL, 163968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f76000 >> mmap2(0xb7f9d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26) = 0xb7f9d000 >> close(3) = 0 >> open("/lib/libcrypt.so.1", O_RDONLY) = 3 >> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\6\0\0004\0\0\0"..., 512) = 512 >> fstat64(3, {st_mode=S_IFREG|0755, st_size=21820, ...}) = 0 >> mmap2(NULL, 184636, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f48000 >> mmap2(0xb7f4d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4) = 0xb7f4d000 >> mmap2(0xb7f4f000, 155964, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f4f000 >> close(3) = 0 >> open("/lib/libc.so.6", O_RDONLY) = 3 >> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200a\1\0004\0\0\0"..., 512) = 512 >> fstat64(3, {st_mode=S_IFREG|0755, st_size=1372476, ...}) = 0 >> mmap2(NULL, 1377768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7df7000 >> mmap2(0xb7f42000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14b) = 0xb7f42000 >> mmap2(0xb7f45000, 9704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f45000 >> close(3) = 0 >> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7df6000 >> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7df5000 >> set_thread_area({entry_number:-1 -> 6, base_addr:0xb7df6b30, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 >> mprotect(0xb7f42000, 8192, PROT_READ) = 0 >> mprotect(0xb7f4d000, 4096, PROT_READ) = 0 >> mprotect(0xb7f9d000, 4096, PROT_READ) = 0 >> mprotect(0xb7fa1000, 4096, PROT_READ) = 0 >> mprotect(0xb7ffd000, 4096, PROT_READ) = 0 >> umask(027) = 022 >> geteuid32() = 0 >> brk(0) = 0x8083000 >> brk(0x80a4000) = 0x80a4000 >> socket(PF_FILE, SOCK_DGRAM, 0) = 3 >> fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 >> connect(3, {sa_family=AF_FILE, path="/dev/log"}, 110) = -1 EPROTOTYPE (Protocol wrong type for socket) >> close(3) = 0 >> socket(PF_FILE, SOCK_STREAM, 0) = 3 >> fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 >> connect(3, {sa_family=AF_FILE, path="/dev/log"}, 110) = 0 >> socket(PF_FILE, SOCK_STREAM, 0) = 4 >> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 >> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) >> close(4) = 0 >> socket(PF_FILE, SOCK_STREAM, 0) = 4 >> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 >> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) >> close(4) = 0 >> open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) >> open("/lib/libnss_compat.so.2", O_RDONLY) = 4 >> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\r\0\0004\0\0\0"..., 512) = 512 >> fstat64(4, {st_mode=S_IFREG|0755, st_size=30324, ...}) = 0 >> mmap2(NULL, 33316, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dec000 >> mmap2(0xb7df3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x6) = 0xb7df3000 >> close(4) = 0 >> open("/lib/libnsl.so.1", O_RDONLY) = 4 >> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`/\0\0004\0\0\0"..., 512) = 512 >> fstat64(4, {st_mode=S_IFREG|0755, st_size=95884, ...}) = 0 >> mmap2(NULL, 108456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dd1000 >> mmap2(0xb7de8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x16) = 0xb7de8000 >> mmap2(0xb7dea000, 6056, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7dea000 >> close(4) = 0 >> mprotect(0xb7de8000, 4096, PROT_READ) = 0 >> mprotect(0xb7df3000, 4096, PROT_READ) = 0 >> open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) >> open("/lib/libnss_nis.so.2", O_RDONLY) = 4 >> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\30\0\0004\0\0\0"..., 512) = 512 >> fstat64(4, {st_mode=S_IFREG|0755, st_size=38348, ...}) = 0 >> mmap2(NULL, 41508, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dc6000 >> mmap2(0xb7dcf000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x8) = 0xb7dcf000 >> close(4) = 0 >> open("/lib/libnss_files.so.2", O_RDONLY) = 4 >> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\27\0\0004\0\0\0"..., 512) = 512 >> fstat64(4, {st_mode=S_IFREG|0755, st_size=38304, ...}) = 0 >> mmap2(NULL, 41588, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dbb000 >> mmap2(0xb7dc4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x8) = 0xb7dc4000 >> close(4) = 0 >> mprotect(0xb7dc4000, 4096, PROT_READ) = 0 >> mprotect(0xb7dcf000, 4096, PROT_READ) = 0 >> open("/etc/passwd", O_RDONLY) = 4 >> fcntl64(4, F_GETFD) = 0 >> fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 >> _llseek(4, 0, [0], SEEK_CUR) = 0 >> fstat64(4, {st_mode=S_IFREG|0644, st_size=874, ...}) = 0 >> mmap2(NULL, 874, PROT_READ, MAP_SHARED, 4, 0) = 0xb7dba000 >> _llseek(4, 874, [874], SEEK_SET) = 0 >> munmap(0xb7dba000, 874) = 0 >> close(4) = 0 >> socket(PF_FILE, SOCK_STREAM, 0) = 4 >> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 >> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) >> close(4) = 0 >> socket(PF_FILE, SOCK_STREAM, 0) = 4 >> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 >> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) >> close(4) = 0 >> open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) >> open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) >> open("/etc/group", O_RDONLY) = 4 >> fcntl64(4, F_GETFD) = 0 >> fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 >> _llseek(4, 0, [0], SEEK_CUR) = 0 >> fstat64(4, {st_mode=S_IFREG|0644, st_size=577, ...}) = 0 >> mmap2(NULL, 577, PROT_READ, MAP_SHARED, 4, 0) = 0xb7dba000 >> _llseek(4, 577, [577], SEEK_SET) = 0 >> munmap(0xb7dba000, 577) = 0 >> close(4) = 0 >> setregid32(500, 500) = 0 >> prctl(0x8, 0x1, 0, 0, 0) = 0 >> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >> rt_sigaction(SIGQUIT, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGQUIT, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGILL, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGILL, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGFPE, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGFPE, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGBUS, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGBUS, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGSEGV, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGSEGV, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGSYS, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGSYS, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGXCPU, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGXCPU, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGXFSZ, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGXFSZ, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGHUP, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGHUP, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGINT, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGINT, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGALRM, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGALRM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGTERM, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGTERM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGUSR1, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGUSR1, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGUSR2, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGUSR2, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGIO, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGIO, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGVTALRM, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGVTALRM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGSTKFLT, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGSTKFLT, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >> rt_sigaction(SIGPIPE, NULL, {SIG_DFL}, 8) = 0 >> rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0 >> rt_sigaction(SIGHUP, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 >> rt_sigaction(SIGUSR1, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 >> rt_sigaction(SIGINT, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 >> rt_sigaction(SIGTERM, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 >> time(NULL) = 1009844358 >> getcwd("/root", 4096) = 6 >> open("/etc/ldpd.conf", O_RDONLY) = 4 >> fstat64(4, {st_mode=S_IFREG|0644, st_size=179, ...}) = 0 >> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7dba000 >> read(4, "hostname uml-2-mpls\npassword roo"..., 1024) = 179 >> socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 5 >> setsockopt(5, SOL_IP, IP_PKTINFO, "\1", 1) = 0 >> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >> bind(5, {sa_family=AF_INET, sin_port=htons(646), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 >> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >> setsockopt(5, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 >> fcntl64(5, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 >> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >> setsockopt(5, SOL_IP, IP_MULTICAST_TTL, [1], 4) = 0 >> setsockopt(5, SOL_IP, IP_MULTICAST_LOOP, [0], 4) = 0 >> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >> socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 6 >> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >> setsockopt(6, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 >> fcntl64(6, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 >> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >> bind(6, {sa_family=AF_INET, sin_port=htons(646), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 >> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >> listen(6, 15) = 0 >> read(4, "", 1024) = 0 >> close(4) = 0 >> munmap(0xb7dba000, 4096) = 0 >> clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7df6b78) = 441 >> --- SIGCHLD (Child exited) @ 0 (0) --- >> exit_group(0) = ? >> ================================================================================== >> _________________________________________________________________ >> Windows Live Photo gallery 数码相机的超级伴侣,轻松管理和编辑照片,还能制作全景美图! >> http://get.live.cn/product/photo.html > > -- > James R. Leu > jl...@mi... _________________________________________________________________ 多个邮箱同步管理,live mail客户端万人抢用中 http://get.live.cn/product/mail.html |
From: James R. L. <jl...@mi...> - 2008-05-08 03:49:07
|
On Thu, May 08, 2008 at 01:42:42AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: <snip> > And ldpd can start, telnet ldpd shell " en, conf t, mpls ldp " to active LDP instance. It seems OK. > BUT if I write to save the running-config, ldpd can not start again. That is what is fixed in the development tree. > How to solved it? Is only to start ldpd by telnet on each system boot? Yes. > Where is the development tree I can fetch? > ========================================== > localhost zenki # p4 client > Perforce client error: > Connect to server failed; check $P4PORT. > TCP connect to p4.dangermen.com failed. > p4.dangermen.com: host unknown. > ========================================== It works for me. I'm not sure why you're unable to resolve p4.dangermen.com > ---------------------------------------- > > Date: Wed, 7 May 2008 07:49:14 -0500 > > From: jl...@mi... > > To: @mindspring.com > > CC: mpl...@li... > > Subject: Re: [mpls-linux-devel] ldpd crash and could not start again > > > > You must start zebra before ospfd or ldpd. Also make sure you start > > with an 'empty' ldpd config (just hostname and interfaces) there is a > > bug with ldpd (which is fixed in the development tree), that is does not > > start if there is an existing config. > > > > On Wed, May 07, 2008 at 10:14:04AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: > >> > >> Hi all. > >> Thank you for help. > >> I patch the quagga-mpls.diff to quagga-0.99.6 and configure && make it. > >> BUT I found that when I telnet to the shell of zebra, ldpd will crash and can not start again. > >> If I start ldpd and ospfd, telnet any are ok. > >> But I start zebra after above two, and telnet to 2601(zebra's shell port), ldpd crashed. > >> The strace of start ldpd again is follow: > >> =================================================================== > >> execve("/sbin/ldpd", ["ldpd", "-d", "-u", "root", "-f", "/etc/ldpd.conf"], [/* 9 vars */]) = 0 > >> brk(0) = 0x8083000 > >> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fdf000 > >> access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) > >> open("/quagga/quagga-0.99.6/install/lib/tls/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >> stat64("/quagga/quagga-0.99.6/install/lib/tls/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > >> open("/quagga/quagga-0.99.6/install/lib/tls/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >> stat64("/quagga/quagga-0.99.6/install/lib/tls/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) > >> open("/quagga/quagga-0.99.6/install/lib/tls/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >> stat64("/quagga/quagga-0.99.6/install/lib/tls/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > >> open("/quagga/quagga-0.99.6/install/lib/tls/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >> stat64("/quagga/quagga-0.99.6/install/lib/tls", 0xbfad4778) = -1 ENOENT (No such file or directory) > >> open("/quagga/quagga-0.99.6/install/lib/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >> stat64("/quagga/quagga-0.99.6/install/lib/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > >> open("/quagga/quagga-0.99.6/install/lib/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >> stat64("/quagga/quagga-0.99.6/install/lib/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) > >> open("/quagga/quagga-0.99.6/install/lib/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >> stat64("/quagga/quagga-0.99.6/install/lib/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > >> open("/quagga/quagga-0.99.6/install/lib/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >> stat64("/quagga/quagga-0.99.6/install/lib", 0xbfad4778) = -1 ENOENT (No such file or directory) > >> open("/etc/ld.so.cache", O_RDONLY) = -1 ENOENT (No such file or directory) > >> open("/lib/tls/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >> stat64("/lib/tls/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > >> open("/lib/tls/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >> stat64("/lib/tls/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) > >> open("/lib/tls/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >> stat64("/lib/tls/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > >> open("/lib/tls/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >> stat64("/lib/tls", 0xbfad4778) = -1 ENOENT (No such file or directory) > >> open("/lib/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >> stat64("/lib/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > >> open("/lib/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >> stat64("/lib/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) > >> open("/lib/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >> stat64("/lib/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > >> open("/lib/libzebra.so.0", O_RDONLY) = 3 > >> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\374\302\0\0004\0\0\0"..., 512) = 512 > >> fstat64(3, {st_mode=S_IFREG|0755, st_size=609544, ...}) = 0 > >> mmap2(NULL, 245608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7fa3000 > >> mmap2(0xb7fd7000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x34) = 0xb7fd7000 > >> mmap2(0xb7fdd000, 8040, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fdd000 > >> close(3) = 0 > >> open("/lib/libcap.so.1", O_RDONLY) = 3 > >> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\n\0\0004\0\0\0"..., 512) = 512 > >> fstat64(3, {st_mode=S_IFREG|0755, st_size=9544, ...}) = 0 > >> mmap2(NULL, 13140, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f9f000 > >> mmap2(0xb7fa1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7fa1000 > >> close(3) = 0 > >> open("/lib/libm.so.6", O_RDONLY) = 3 > >> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@4\0\0004\0\0\0"..., 512) = 512 > >> fstat64(3, {st_mode=S_IFREG|0755, st_size=161544, ...}) = 0 > >> mmap2(NULL, 163968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f76000 > >> mmap2(0xb7f9d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26) = 0xb7f9d000 > >> close(3) = 0 > >> open("/lib/libcrypt.so.1", O_RDONLY) = 3 > >> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\6\0\0004\0\0\0"..., 512) = 512 > >> fstat64(3, {st_mode=S_IFREG|0755, st_size=21820, ...}) = 0 > >> mmap2(NULL, 184636, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f48000 > >> mmap2(0xb7f4d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4) = 0xb7f4d000 > >> mmap2(0xb7f4f000, 155964, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f4f000 > >> close(3) = 0 > >> open("/lib/libc.so.6", O_RDONLY) = 3 > >> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200a\1\0004\0\0\0"..., 512) = 512 > >> fstat64(3, {st_mode=S_IFREG|0755, st_size=1372476, ...}) = 0 > >> mmap2(NULL, 1377768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7df7000 > >> mmap2(0xb7f42000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14b) = 0xb7f42000 > >> mmap2(0xb7f45000, 9704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f45000 > >> close(3) = 0 > >> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7df6000 > >> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7df5000 > >> set_thread_area({entry_number:-1 -> 6, base_addr:0xb7df6b30, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 > >> mprotect(0xb7f42000, 8192, PROT_READ) = 0 > >> mprotect(0xb7f4d000, 4096, PROT_READ) = 0 > >> mprotect(0xb7f9d000, 4096, PROT_READ) = 0 > >> mprotect(0xb7fa1000, 4096, PROT_READ) = 0 > >> mprotect(0xb7ffd000, 4096, PROT_READ) = 0 > >> umask(027) = 022 > >> geteuid32() = 0 > >> brk(0) = 0x8083000 > >> brk(0x80a4000) = 0x80a4000 > >> socket(PF_FILE, SOCK_DGRAM, 0) = 3 > >> fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 > >> connect(3, {sa_family=AF_FILE, path="/dev/log"}, 110) = -1 EPROTOTYPE (Protocol wrong type for socket) > >> close(3) = 0 > >> socket(PF_FILE, SOCK_STREAM, 0) = 3 > >> fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 > >> connect(3, {sa_family=AF_FILE, path="/dev/log"}, 110) = 0 > >> socket(PF_FILE, SOCK_STREAM, 0) = 4 > >> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > >> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) > >> close(4) = 0 > >> socket(PF_FILE, SOCK_STREAM, 0) = 4 > >> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > >> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) > >> close(4) = 0 > >> open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) > >> open("/lib/libnss_compat.so.2", O_RDONLY) = 4 > >> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\r\0\0004\0\0\0"..., 512) = 512 > >> fstat64(4, {st_mode=S_IFREG|0755, st_size=30324, ...}) = 0 > >> mmap2(NULL, 33316, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dec000 > >> mmap2(0xb7df3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x6) = 0xb7df3000 > >> close(4) = 0 > >> open("/lib/libnsl.so.1", O_RDONLY) = 4 > >> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`/\0\0004\0\0\0"..., 512) = 512 > >> fstat64(4, {st_mode=S_IFREG|0755, st_size=95884, ...}) = 0 > >> mmap2(NULL, 108456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dd1000 > >> mmap2(0xb7de8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x16) = 0xb7de8000 > >> mmap2(0xb7dea000, 6056, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7dea000 > >> close(4) = 0 > >> mprotect(0xb7de8000, 4096, PROT_READ) = 0 > >> mprotect(0xb7df3000, 4096, PROT_READ) = 0 > >> open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) > >> open("/lib/libnss_nis.so.2", O_RDONLY) = 4 > >> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\30\0\0004\0\0\0"..., 512) = 512 > >> fstat64(4, {st_mode=S_IFREG|0755, st_size=38348, ...}) = 0 > >> mmap2(NULL, 41508, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dc6000 > >> mmap2(0xb7dcf000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x8) = 0xb7dcf000 > >> close(4) = 0 > >> open("/lib/libnss_files.so.2", O_RDONLY) = 4 > >> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\27\0\0004\0\0\0"..., 512) = 512 > >> fstat64(4, {st_mode=S_IFREG|0755, st_size=38304, ...}) = 0 > >> mmap2(NULL, 41588, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dbb000 > >> mmap2(0xb7dc4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x8) = 0xb7dc4000 > >> close(4) = 0 > >> mprotect(0xb7dc4000, 4096, PROT_READ) = 0 > >> mprotect(0xb7dcf000, 4096, PROT_READ) = 0 > >> open("/etc/passwd", O_RDONLY) = 4 > >> fcntl64(4, F_GETFD) = 0 > >> fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 > >> _llseek(4, 0, [0], SEEK_CUR) = 0 > >> fstat64(4, {st_mode=S_IFREG|0644, st_size=874, ...}) = 0 > >> mmap2(NULL, 874, PROT_READ, MAP_SHARED, 4, 0) = 0xb7dba000 > >> _llseek(4, 874, [874], SEEK_SET) = 0 > >> munmap(0xb7dba000, 874) = 0 > >> close(4) = 0 > >> socket(PF_FILE, SOCK_STREAM, 0) = 4 > >> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > >> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) > >> close(4) = 0 > >> socket(PF_FILE, SOCK_STREAM, 0) = 4 > >> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > >> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) > >> close(4) = 0 > >> open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) > >> open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) > >> open("/etc/group", O_RDONLY) = 4 > >> fcntl64(4, F_GETFD) = 0 > >> fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 > >> _llseek(4, 0, [0], SEEK_CUR) = 0 > >> fstat64(4, {st_mode=S_IFREG|0644, st_size=577, ...}) = 0 > >> mmap2(NULL, 577, PROT_READ, MAP_SHARED, 4, 0) = 0xb7dba000 > >> _llseek(4, 577, [577], SEEK_SET) = 0 > >> munmap(0xb7dba000, 577) = 0 > >> close(4) = 0 > >> setregid32(500, 500) = 0 > >> prctl(0x8, 0x1, 0, 0, 0) = 0 > >> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >> rt_sigaction(SIGQUIT, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGQUIT, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGILL, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGILL, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGFPE, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGFPE, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGBUS, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGBUS, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGSEGV, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGSEGV, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGSYS, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGSYS, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGXCPU, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGXCPU, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGXFSZ, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGXFSZ, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGHUP, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGHUP, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGINT, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGINT, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGALRM, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGALRM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGTERM, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGTERM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGUSR1, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGUSR1, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGUSR2, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGUSR2, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGIO, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGIO, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGVTALRM, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGVTALRM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGSTKFLT, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGSTKFLT, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >> rt_sigaction(SIGPIPE, NULL, {SIG_DFL}, 8) = 0 > >> rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0 > >> rt_sigaction(SIGHUP, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 > >> rt_sigaction(SIGUSR1, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 > >> rt_sigaction(SIGINT, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 > >> rt_sigaction(SIGTERM, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 > >> time(NULL) = 1009844358 > >> getcwd("/root", 4096) = 6 > >> open("/etc/ldpd.conf", O_RDONLY) = 4 > >> fstat64(4, {st_mode=S_IFREG|0644, st_size=179, ...}) = 0 > >> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7dba000 > >> read(4, "hostname uml-2-mpls\npassword roo"..., 1024) = 179 > >> socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 5 > >> setsockopt(5, SOL_IP, IP_PKTINFO, "\1", 1) = 0 > >> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >> bind(5, {sa_family=AF_INET, sin_port=htons(646), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 > >> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >> setsockopt(5, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 > >> fcntl64(5, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 > >> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >> setsockopt(5, SOL_IP, IP_MULTICAST_TTL, [1], 4) = 0 > >> setsockopt(5, SOL_IP, IP_MULTICAST_LOOP, [0], 4) = 0 > >> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >> socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 6 > >> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >> setsockopt(6, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 > >> fcntl64(6, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 > >> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >> bind(6, {sa_family=AF_INET, sin_port=htons(646), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 > >> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >> listen(6, 15) = 0 > >> read(4, "", 1024) = 0 > >> close(4) = 0 > >> munmap(0xb7dba000, 4096) = 0 > >> clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7df6b78) = 441 > >> --- SIGCHLD (Child exited) @ 0 (0) --- > >> exit_group(0) = ? > >> ================================================================================== > >> _________________________________________________________________ > >> Windows Live Photo gallery 数码相机的超级伴侣,轻松管理和编辑照片,还能制作全景美图! > >> http://get.live.cn/product/photo.html > > > > -- > > James R. Leu > > jl...@mi... > > _________________________________________________________________ > 多个邮箱同步管理,live mail客户端万人抢用中 > http://get.live.cn/product/mail.html -- James R. Leu jl...@mi... |
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 11:46:03
|
Just to make sure I understand what you're trying to do: You want to get hooked into the PREROUTE netfilter chain for packets coming to a LER from MPLS. To do this the normal 'pop peek' instructions should work just. If you want to 'force' the trasistion from MPLS to IPv4 for packets coming to a LER from MPLS you can use the 'deliver' instruction on the associated ILM. On Thu, May 01, 2008 at 10:44:42AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: > > 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 -- James R. Leu jl...@mi... |
From: 刘磊 <orp...@ms...> - 2008-05-08 04:04:27
|
Oh, thank you for help. Can you mail the new patch to me, which had fixed the bug? I'd like to get the new patch of mpls-linux and ldp-portable. ---------------------------------------- > Date: Wed, 7 May 2008 22:47:56 -0500 > From: jl...@mi... > To: @mindspring.com > CC: mpl...@li... > Subject: Re: [mpls-linux-devel] ldpd crash and could not start again > > On Thu, May 08, 2008 at 01:42:42AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: > >> And ldpd can start, telnet ldpd shell " en, conf t, mpls ldp " to active LDP instance. It seems OK. >> BUT if I write to save the running-config, ldpd can not start again. > > That is what is fixed in the development tree. > >> How to solved it? Is only to start ldpd by telnet on each system boot? > > Yes. > >> Where is the development tree I can fetch? >> ========================================== >> localhost zenki # p4 client >> Perforce client error: >> Connect to server failed; check $P4PORT. >> TCP connect to p4.dangermen.com failed. >> p4.dangermen.com: host unknown. >> ========================================== > > It works for me. I'm not sure why you're unable to resolve p4.dangermen.com > >> ---------------------------------------- >>> Date: Wed, 7 May 2008 07:49:14 -0500 >>> From: jl...@mi... >>> To: @mindspring.com >>> CC: mpl...@li... >>> Subject: Re: [mpls-linux-devel] ldpd crash and could not start again >>> >>> You must start zebra before ospfd or ldpd. Also make sure you start >>> with an 'empty' ldpd config (just hostname and interfaces) there is a >>> bug with ldpd (which is fixed in the development tree), that is does not >>> start if there is an existing config. >>> >>> On Wed, May 07, 2008 at 10:14:04AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: >>>> >>>> Hi all. >>>> Thank you for help. >>>> I patch the quagga-mpls.diff to quagga-0.99.6 and configure && make it. >>>> BUT I found that when I telnet to the shell of zebra, ldpd will crash and can not start again. >>>> If I start ldpd and ospfd, telnet any are ok. >>>> But I start zebra after above two, and telnet to 2601(zebra's shell port), ldpd crashed. >>>> The strace of start ldpd again is follow: >>>> =================================================================== >>>> execve("/sbin/ldpd", ["ldpd", "-d", "-u", "root", "-f", "/etc/ldpd.conf"], [/* 9 vars */]) = 0 >>>> brk(0) = 0x8083000 >>>> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fdf000 >>>> access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) >>>> open("/quagga/quagga-0.99.6/install/lib/tls/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> stat64("/quagga/quagga-0.99.6/install/lib/tls/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) >>>> open("/quagga/quagga-0.99.6/install/lib/tls/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> stat64("/quagga/quagga-0.99.6/install/lib/tls/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) >>>> open("/quagga/quagga-0.99.6/install/lib/tls/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> stat64("/quagga/quagga-0.99.6/install/lib/tls/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) >>>> open("/quagga/quagga-0.99.6/install/lib/tls/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> stat64("/quagga/quagga-0.99.6/install/lib/tls", 0xbfad4778) = -1 ENOENT (No such file or directory) >>>> open("/quagga/quagga-0.99.6/install/lib/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> stat64("/quagga/quagga-0.99.6/install/lib/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) >>>> open("/quagga/quagga-0.99.6/install/lib/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> stat64("/quagga/quagga-0.99.6/install/lib/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) >>>> open("/quagga/quagga-0.99.6/install/lib/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> stat64("/quagga/quagga-0.99.6/install/lib/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) >>>> open("/quagga/quagga-0.99.6/install/lib/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> stat64("/quagga/quagga-0.99.6/install/lib", 0xbfad4778) = -1 ENOENT (No such file or directory) >>>> open("/etc/ld.so.cache", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> open("/lib/tls/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> stat64("/lib/tls/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) >>>> open("/lib/tls/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> stat64("/lib/tls/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) >>>> open("/lib/tls/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> stat64("/lib/tls/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) >>>> open("/lib/tls/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> stat64("/lib/tls", 0xbfad4778) = -1 ENOENT (No such file or directory) >>>> open("/lib/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> stat64("/lib/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) >>>> open("/lib/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> stat64("/lib/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) >>>> open("/lib/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> stat64("/lib/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) >>>> open("/lib/libzebra.so.0", O_RDONLY) = 3 >>>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\374\302\0\0004\0\0\0"..., 512) = 512 >>>> fstat64(3, {st_mode=S_IFREG|0755, st_size=609544, ...}) = 0 >>>> mmap2(NULL, 245608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7fa3000 >>>> mmap2(0xb7fd7000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x34) = 0xb7fd7000 >>>> mmap2(0xb7fdd000, 8040, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fdd000 >>>> close(3) = 0 >>>> open("/lib/libcap.so.1", O_RDONLY) = 3 >>>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\n\0\0004\0\0\0"..., 512) = 512 >>>> fstat64(3, {st_mode=S_IFREG|0755, st_size=9544, ...}) = 0 >>>> mmap2(NULL, 13140, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f9f000 >>>> mmap2(0xb7fa1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7fa1000 >>>> close(3) = 0 >>>> open("/lib/libm.so.6", O_RDONLY) = 3 >>>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@4\0\0004\0\0\0"..., 512) = 512 >>>> fstat64(3, {st_mode=S_IFREG|0755, st_size=161544, ...}) = 0 >>>> mmap2(NULL, 163968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f76000 >>>> mmap2(0xb7f9d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26) = 0xb7f9d000 >>>> close(3) = 0 >>>> open("/lib/libcrypt.so.1", O_RDONLY) = 3 >>>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\6\0\0004\0\0\0"..., 512) = 512 >>>> fstat64(3, {st_mode=S_IFREG|0755, st_size=21820, ...}) = 0 >>>> mmap2(NULL, 184636, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f48000 >>>> mmap2(0xb7f4d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4) = 0xb7f4d000 >>>> mmap2(0xb7f4f000, 155964, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f4f000 >>>> close(3) = 0 >>>> open("/lib/libc.so.6", O_RDONLY) = 3 >>>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200a\1\0004\0\0\0"..., 512) = 512 >>>> fstat64(3, {st_mode=S_IFREG|0755, st_size=1372476, ...}) = 0 >>>> mmap2(NULL, 1377768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7df7000 >>>> mmap2(0xb7f42000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14b) = 0xb7f42000 >>>> mmap2(0xb7f45000, 9704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f45000 >>>> close(3) = 0 >>>> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7df6000 >>>> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7df5000 >>>> set_thread_area({entry_number:-1 -> 6, base_addr:0xb7df6b30, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 >>>> mprotect(0xb7f42000, 8192, PROT_READ) = 0 >>>> mprotect(0xb7f4d000, 4096, PROT_READ) = 0 >>>> mprotect(0xb7f9d000, 4096, PROT_READ) = 0 >>>> mprotect(0xb7fa1000, 4096, PROT_READ) = 0 >>>> mprotect(0xb7ffd000, 4096, PROT_READ) = 0 >>>> umask(027) = 022 >>>> geteuid32() = 0 >>>> brk(0) = 0x8083000 >>>> brk(0x80a4000) = 0x80a4000 >>>> socket(PF_FILE, SOCK_DGRAM, 0) = 3 >>>> fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 >>>> connect(3, {sa_family=AF_FILE, path="/dev/log"}, 110) = -1 EPROTOTYPE (Protocol wrong type for socket) >>>> close(3) = 0 >>>> socket(PF_FILE, SOCK_STREAM, 0) = 3 >>>> fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 >>>> connect(3, {sa_family=AF_FILE, path="/dev/log"}, 110) = 0 >>>> socket(PF_FILE, SOCK_STREAM, 0) = 4 >>>> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 >>>> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) >>>> close(4) = 0 >>>> socket(PF_FILE, SOCK_STREAM, 0) = 4 >>>> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 >>>> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) >>>> close(4) = 0 >>>> open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> open("/lib/libnss_compat.so.2", O_RDONLY) = 4 >>>> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\r\0\0004\0\0\0"..., 512) = 512 >>>> fstat64(4, {st_mode=S_IFREG|0755, st_size=30324, ...}) = 0 >>>> mmap2(NULL, 33316, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dec000 >>>> mmap2(0xb7df3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x6) = 0xb7df3000 >>>> close(4) = 0 >>>> open("/lib/libnsl.so.1", O_RDONLY) = 4 >>>> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`/\0\0004\0\0\0"..., 512) = 512 >>>> fstat64(4, {st_mode=S_IFREG|0755, st_size=95884, ...}) = 0 >>>> mmap2(NULL, 108456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dd1000 >>>> mmap2(0xb7de8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x16) = 0xb7de8000 >>>> mmap2(0xb7dea000, 6056, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7dea000 >>>> close(4) = 0 >>>> mprotect(0xb7de8000, 4096, PROT_READ) = 0 >>>> mprotect(0xb7df3000, 4096, PROT_READ) = 0 >>>> open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> open("/lib/libnss_nis.so.2", O_RDONLY) = 4 >>>> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\30\0\0004\0\0\0"..., 512) = 512 >>>> fstat64(4, {st_mode=S_IFREG|0755, st_size=38348, ...}) = 0 >>>> mmap2(NULL, 41508, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dc6000 >>>> mmap2(0xb7dcf000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x8) = 0xb7dcf000 >>>> close(4) = 0 >>>> open("/lib/libnss_files.so.2", O_RDONLY) = 4 >>>> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\27\0\0004\0\0\0"..., 512) = 512 >>>> fstat64(4, {st_mode=S_IFREG|0755, st_size=38304, ...}) = 0 >>>> mmap2(NULL, 41588, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dbb000 >>>> mmap2(0xb7dc4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x8) = 0xb7dc4000 >>>> close(4) = 0 >>>> mprotect(0xb7dc4000, 4096, PROT_READ) = 0 >>>> mprotect(0xb7dcf000, 4096, PROT_READ) = 0 >>>> open("/etc/passwd", O_RDONLY) = 4 >>>> fcntl64(4, F_GETFD) = 0 >>>> fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 >>>> _llseek(4, 0, [0], SEEK_CUR) = 0 >>>> fstat64(4, {st_mode=S_IFREG|0644, st_size=874, ...}) = 0 >>>> mmap2(NULL, 874, PROT_READ, MAP_SHARED, 4, 0) = 0xb7dba000 >>>> _llseek(4, 874, [874], SEEK_SET) = 0 >>>> munmap(0xb7dba000, 874) = 0 >>>> close(4) = 0 >>>> socket(PF_FILE, SOCK_STREAM, 0) = 4 >>>> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 >>>> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) >>>> close(4) = 0 >>>> socket(PF_FILE, SOCK_STREAM, 0) = 4 >>>> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 >>>> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) >>>> close(4) = 0 >>>> open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) >>>> open("/etc/group", O_RDONLY) = 4 >>>> fcntl64(4, F_GETFD) = 0 >>>> fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 >>>> _llseek(4, 0, [0], SEEK_CUR) = 0 >>>> fstat64(4, {st_mode=S_IFREG|0644, st_size=577, ...}) = 0 >>>> mmap2(NULL, 577, PROT_READ, MAP_SHARED, 4, 0) = 0xb7dba000 >>>> _llseek(4, 577, [577], SEEK_SET) = 0 >>>> munmap(0xb7dba000, 577) = 0 >>>> close(4) = 0 >>>> setregid32(500, 500) = 0 >>>> prctl(0x8, 0x1, 0, 0, 0) = 0 >>>> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >>>> rt_sigaction(SIGQUIT, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGQUIT, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGILL, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGILL, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGFPE, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGFPE, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGBUS, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGBUS, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGSEGV, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGSEGV, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGSYS, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGSYS, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGXCPU, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGXCPU, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGXFSZ, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGXFSZ, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGHUP, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGHUP, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGINT, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGINT, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGALRM, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGALRM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGTERM, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGTERM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGUSR1, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGUSR1, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGUSR2, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGUSR2, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGIO, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGIO, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGVTALRM, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGVTALRM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGSTKFLT, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGSTKFLT, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 >>>> rt_sigaction(SIGPIPE, NULL, {SIG_DFL}, 8) = 0 >>>> rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0 >>>> rt_sigaction(SIGHUP, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 >>>> rt_sigaction(SIGUSR1, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 >>>> rt_sigaction(SIGINT, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 >>>> rt_sigaction(SIGTERM, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 >>>> time(NULL) = 1009844358 >>>> getcwd("/root", 4096) = 6 >>>> open("/etc/ldpd.conf", O_RDONLY) = 4 >>>> fstat64(4, {st_mode=S_IFREG|0644, st_size=179, ...}) = 0 >>>> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7dba000 >>>> read(4, "hostname uml-2-mpls\npassword roo"..., 1024) = 179 >>>> socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 5 >>>> setsockopt(5, SOL_IP, IP_PKTINFO, "\1", 1) = 0 >>>> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >>>> bind(5, {sa_family=AF_INET, sin_port=htons(646), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 >>>> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >>>> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >>>> setsockopt(5, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 >>>> fcntl64(5, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 >>>> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >>>> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >>>> setsockopt(5, SOL_IP, IP_MULTICAST_TTL, [1], 4) = 0 >>>> setsockopt(5, SOL_IP, IP_MULTICAST_LOOP, [0], 4) = 0 >>>> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >>>> socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 6 >>>> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >>>> setsockopt(6, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 >>>> fcntl64(6, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 >>>> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >>>> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >>>> bind(6, {sa_family=AF_INET, sin_port=htons(646), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 >>>> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 >>>> listen(6, 15) = 0 >>>> read(4, "", 1024) = 0 >>>> close(4) = 0 >>>> munmap(0xb7dba000, 4096) = 0 >>>> clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7df6b78) = 441 >>>> --- SIGCHLD (Child exited) @ 0 (0) --- >>>> exit_group(0) = ? >>>> ================================================================================== >>>> _________________________________________________________________ >>>> Windows Live Photo gallery 数码相机的超级伴侣,轻松管理和编辑照片,还能制作全景美图! >>>> http://get.live.cn/product/photo.html >>> >>> -- >>> James R. Leu >>> jl...@mi... >> >> _________________________________________________________________ >> 多个邮箱同步管理,live mail客户端万人抢用中 >> http://get.live.cn/product/mail.html > > -- > James R. Leu > jl...@mi... _________________________________________________________________ MSN 中文网,最新时尚生活资讯,白领聚集门户。 http://cn.msn.com |
From: 刘磊 <orp...@ms...> - 2008-05-08 04:21:36
|
I found another problem. I can not add ip r for mpls by ssh connect. ______________________________________________________________________________________________ -bash-3.2# ip r 172.16.0.0/24 dev eth1 src 172.16.0.2 192.168.0.0/24 dev eth0 src 192.168.0.2 -bash-3.2# cat /etc/init.d/mpls #!/bin/ash modprobe mpls4 mpls nhlfe add key 0 instructions push gen 1000 nexthop eth1 ipv4 172.16.0.3 ip route add 10.0.0.2/32 via 172.16.0.3 mpls 0x2 mpls labelspace set dev eth1 labelspace 0 mpls ilm add label gen 2000 labelspace 0 mpls nhlfe add key 0 instructions nexthop eth0 ipv4 192.168.0.1 mpls xc add ilm_label gen 2000 ilm_labelspace 0 nhlfe_key 0x3 -bash-3.2# sh /etc/init.d/mpls NHLFE entry key 0x00000002 mtu 0 propagate_ttl (0 bytes, 0 pkts) ip: either "to" is duplicate, or "mpls" is garbage NHLFE entry key 0x00000003 mtu 0 propagate_ttl (0 bytes, 0 pkts) -bash-3.2# ip r 172.16.0.0/24 dev eth1 src 172.16.0.2 192.168.0.0/24 dev eth0 src 192.168.0.2 -bash-3.2# ip r add 10.0.0.2/32 via 172.16.0.3 mpls 0x2 ip: either "to" is duplicate, or "mpls" is garbage ----------------------------------------------------------------------------------------------------------------------- And when I input the last command by keyboard with connect to the mpls machine. I also can not found mpls keywords on ssh shell. -bash-3.2# ip r 10.0.0.2 via 172.16.0.3 dev eth1 172.16.0.0/24 dev eth1 src 172.16.0.2 192.168.0.0/24 dev eth0 src 192.168.0.2 _________________________________________________________________ 多个邮箱同步管理,live mail客户端万人抢用中 http://get.live.cn/product/mail.html |
From: James R. L. <jl...@mi...> - 2008-05-08 12:51:12
|
I have not been preparing patches. The only way to get the lastest code at this time is via p4. On Thu, May 08, 2008 at 04:04:21AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: > > Oh, thank you for help. > Can you mail the new patch to me, which had fixed the bug? > I'd like to get the new patch of mpls-linux and ldp-portable. > > ---------------------------------------- > > Date: Wed, 7 May 2008 22:47:56 -0500 > > From: jl...@mi... > > To: @mindspring.com > > CC: mpl...@li... > > Subject: Re: [mpls-linux-devel] ldpd crash and could not start again > > > > On Thu, May 08, 2008 at 01:42:42AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: > > > >> And ldpd can start, telnet ldpd shell " en, conf t, mpls ldp " to active LDP instance. It seems OK. > >> BUT if I write to save the running-config, ldpd can not start again. > > > > That is what is fixed in the development tree. > > > >> How to solved it? Is only to start ldpd by telnet on each system boot? > > > > Yes. > > > >> Where is the development tree I can fetch? > >> ========================================== > >> localhost zenki # p4 client > >> Perforce client error: > >> Connect to server failed; check $P4PORT. > >> TCP connect to p4.dangermen.com failed. > >> p4.dangermen.com: host unknown. > >> ========================================== > > > > It works for me. I'm not sure why you're unable to resolve p4.dangermen.com > > > >> ---------------------------------------- > >>> Date: Wed, 7 May 2008 07:49:14 -0500 > >>> From: jl...@mi... > >>> To: @mindspring.com > >>> CC: mpl...@li... > >>> Subject: Re: [mpls-linux-devel] ldpd crash and could not start again > >>> > >>> You must start zebra before ospfd or ldpd. Also make sure you start > >>> with an 'empty' ldpd config (just hostname and interfaces) there is a > >>> bug with ldpd (which is fixed in the development tree), that is does not > >>> start if there is an existing config. > >>> > >>> On Wed, May 07, 2008 at 10:14:04AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: > >>>> > >>>> Hi all. > >>>> Thank you for help. > >>>> I patch the quagga-mpls.diff to quagga-0.99.6 and configure && make it. > >>>> BUT I found that when I telnet to the shell of zebra, ldpd will crash and can not start again. > >>>> If I start ldpd and ospfd, telnet any are ok. > >>>> But I start zebra after above two, and telnet to 2601(zebra's shell port), ldpd crashed. > >>>> The strace of start ldpd again is follow: > >>>> =================================================================== > >>>> execve("/sbin/ldpd", ["ldpd", "-d", "-u", "root", "-f", "/etc/ldpd.conf"], [/* 9 vars */]) = 0 > >>>> brk(0) = 0x8083000 > >>>> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fdf000 > >>>> access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) > >>>> open("/quagga/quagga-0.99.6/install/lib/tls/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> stat64("/quagga/quagga-0.99.6/install/lib/tls/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > >>>> open("/quagga/quagga-0.99.6/install/lib/tls/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> stat64("/quagga/quagga-0.99.6/install/lib/tls/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) > >>>> open("/quagga/quagga-0.99.6/install/lib/tls/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> stat64("/quagga/quagga-0.99.6/install/lib/tls/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > >>>> open("/quagga/quagga-0.99.6/install/lib/tls/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> stat64("/quagga/quagga-0.99.6/install/lib/tls", 0xbfad4778) = -1 ENOENT (No such file or directory) > >>>> open("/quagga/quagga-0.99.6/install/lib/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> stat64("/quagga/quagga-0.99.6/install/lib/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > >>>> open("/quagga/quagga-0.99.6/install/lib/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> stat64("/quagga/quagga-0.99.6/install/lib/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) > >>>> open("/quagga/quagga-0.99.6/install/lib/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> stat64("/quagga/quagga-0.99.6/install/lib/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > >>>> open("/quagga/quagga-0.99.6/install/lib/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> stat64("/quagga/quagga-0.99.6/install/lib", 0xbfad4778) = -1 ENOENT (No such file or directory) > >>>> open("/etc/ld.so.cache", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> open("/lib/tls/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> stat64("/lib/tls/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > >>>> open("/lib/tls/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> stat64("/lib/tls/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) > >>>> open("/lib/tls/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> stat64("/lib/tls/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > >>>> open("/lib/tls/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> stat64("/lib/tls", 0xbfad4778) = -1 ENOENT (No such file or directory) > >>>> open("/lib/i686/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> stat64("/lib/i686/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > >>>> open("/lib/i686/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> stat64("/lib/i686", 0xbfad4778) = -1 ENOENT (No such file or directory) > >>>> open("/lib/sse2/libzebra.so.0", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> stat64("/lib/sse2", 0xbfad4778) = -1 ENOENT (No such file or directory) > >>>> open("/lib/libzebra.so.0", O_RDONLY) = 3 > >>>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\374\302\0\0004\0\0\0"..., 512) = 512 > >>>> fstat64(3, {st_mode=S_IFREG|0755, st_size=609544, ...}) = 0 > >>>> mmap2(NULL, 245608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7fa3000 > >>>> mmap2(0xb7fd7000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x34) = 0xb7fd7000 > >>>> mmap2(0xb7fdd000, 8040, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fdd000 > >>>> close(3) = 0 > >>>> open("/lib/libcap.so.1", O_RDONLY) = 3 > >>>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\n\0\0004\0\0\0"..., 512) = 512 > >>>> fstat64(3, {st_mode=S_IFREG|0755, st_size=9544, ...}) = 0 > >>>> mmap2(NULL, 13140, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f9f000 > >>>> mmap2(0xb7fa1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7fa1000 > >>>> close(3) = 0 > >>>> open("/lib/libm.so.6", O_RDONLY) = 3 > >>>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@4\0\0004\0\0\0"..., 512) = 512 > >>>> fstat64(3, {st_mode=S_IFREG|0755, st_size=161544, ...}) = 0 > >>>> mmap2(NULL, 163968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f76000 > >>>> mmap2(0xb7f9d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26) = 0xb7f9d000 > >>>> close(3) = 0 > >>>> open("/lib/libcrypt.so.1", O_RDONLY) = 3 > >>>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\6\0\0004\0\0\0"..., 512) = 512 > >>>> fstat64(3, {st_mode=S_IFREG|0755, st_size=21820, ...}) = 0 > >>>> mmap2(NULL, 184636, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f48000 > >>>> mmap2(0xb7f4d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4) = 0xb7f4d000 > >>>> mmap2(0xb7f4f000, 155964, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f4f000 > >>>> close(3) = 0 > >>>> open("/lib/libc.so.6", O_RDONLY) = 3 > >>>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200a\1\0004\0\0\0"..., 512) = 512 > >>>> fstat64(3, {st_mode=S_IFREG|0755, st_size=1372476, ...}) = 0 > >>>> mmap2(NULL, 1377768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7df7000 > >>>> mmap2(0xb7f42000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14b) = 0xb7f42000 > >>>> mmap2(0xb7f45000, 9704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f45000 > >>>> close(3) = 0 > >>>> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7df6000 > >>>> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7df5000 > >>>> set_thread_area({entry_number:-1 -> 6, base_addr:0xb7df6b30, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 > >>>> mprotect(0xb7f42000, 8192, PROT_READ) = 0 > >>>> mprotect(0xb7f4d000, 4096, PROT_READ) = 0 > >>>> mprotect(0xb7f9d000, 4096, PROT_READ) = 0 > >>>> mprotect(0xb7fa1000, 4096, PROT_READ) = 0 > >>>> mprotect(0xb7ffd000, 4096, PROT_READ) = 0 > >>>> umask(027) = 022 > >>>> geteuid32() = 0 > >>>> brk(0) = 0x8083000 > >>>> brk(0x80a4000) = 0x80a4000 > >>>> socket(PF_FILE, SOCK_DGRAM, 0) = 3 > >>>> fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 > >>>> connect(3, {sa_family=AF_FILE, path="/dev/log"}, 110) = -1 EPROTOTYPE (Protocol wrong type for socket) > >>>> close(3) = 0 > >>>> socket(PF_FILE, SOCK_STREAM, 0) = 3 > >>>> fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 > >>>> connect(3, {sa_family=AF_FILE, path="/dev/log"}, 110) = 0 > >>>> socket(PF_FILE, SOCK_STREAM, 0) = 4 > >>>> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > >>>> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) > >>>> close(4) = 0 > >>>> socket(PF_FILE, SOCK_STREAM, 0) = 4 > >>>> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > >>>> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) > >>>> close(4) = 0 > >>>> open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> open("/lib/libnss_compat.so.2", O_RDONLY) = 4 > >>>> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\r\0\0004\0\0\0"..., 512) = 512 > >>>> fstat64(4, {st_mode=S_IFREG|0755, st_size=30324, ...}) = 0 > >>>> mmap2(NULL, 33316, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dec000 > >>>> mmap2(0xb7df3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x6) = 0xb7df3000 > >>>> close(4) = 0 > >>>> open("/lib/libnsl.so.1", O_RDONLY) = 4 > >>>> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`/\0\0004\0\0\0"..., 512) = 512 > >>>> fstat64(4, {st_mode=S_IFREG|0755, st_size=95884, ...}) = 0 > >>>> mmap2(NULL, 108456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dd1000 > >>>> mmap2(0xb7de8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x16) = 0xb7de8000 > >>>> mmap2(0xb7dea000, 6056, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7dea000 > >>>> close(4) = 0 > >>>> mprotect(0xb7de8000, 4096, PROT_READ) = 0 > >>>> mprotect(0xb7df3000, 4096, PROT_READ) = 0 > >>>> open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> open("/lib/libnss_nis.so.2", O_RDONLY) = 4 > >>>> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\30\0\0004\0\0\0"..., 512) = 512 > >>>> fstat64(4, {st_mode=S_IFREG|0755, st_size=38348, ...}) = 0 > >>>> mmap2(NULL, 41508, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dc6000 > >>>> mmap2(0xb7dcf000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x8) = 0xb7dcf000 > >>>> close(4) = 0 > >>>> open("/lib/libnss_files.so.2", O_RDONLY) = 4 > >>>> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\27\0\0004\0\0\0"..., 512) = 512 > >>>> fstat64(4, {st_mode=S_IFREG|0755, st_size=38304, ...}) = 0 > >>>> mmap2(NULL, 41588, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7dbb000 > >>>> mmap2(0xb7dc4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x8) = 0xb7dc4000 > >>>> close(4) = 0 > >>>> mprotect(0xb7dc4000, 4096, PROT_READ) = 0 > >>>> mprotect(0xb7dcf000, 4096, PROT_READ) = 0 > >>>> open("/etc/passwd", O_RDONLY) = 4 > >>>> fcntl64(4, F_GETFD) = 0 > >>>> fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 > >>>> _llseek(4, 0, [0], SEEK_CUR) = 0 > >>>> fstat64(4, {st_mode=S_IFREG|0644, st_size=874, ...}) = 0 > >>>> mmap2(NULL, 874, PROT_READ, MAP_SHARED, 4, 0) = 0xb7dba000 > >>>> _llseek(4, 874, [874], SEEK_SET) = 0 > >>>> munmap(0xb7dba000, 874) = 0 > >>>> close(4) = 0 > >>>> socket(PF_FILE, SOCK_STREAM, 0) = 4 > >>>> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > >>>> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) > >>>> close(4) = 0 > >>>> socket(PF_FILE, SOCK_STREAM, 0) = 4 > >>>> fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK) = 0 > >>>> connect(4, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) > >>>> close(4) = 0 > >>>> open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or directory) > >>>> open("/etc/group", O_RDONLY) = 4 > >>>> fcntl64(4, F_GETFD) = 0 > >>>> fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 > >>>> _llseek(4, 0, [0], SEEK_CUR) = 0 > >>>> fstat64(4, {st_mode=S_IFREG|0644, st_size=577, ...}) = 0 > >>>> mmap2(NULL, 577, PROT_READ, MAP_SHARED, 4, 0) = 0xb7dba000 > >>>> _llseek(4, 577, [577], SEEK_SET) = 0 > >>>> munmap(0xb7dba000, 577) = 0 > >>>> close(4) = 0 > >>>> setregid32(500, 500) = 0 > >>>> prctl(0x8, 0x1, 0, 0, 0) = 0 > >>>> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >>>> rt_sigaction(SIGQUIT, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGQUIT, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGILL, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGILL, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGFPE, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGFPE, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGBUS, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGBUS, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGSEGV, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGSEGV, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGSYS, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGSYS, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGXCPU, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGXCPU, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGXFSZ, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGXFSZ, {0xb7fc9f7c, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGHUP, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGHUP, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGINT, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGINT, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGALRM, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGALRM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGTERM, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGTERM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGUSR1, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGUSR1, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGUSR2, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGUSR2, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGIO, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGIO, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGVTALRM, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGVTALRM, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGSTKFLT, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGSTKFLT, {0xb7fc9da0, ~[RTMIN RT_1], SA_SIGINFO}, NULL, 8) = 0 > >>>> rt_sigaction(SIGPIPE, NULL, {SIG_DFL}, 8) = 0 > >>>> rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0 > >>>> rt_sigaction(SIGHUP, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 > >>>> rt_sigaction(SIGUSR1, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 > >>>> rt_sigaction(SIGINT, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 > >>>> rt_sigaction(SIGTERM, {0xb7fc9d00, ~[RTMIN RT_1], SA_RESTART}, {0xb7fc9da0, ~[KILL STOP RTMIN RT_1], SA_SIGINFO}, 8) = 0 > >>>> time(NULL) = 1009844358 > >>>> getcwd("/root", 4096) = 6 > >>>> open("/etc/ldpd.conf", O_RDONLY) = 4 > >>>> fstat64(4, {st_mode=S_IFREG|0644, st_size=179, ...}) = 0 > >>>> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7dba000 > >>>> read(4, "hostname uml-2-mpls\npassword roo"..., 1024) = 179 > >>>> socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 5 > >>>> setsockopt(5, SOL_IP, IP_PKTINFO, "\1", 1) = 0 > >>>> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >>>> bind(5, {sa_family=AF_INET, sin_port=htons(646), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 > >>>> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >>>> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >>>> setsockopt(5, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 > >>>> fcntl64(5, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 > >>>> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >>>> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >>>> setsockopt(5, SOL_IP, IP_MULTICAST_TTL, [1], 4) = 0 > >>>> setsockopt(5, SOL_IP, IP_MULTICAST_LOOP, [0], 4) = 0 > >>>> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >>>> socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 6 > >>>> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >>>> setsockopt(6, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 > >>>> fcntl64(6, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 > >>>> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >>>> capset(0x19980330, 0, {CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >>>> bind(6, {sa_family=AF_INET, sin_port=htons(646), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 > >>>> capset(0x19980330, 0, {0, CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW, 0}) = 0 > >>>> listen(6, 15) = 0 > >>>> read(4, "", 1024) = 0 > >>>> close(4) = 0 > >>>> munmap(0xb7dba000, 4096) = 0 > >>>> clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7df6b78) = 441 > >>>> --- SIGCHLD (Child exited) @ 0 (0) --- > >>>> exit_group(0) = ? > >>>> ================================================================================== > >>>> _________________________________________________________________ > >>>> Windows Live Photo gallery 数码相机的超级伴侣,轻松管理和编辑照片,还能制作全景美图! > >>>> http://get.live.cn/product/photo.html > >>> > >>> -- > >>> James R. Leu > >>> jl...@mi... > >> > >> _________________________________________________________________ > >> 多个邮箱同步管理,live mail客户端万人抢用中 > >> http://get.live.cn/product/mail.html > > > > -- > > James R. Leu > > jl...@mi... > > _________________________________________________________________ > MSN 中文网,最新时尚生活资讯,白领聚集门户。 > http://cn.msn.com -- James R. Leu jl...@mi... |
From: 刘磊 <orp...@ms...> - 2008-05-01 16:17:40
|
I'm sorry for my poor english. Just like the follow instance. < Client Router>-------| LER |--------{ MPLS NETWORK } The packet from Client got into MPLS NETWORK, will through 'ip_rcv, ip_rcv_finish (ip_route_input ip_route_input_slow ip_mkroute_input __mkroute_input rt_set_nexthop mpls_set_nexthop mpl_set_nexthop2) ip_forward ip_forward_finish ip_output ip_finish_output ip_finish_output2 mpls_output mpls_output_shim mpls_output2 mpls_send'. Am I right? And the packet from MPLS NETWORK to client, will through 'mpls_skb_recv mpls_input mpls_switch mpls_output2 mpls_send neighbour->output'. If I want to the packet out from mpls_send got into ip_rcv ......, how to config it? "mpls nhlfe add key 0 instruction pop nexthop ethX ipv4 (Client Router's IP)"? Right? ---------------------------------------- > Date: Thu, 1 May 2008 06:45:41 -0500 > From: jl...@mi... > To: @mindspring.com > CC: mpl...@li... > Subject: Re: [mpls-linux-devel] About mpls-packet to ip-packet process > > Just to make sure I understand what you're trying to do: > > You want to get hooked into the PREROUTE netfilter chain for packets > coming to a LER from MPLS. To do this the normal 'pop peek' instructions > should work just. If you want to 'force' the trasistion from MPLS to > IPv4 for packets coming to a LER from MPLS you can use the 'deliver' > instruction on the associated ILM. > > On Thu, May 01, 2008 at 10:44:42AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: >> >> 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 > > -- > James R. Leu > jl...@mi... _________________________________________________________________ MSN 中文网,最新时尚生活资讯,白领聚集门户。 http://cn.msn.com |
From: James R. L. <jl...@mi...> - 2008-05-01 17:36:00
|
On Thu, May 01, 2008 at 03:55:33PM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: > > I'm sorry for my poor english. > Just like the follow instance. > > < Client Router>-------| LER |--------{ MPLS NETWORK } > > The packet from Client got into MPLS NETWORK, will through 'ip_rcv, ip_rcv_finish (ip_route_input ip_route_input_slow ip_mkroute_input __mkroute_input rt_set_nexthop mpls_set_nexthop mpl_set_nexthop2) ip_forward ip_forward_finish ip_output ip_finish_output ip_finish_output2 mpls_output mpls_output_shim mpls_output2 mpls_send'. Am I right? > And the packet from MPLS NETWORK to client, will through 'mpls_skb_recv mpls_input mpls_switch mpls_output2 mpls_send neighbour->output'. > If I want to the packet out from mpls_send got into ip_rcv ......, how to config it? > "mpls nhlfe add key 0 instruction pop nexthop ethX ipv4 (Client Router's IP)"? Right? This is a PHP config, IE no IPv4 route lookup is being done on the LER when the packet goes from MPLS to IPv4. For the packet to go through the IPv4 stack you will want your ILM to be something like: mpls ilm add label gen 200 labelspace 0 That is it. The default instruction on a ILM are "pop peek". Which results in mpls_input() returning MPLS_RESULT_DLV which ends up with the packet being handle via the IPv4 protocol driver's (net/ipv4/mpls4.c) local_deliver function. > ---------------------------------------- > > Date: Thu, 1 May 2008 06:45:41 -0500 > > From: jl...@mi... > > To: @mindspring.com > > CC: mpl...@li... > > Subject: Re: [mpls-linux-devel] About mpls-packet to ip-packet process > > > > Just to make sure I understand what you're trying to do: > > > > You want to get hooked into the PREROUTE netfilter chain for packets > > coming to a LER from MPLS. To do this the normal 'pop peek' instructions > > should work just. If you want to 'force' the trasistion from MPLS to > > IPv4 for packets coming to a LER from MPLS you can use the 'deliver' > > instruction on the associated ILM. > > > > On Thu, May 01, 2008 at 10:44:42AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: > >> > >> 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 > > > > -- > > James R. Leu > > jl...@mi... > > _________________________________________________________________ > MSN 中文网,最新时尚生活资讯,白领聚集门户。 > http://cn.msn.com -- James R. Leu jl...@mi... |
From: 刘磊 <orp...@ms...> - 2008-05-04 03:37:35
|
Thank you first. I was follow the example "IPv4 over MPLS: two LER example for mpls-linux-1.95x". And had follow config. ________________________________________________________________________________________________ 172.16.0.0/24 10.0.0.1/32 | 10.0.0.2/32 dummy0 | dummy0 | | | -----------eth1 eth1------eth2 v eth2------eth3 eth3-------- | HOST A |------------| LER1 |--------------------------| LER2 |---------| HOST B | -----------.1 ^ 2------.2 3------.3 ^ 4----------- | | | | 192.168.0.0/24 192.168.1.0/24 __________________________________________________________________________________________________ HOST A ------ ip route add 10.0.0.2/32 via 192.168.0.2 src 10.0.0.1 LER1 ----- mpls nhlfe add key 0 instructions push gen 1000 nexthop eth2 ipv4 172.16.0.3 (returns key 0x2) ip route add 10.0.0.2/32 via 172.16.0.3 mpls 0x2 echo 1> /proc/sys/net/ipv4/ip_forward mpls labelspace set dev eth2 labelspace 0 mpls ilm add label gen 2000 labelspace 0 mpls nhlfe add key 0 instructions nexthop eth1 ipv4 192.168.0.1 (returns key 0x3) mpls xc add ilm_label gen 2000 ilm_labelspace 0 nhlfe_key 0x3 LER2 ----- mpls labelspace set dev eth2 labelspace 0 mpls ilm add label gen 1000 labelspace 0 <-------------------Had set this mpls nhlfe add key 0 instructions nexthop eth3 ipv4 192.168.1.4 (returns key 0x2) mpls xc add ilm_label gen 1000 ilm_labelspace 0 nhlfe_key 0x2 mpls nhlfe add key 0 instructions push gen 2000 nexthop eth2 ipv4 172.16.0.2 (returns key 0x3) ip route add 10.0.0.1/32 via 172.16.0.2 mpls 0x3 echo 1> /proc/sys/net/ipv4/ip_forward HOST B ------ ip route add 10.0.0.1/32 via 192.168.1.3 src 10.0.0.2 _________________________________________________________________________________________________________________ BUT, the packet from HOST A to HOST B does not through the IP stack on LER2. Is't my config error? And another problem for quagga, that the patch file quagga-mpls.diff can not patch to quagga-0.99.9 (latest unstable release) or quagga-0.98.6 (latest stable release). Do you have the new patch file? Thank you for help. ---------------------------------------- > Date: Thu, 1 May 2008 12:35:52 -0500 > From: jl...@mi... > To: @mindspring.com > CC: mpl...@li... > Subject: Re: [mpls-linux-devel] About mpls-packet to ip-packet process > > On Thu, May 01, 2008 at 03:55:33PM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: >> >> I'm sorry for my poor english. >> Just like the follow instance. >> >> < Client Router>-------| LER |--------{ MPLS NETWORK } >> >> The packet from Client got into MPLS NETWORK, will through 'ip_rcv, ip_rcv_finish (ip_route_input ip_route_input_slow ip_mkroute_input __mkroute_input rt_set_nexthop mpls_set_nexthop mpl_set_nexthop2) ip_forward ip_forward_finish ip_output ip_finish_output ip_finish_output2 mpls_output mpls_output_shim mpls_output2 mpls_send'. Am I right? >> And the packet from MPLS NETWORK to client, will through 'mpls_skb_recv mpls_input mpls_switch mpls_output2 mpls_send neighbour->output'. >> If I want to the packet out from mpls_send got into ip_rcv ......, how to config it? >> "mpls nhlfe add key 0 instruction pop nexthop ethX ipv4 (Client Router's IP)"? Right? > > This is a PHP config, IE no IPv4 route lookup is being done on the LER > when the packet goes from MPLS to IPv4. > > For the packet to go through the IPv4 stack you will want your > ILM to be something like: > > mpls ilm add label gen 200 labelspace 0 > > That is it. The default instruction on a ILM are "pop peek". > Which results in mpls_input() returning MPLS_RESULT_DLV which > ends up with the packet being handle via the IPv4 protocol driver's > (net/ipv4/mpls4.c) local_deliver function. > >> ---------------------------------------- >>> Date: Thu, 1 May 2008 06:45:41 -0500 >>> From: jl...@mi... >>> To: @mindspring.com >>> CC: mpl...@li... >>> Subject: Re: [mpls-linux-devel] About mpls-packet to ip-packet process >>> >>> Just to make sure I understand what you're trying to do: >>> >>> You want to get hooked into the PREROUTE netfilter chain for packets >>> coming to a LER from MPLS. To do this the normal 'pop peek' instructions >>> should work just. If you want to 'force' the trasistion from MPLS to >>> IPv4 for packets coming to a LER from MPLS you can use the 'deliver' >>> instruction on the associated ILM. >>> >>> On Thu, May 01, 2008 at 10:44:42AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: >>>> >>>> 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 >>> >>> -- >>> James R. Leu >>> jl...@mi... >> >> _________________________________________________________________ >> MSN 中文网,最新时尚生活资讯,白领聚集门户。 >> http://cn.msn.com > > -- > James R. Leu > jl...@mi... _________________________________________________________________ MSN 中文网,最新时尚生活资讯,白领聚集门户。 http://cn.msn.com |
From: James R. L. <jl...@mi...> - 2008-05-05 02:00:12
|
See my response in-line. On Sun, May 04, 2008 at 03:37:28AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: > > Thank you first. > I was follow the example "IPv4 over MPLS: two LER example for mpls-linux-1.95x". > And had follow config. I understand that you are using a canned example. I'm telling you that for what you want to do, you cannot use a canned example. You will have to deviate from the example. > ________________________________________________________________________________________________ > 172.16.0.0/24 > 10.0.0.1/32 | 10.0.0.2/32 > dummy0 | dummy0 > | | | > -----------eth1 eth1------eth2 v eth2------eth3 eth3-------- > | HOST A |------------| LER1 |--------------------------| LER2 |---------| HOST B | > -----------.1 ^ 2------.2 3------.3 ^ 4----------- > | | > | | > 192.168.0.0/24 192.168.1.0/24 > __________________________________________________________________________________________________ > HOST A > ------ > ip route add 10.0.0.2/32 via 192.168.0.2 src 10.0.0.1 > > LER1 > ----- > mpls nhlfe add key 0 instructions push gen 1000 nexthop eth2 ipv4 172.16.0.3 > (returns key 0x2) > ip route add 10.0.0.2/32 via 172.16.0.3 mpls 0x2 > echo 1> /proc/sys/net/ipv4/ip_forward > mpls labelspace set dev eth2 labelspace 0 > mpls ilm add label gen 2000 labelspace 0 > mpls nhlfe add key 0 instructions nexthop eth1 ipv4 192.168.0.1 > (returns key 0x3) > mpls xc add ilm_label gen 2000 ilm_labelspace 0 nhlfe_key 0x3 > > LER2 > ----- > mpls labelspace set dev eth2 labelspace 0 > mpls ilm add label gen 1000 labelspace 0 <-------------------Had set this > mpls nhlfe add key 0 instructions nexthop eth3 ipv4 192.168.1.4 > (returns key 0x2) > mpls xc add ilm_label gen 1000 ilm_labelspace 0 nhlfe_key 0x2 > mpls nhlfe add key 0 instructions push gen 2000 nexthop eth2 ipv4 172.16.0.2 > (returns key 0x3) > ip route add 10.0.0.1/32 via 172.16.0.2 mpls 0x3 > echo 1> /proc/sys/net/ipv4/ip_forward > > HOST B > ------ > ip route add 10.0.0.1/32 via 192.168.1.3 src 10.0.0.2 > _________________________________________________________________________________________________________________ > BUT, the packet from HOST A to HOST B does not through the IP stack on LER2. > > Is't my config error? > > And another problem for quagga, that the patch file quagga-mpls.diff can not patch to quagga-0.99.9 (latest unstable release) or quagga-0.98.6 (latest stable release). > Do you have the new patch file? I know it does not apply. I do not have a new patch ready. If you would to look at the recent developments in quagga-mpls, you will need to pull it from my development tree. > Thank you for help. > ---------------------------------------- > > Date: Thu, 1 May 2008 12:35:52 -0500 > > From: jl...@mi... > > To: @mindspring.com > > CC: mpl...@li... > > Subject: Re: [mpls-linux-devel] About mpls-packet to ip-packet process > > > > On Thu, May 01, 2008 at 03:55:33PM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: > >> > >> I'm sorry for my poor english. > >> Just like the follow instance. > >> > >> < Client Router>-------| LER |--------{ MPLS NETWORK } > >> > >> The packet from Client got into MPLS NETWORK, will through 'ip_rcv, ip_rcv_finish (ip_route_input ip_route_input_slow ip_mkroute_input __mkroute_input rt_set_nexthop mpls_set_nexthop mpl_set_nexthop2) ip_forward ip_forward_finish ip_output ip_finish_output ip_finish_output2 mpls_output mpls_output_shim mpls_output2 mpls_send'. Am I right? > >> And the packet from MPLS NETWORK to client, will through 'mpls_skb_recv mpls_input mpls_switch mpls_output2 mpls_send neighbour->output'. > >> If I want to the packet out from mpls_send got into ip_rcv ......, how to config it? > >> "mpls nhlfe add key 0 instruction pop nexthop ethX ipv4 (Client Router's IP)"? Right? > > > > This is a PHP config, IE no IPv4 route lookup is being done on the LER > > when the packet goes from MPLS to IPv4. > > > > For the packet to go through the IPv4 stack you will want your > > ILM to be something like: > > > > mpls ilm add label gen 200 labelspace 0 > > > > That is it. The default instruction on a ILM are "pop peek". > > Which results in mpls_input() returning MPLS_RESULT_DLV which > > ends up with the packet being handle via the IPv4 protocol driver's > > (net/ipv4/mpls4.c) local_deliver function. > > > >> ---------------------------------------- > >>> Date: Thu, 1 May 2008 06:45:41 -0500 > >>> From: jl...@mi... > >>> To: @mindspring.com > >>> CC: mpl...@li... > >>> Subject: Re: [mpls-linux-devel] About mpls-packet to ip-packet process > >>> > >>> Just to make sure I understand what you're trying to do: > >>> > >>> You want to get hooked into the PREROUTE netfilter chain for packets > >>> coming to a LER from MPLS. To do this the normal 'pop peek' instructions > >>> should work just. If you want to 'force' the trasistion from MPLS to > >>> IPv4 for packets coming to a LER from MPLS you can use the 'deliver' > >>> instruction on the associated ILM. > >>> > >>> On Thu, May 01, 2008 at 10:44:42AM +0000, =?GB2312?B?wfXA2iA8b3JwaGVuX2xlaWxpdUBtc24uY29tPg==?= wrote: > >>>> > >>>> 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 > >>> > >>> -- > >>> James R. Leu > >>> jl...@mi... > >> > >> _________________________________________________________________ > >> MSN 中文网,最新时尚生活资讯,白领聚集门户。 > >> http://cn.msn.com > > > > -- > > James R. Leu > > jl...@mi... > > _________________________________________________________________ > MSN 中文网,最新时尚生活资讯,白领聚集门户。 > http://cn.msn.com -- James R. Leu jl...@mi... |