mpls-linux-devel Mailing List for MPLS for Linux (Page 13)
Status: Beta
Brought to you by:
jleu
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(7) |
Dec
(8) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(5) |
Feb
(73) |
Mar
(22) |
Apr
(21) |
May
|
Jun
|
Jul
(3) |
Aug
(5) |
Sep
(4) |
Oct
(4) |
Nov
(2) |
Dec
(6) |
2005 |
Jan
(5) |
Feb
|
Mar
(6) |
Apr
(11) |
May
(6) |
Jun
(5) |
Jul
(4) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
(9) |
Dec
(15) |
2006 |
Jan
(11) |
Feb
(7) |
Mar
(4) |
Apr
(1) |
May
(2) |
Jun
(2) |
Jul
(7) |
Aug
|
Sep
(8) |
Oct
(9) |
Nov
(10) |
Dec
(14) |
2007 |
Jan
(11) |
Feb
(9) |
Mar
(39) |
Apr
(7) |
May
(4) |
Jun
(2) |
Jul
(5) |
Aug
(6) |
Sep
(6) |
Oct
(1) |
Nov
(1) |
Dec
(8) |
2008 |
Jan
|
Feb
(13) |
Mar
(19) |
Apr
(11) |
May
(16) |
Jun
(6) |
Jul
(2) |
Aug
(4) |
Sep
|
Oct
(5) |
Nov
|
Dec
(16) |
2009 |
Jan
(13) |
Feb
(5) |
Mar
|
Apr
|
May
(11) |
Jun
(7) |
Jul
(3) |
Aug
|
Sep
(2) |
Oct
(8) |
Nov
(16) |
Dec
(15) |
2010 |
Jan
(6) |
Feb
(5) |
Mar
(1) |
Apr
(14) |
May
(42) |
Jun
(4) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
(4) |
Dec
(1) |
2011 |
Jan
(3) |
Feb
|
Mar
|
Apr
(7) |
May
(1) |
Jun
(2) |
Jul
(4) |
Aug
(19) |
Sep
(9) |
Oct
(13) |
Nov
(4) |
Dec
(3) |
2012 |
Jan
(2) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
(11) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(3) |
Dec
(2) |
2013 |
Jan
(4) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(7) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
(2) |
Jul
(2) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(2) |
2016 |
Jan
(6) |
Feb
(2) |
Mar
(1) |
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(4) |
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Nandakumar P. <nan...@re...> - 2008-08-29 19:10:33
|
Hi All, I tried to apply the patch ldp_portable (0.900) to the quagga 0.99.6 on the kernel 2.6.15.1( which had already MPLS patch applied). I had exactly followed the steps mentioned in the README.quagga-mpls file in ldp_portable. i.e. Apply quagga-mpls.diff to the quagga source distribution. (0.99.6) Go into the quagga/ldpd directory and modify 'create-links' to point to your ldp-portable source distribution. Then execute 'create-links' . Go back to the top of the quagga source tree and configure and compile quagga according to it's directions. After compilation of the quagga it throwed the errors like the below zebra_vty.c:2668: error: invalid storage class for function show_ipv6_route zebra_vty.c:2668: error: show_ipv6_route undeclared (first use in this function) zebra_vty.c:2668: error: (Each undeclared identifier is reported only once zebra_vty.c:2668: error: for each function it appears in.) zebra_vty.c:2674: error: invalid storage class for function show_ipv6_route zebra_vty.c:2698: error: invalid storage class for function show_ipv6_route_prefix_longer zebra_vty.c:2698: error: show_ipv6_route_prefix_longer undeclared (first use in this function) zebra_vty.c:2706: error: invalid storage class for function show_ipv6_route_prefix_longer zebra_vty.c:2740: error: invalid storage class for function show_ipv6_route_protocol zebra_vty.c:2740: error: show_ipv6_route_protocol undeclared (first use in this function) zebra_vty.c:2753: error: invalid storage class for function show_ipv6_route_protocol zebra_vty.c:2801: error: invalid storage class for function show_ipv6_route_addr zebra_vty.c:2801: error: show_ipv6_route_addr undeclared (first use in this function) zebra_vty.c:2808: error: invalid storage class for function show_ipv6_route_addr zebra_vty.c:2839: error: invalid storage class for function show_ipv6_route_prefix zebra_vty.c:2839: error: show_ipv6_route_prefix undeclared (first use in this function) zebra_vty.c:2846: error: invalid storage class for function show_ipv6_route_prefix zebra_vty.c:2881: error: invalid storage class for function static_config_ipv6zebra_vty.c:2881: warning: no previous prototype for static_config_ipv6 zebra_vty.c:2943: error: invalid storage class for function zebra_ip_config zebra_vty.c:2943: warning: no previous prototype for zebra_ip_config zebra_vty.c:2960: warning: no previous prototype for zebra_vty_init zebra_vty.c:3087: error: syntax error at end of input make[2]: *** [zebra_vty.o] Error 1 make[2]: Leaving directory `/root/linux-download/quagga/zebra' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/linux-download/quagga' make: *** [all] Error 2 Please let me know if anyone had experienced this error and any solution for it. Thanks in Advance. Regards, Nanda |
From: <ouw...@ho...> - 2008-08-05 12:32:39
|
<br>PLEASE START USING MY GMAIL ADDRESS, I WILL ABANDON HOTMAIL SHORTLY.<br><br><span style="font-weight:bold">t.kleiberg (at) gmail.com</span><br><br><br>THANKS.<br><br>TOM<br><br> |
From: Zaida V. <za...@gm...> - 2008-08-05 12:32:24
|
Hi, I know it's a long time but I'm still alive and working :) I have been looking at Quagga_0.99.9's code to try to understand what's done and what isn't. Till now I see that even thought there's "support" for vpnv4 address family in BGP (RD, capabilities negotiation, NLRI parsing, etc.) all that information stays in bgpd and zebra doesn't know anything about it (am I right? If not pliz tell me) So we need to make zebra aware of all that's happening above to tell the kernel about it (with netlink). I'm also installing the Quagga patch por VRF-linux in order to see how it works.(I'm having some minor troubles doing it, as I haven't been able to comunicate with the vrfd daemon it comes with. But I hope to solve them) I intend to update it and integrate it with the above. In the mail you (James) sent me you talked about ''tags' received via BGP'. As far as I know this tags refer to the VPN label, don't they? This week I'll be on holidays, but when I come back I think I'll be ready to make some debugging as you suggested and to design a simple label manager for zebra. I would be thankfull if any of you would advise me about anything else I could be missing or should take into account. I know I'm not beeing very specific, hope you'll forgive my english =) Thank you in advance :) On Thu, May 1, 2008 at 4:12 AM, James R. Leu <jl...@mi...> wrote: > Hello Zaida, > > As you know Jon Ander ported the linux-vrf code to a more > recent kernel. Hey sent me the results of his work and I > started the process of integrating it into the linux-vrf project. > During that effort I learned about a project being integrated into > the linux 2.6.25 kernel. It is called network namespaces which basically > as VRF functionality across all aspect of the linux networking stack. > So the focus of the linux-vrf project is changing, I'm re-tooling to > add VRF functionality to quagga. > > It sounds like you are not necessarily interested in VRF interaction > with quagga, but your trying to work on the distribution of labels > regardless of what family the NLRI belong to. I recently added code > to quagga that will make install NHLFE and try to install FTN mappings > for 'tags' received via BGP. The only way to access this recent code > is from my my development tree via p4 (perforce). I suggest you > pull a p4 client for quagga-mpls and ldp-portable so you can see the > updates I've been working on. > > To start your work, I think you will want to design a CLI > indicating what NLRI should have 'tags' sent along. Part of this > will be to build your own trivial label manager (maybe just allow > configuration of a label range per BGP peer). Don't get to fancy, > because one area I'm working on is a proper label manager that > will live in the zebra daemon. Part of the work of the label > manager will be to add the ILM entries to the kernel before sending the > NLRI update containing the corresponding tag. In theory the receive > side should already work because of the code I put in place, of course you > may have to do some debugging :-) > > Once you are that far then you can help me with the next problem area. > hierarchical labels! MPLS linux supports them, I just have to figure out > the logic of when a recursive lookup that contains a label results in > hierarchy. > > I'm getting way ahead of myself ... > Get the code from my dev tree, start poking around the BGP code looking > for MPLS stuff, and then we can start talking about the MPLS > infrastructure. > > |
From: James R. L. <jl...@mi...> - 2008-07-01 13:07:06
|
Yes, the latest version of quagga-mpls can be found in perforce in the quagga-mpls directory. The only error I know of is a display error when doing a 'show ip route' when there are MPLS nexthops. On Tue, Jul 01, 2008 at 10:52:30AM +0200, =?ISO-8859-1?Q?Jes=FAs_Nubiola_ wrote: > >From now I will try to compile with the newest version of mpls-quagga and do > some tests. Which is the most recent version? It's available in perforce > repository? > > On Mon, Jun 30, 2008 at 3:00 PM, James R. Leu <jl...@mi...> wrote: > > > I have not put any further work towards RSVP-TE recently. If you > > are willing to do some coding I can do my best to help with guidance. > > > > On Mon, Jun 30, 2008 at 12:49:40PM +0200, =?ISO-8859-1?Q?Jes=FAs_Nubiola_ > > wrote: > > > Hi all again, > > > > > > I have been in exams during last months and now I am gonna to go back in > > my > > > purpose to integrate RSVP-TE in MPLS-Linux machine to do some proves on > > it. > > > I'm wondering if there is any advance on it? > > > > > > Thanks a lot > > > > > ------------------------------------------------------------------------- > > > Check out the new SourceForge.net Marketplace. > > > It's the best place to buy or sell services for > > > just about anything Open Source. > > > http://sourceforge.net/services/buy/index.php > > > _______________________________________________ > > > mpls-linux-devel mailing list > > > mpl...@li... > > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel > > > > > > -- > > James R. Leu > > jl...@mi... > > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > mpls-linux-general mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-general -- James R. Leu jl...@mi... |
From: J. N. <oc...@gm...> - 2008-07-01 08:52:32
|
>From now I will try to compile with the newest version of mpls-quagga and do some tests. Which is the most recent version? It's available in perforce repository? On Mon, Jun 30, 2008 at 3:00 PM, James R. Leu <jl...@mi...> wrote: > I have not put any further work towards RSVP-TE recently. If you > are willing to do some coding I can do my best to help with guidance. > > On Mon, Jun 30, 2008 at 12:49:40PM +0200, =?ISO-8859-1?Q?Jes=FAs_Nubiola_ > wrote: > > Hi all again, > > > > I have been in exams during last months and now I am gonna to go back in > my > > purpose to integrate RSVP-TE in MPLS-Linux machine to do some proves on > it. > > I'm wondering if there is any advance on it? > > > > Thanks a lot > > > ------------------------------------------------------------------------- > > Check out the new SourceForge.net Marketplace. > > It's the best place to buy or sell services for > > just about anything Open Source. > > http://sourceforge.net/services/buy/index.php > > _______________________________________________ > > mpls-linux-devel mailing list > > mpl...@li... > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel > > > -- > James R. Leu > jl...@mi... > |
From: James R. L. <jl...@mi...> - 2008-06-30 13:00:21
|
I have not put any further work towards RSVP-TE recently. If you are willing to do some coding I can do my best to help with guidance. On Mon, Jun 30, 2008 at 12:49:40PM +0200, =?ISO-8859-1?Q?Jes=FAs_Nubiola_ wrote: > Hi all again, > > I have been in exams during last months and now I am gonna to go back in my > purpose to integrate RSVP-TE in MPLS-Linux machine to do some proves on it. > I'm wondering if there is any advance on it? > > Thanks a lot > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > mpls-linux-devel mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel -- James R. Leu jl...@mi... |
From: J. N. <oc...@gm...> - 2008-06-30 10:49:42
|
Hi all again, I have been in exams during last months and now I am gonna to go back in my purpose to integrate RSVP-TE in MPLS-Linux machine to do some proves on it. I'm wondering if there is any advance on it? Thanks a lot |
From: <ouw...@ho...> - 2008-06-26 19:17:07
|
<br>PLEASE START USING MY GMAIL ADDRESS, I WILL ABANDON HOTMAIL SHORTLY.<br><br><span style="font-weight:bold">t.kleiberg (at) gmail.com</span><br><br><br>THANKS.<br><br>TOM<br><br> |
From: Zaida V. <za...@gm...> - 2008-06-26 19:16:54
|
Do you have any references (links, docs,...) about network namespaces? You mentioned it before but I haven't been able to find it. It would be really interesting to take a look at that info, as we have already proposed two alternatives based on different tables in zebra but we are not taken into account that project (the one about network namespaces). It's no sense to implement something that will not work with it at all. About the two alternatives we were contemplating: The first one consisted on creating different tables in bgp based on a 'tag' wich would be associated with a vrf in zebra, and each vrf with a different socket (netlink) to install the routes in the kernel in separate tables (FIB). We are still not sure if this is possible (I'll have to investigate the code a little bit more ) The second solution would be to create different zebra process' one per vrf, and each of them will be associated with a different socket. The problem here will be mainly how the one and only bgpd daemon should manage more than one zebra. Is this a too crazy idea? I mean, having many zebrad at the same time for different vrfs? Will everything crash? =) Note that we came accross this ideas just looking at raw code and have no idea of how it will get on with what you just said. I hope I explained myself, Zaida Varona On Thu, Jun 26, 2008 at 4:08 PM, James R. Leu <jl...@mi...> wrote: > There exists a patch for quagga that implemented the full > VRF support on top of linux-vrf. It would be interesting to > port this to network namespace on linux 2.6.25+ > > On Thu, Jun 19, 2008 at 03:17:18PM +0200, Zaida Varona wrote: > > Just a quick question... Does zebra have multitable support for Linux? I > > have searched on internet and the only info I have seems quite old. > > > > Some people have pointed out that "rib->table=vrf_id" in" > > zebra_rib.c/rib_add_route()" should make it, but some other believe > that's > > not the best approach. > > > > If it's not supported yet, advice about how it should be done, or what > > should be taken into account, is thanked ^^ > > > > > > > > Zaida Varona > > > > > > P.S.: Before anybody sends me to de quagga mailing list, I'm working on > > making BGP work in a BGP/MPLS IP VPN based on the MPLS-LINUX project. I'm > > new to all this so be kind :) and sorry for my english :S > > > ------------------------------------------------------------------------- > > Check out the new SourceForge.net Marketplace. > > It's the best place to buy or sell services for > > just about anything Open Source. > > http://sourceforge.net/services/buy/index.php > > _______________________________________________ > > mpls-linux-devel mailing list > > mpl...@li... > > https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel > > > -- > James R. Leu > jl...@mi... > |
From: James R. L. <jl...@mi...> - 2008-06-26 14:08:11
|
There exists a patch for quagga that implemented the full VRF support on top of linux-vrf. It would be interesting to port this to network namespace on linux 2.6.25+ On Thu, Jun 19, 2008 at 03:17:18PM +0200, Zaida Varona wrote: > Just a quick question... Does zebra have multitable support for Linux? I > have searched on internet and the only info I have seems quite old. > > Some people have pointed out that "rib->table=vrf_id" in" > zebra_rib.c/rib_add_route()" should make it, but some other believe that's > not the best approach. > > If it's not supported yet, advice about how it should be done, or what > should be taken into account, is thanked ^^ > > > > Zaida Varona > > > P.S.: Before anybody sends me to de quagga mailing list, I'm working on > making BGP work in a BGP/MPLS IP VPN based on the MPLS-LINUX project. I'm > new to all this so be kind :) and sorry for my english :S > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > mpls-linux-devel mailing list > mpl...@li... > https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel -- James R. Leu jl...@mi... |
From: Zaida V. <za...@gm...> - 2008-06-19 13:17:21
|
Just a quick question... Does zebra have multitable support for Linux? I have searched on internet and the only info I have seems quite old. Some people have pointed out that "rib->table=vrf_id" in" zebra_rib.c/rib_add_route()" should make it, but some other believe that's not the best approach. If it's not supported yet, advice about how it should be done, or what should be taken into account, is thanked ^^ Zaida Varona P.S.: Before anybody sends me to de quagga mailing list, I'm working on making BGP work in a BGP/MPLS IP VPN based on the MPLS-LINUX project. I'm new to all this so be kind :) and sorry for my english :S |
From: 刘磊 <orp...@ms...> - 2008-05-12 04:10:51
|
How to get the latest updates? Only by p4? I have tried many dns-server to resolve p4.dangermen.com, but none success. Can you give me another way? Thank you much. ---------------------------------------- > Date: Sun, 11 May 2008 22:31:35 -0500 > From: jl...@mi... > To: mpl...@li... > Subject: Re: [mpls-linux-devel] A few problems with ldpd > > I've submitted an alternate patch to solve this issue. I make > a call checking if_is_loopback() on the ifp and skip accordingly. > > In addition the quagga-mpls tree in my development depot has been > update to solve a couple of nagging bugs. > > Anyone working with quagga-mpls will want to pull the latest > updates. > > On Tue, Mar 25, 2008 at 03:33:03PM -0400, Scott A. Yoder wrote: >> Yeah that did solve the problem but isn't there some way to control which addresses >> are announced to peers? It seems like the address-mode lsr-id doesn't cause ldpd to only announce >> the configured lsr-id. >> >> Here's a little patch to stop registering loopback addresses. Does Quagga have a LOOPBACK() macro >> like the kernel? I could only find an INADDR_LOOPBACK define. >> >> --- ldp_zebra.c Wed Mar 26 00:05:22 2008 >> +++ ldp_zebra-new.c Tue Mar 25 23:44:43 2008 >> @@ -201,16 +201,20 @@ >> c = zebra_interface_address_read(command, zclient->ibuf); >> if (c == NULL || c->address->family != AF_INET) { >> return 0; >> } >> >> ifp = c->ifp; >> p = c->address; >> >> + /* Don't register loopback addresses */ >> + if (((p->u.prefix4.s_addr) & htonl(0xff000000)) == htonl(0x7f000000)) >> + return 0; >> + >> zlog_info("address add %s to interface %s",inet_ntoa(p->u.prefix4), >> ifp->name); >> >> if (ldp) { >> prefix2mpls_inet_addr(p, &addr.address); >> iff.handle = ifp; >> ldp_cfg_if_addr_set(ldp->h, &iff, &addr, LDP_CFG_ADD); >> >> >> Scott Yoder >> Support Engineer >> ImageStream Internet Solutions, Inc. >> E-mail: sy...@im... >> >> James R. Leu wrote: >>> Good stuff. Thank you for working with ldp-portable and taking the >>> time to dig into the code. I've incorporated your fixes for the memory >>> leaks and I'm double checking the byte order fix you suggest. >>> >>> As far as the multiple session issue, I think the fix is to never >>> send any 127.0.0.0/8 addresses in the address message. One way to >>> accomplish this is to never register 127.0.0.0/8 addresses with >>> LDP by modifing ldp_interface_address_add() in ldp_zebra.c. >>> >>> On Mon, Mar 24, 2008 at 04:58:20PM -0400, Scott A. Yoder wrote: >>>> Hi James. I've been able to get ldpd working quite well with 3 routers in my testbed. Even >>>> the targeted ldp sessions now appear to be working. I have a left LSR, middle, LSR and right LSR. The >>>> targeted session is between the left and right routers. >>>> >>>> I've found a few problems and want to get your take on how best to fix them. >>>> >>>> 1) The xconnect command needs to have the destination IP address stored in host byte order. >>>> >>>> --- ldp_vty.c Tue Mar 25 01:19:59 2008 >>>> +++ ldp_vty-new.c Wed Mar 19 01:55:44 2008 >>>> @@ -1618,6 +1618,7 @@ >>>> dest.port = 646; >>>> >>>> VTY_GET_UINT32_RANGE("VCID",vcid,argv[1],0,255); >>>> + dest.addr.u.ipv4 = ntohl(dest.addr.u.ipv4); >>>> >>>> if (ldp_remote_peer_find(ldp, &dest)) { >>>> return CMD_WARNING; >>>> >>>> >>>> 2) I found a couple of memory leaks with valgrind: >>>> >>>> --- ldp_session.c Fri Jan 4 23:58:59 2008 >>>> +++ ldp_session-new.c Tue Mar 25 01:25:32 2008 >>>> @@ -252,6 +252,8 @@ >>>> { >>>> LDP_PRINT(NULL, "session delete"); >>>> MPLS_REFCNT_ASSERT(s, 0); >>>> + ldp_buf_delete(s->tx_buffer); >>>> + ldp_mesg_delete(s->tx_message); >>>> mpls_free(s); >>>> } >>>> >>>> --- ldp_buf.c Tue Mar 25 01:29:01 2008 >>>> +++ ldp_buf-new.c Fri Mar 21 21:18:06 2008 >>>> @@ -49,6 +49,8 @@ >>>> void ldp_buf_delete(ldp_buf * b) >>>> { >>>> MPLS_ASSERT(b); >>>> + if (b->buffer) >>>> + mpls_free(b->buffer); >>>> mpls_free(b); >>>> } >>>> >>>> >>>> These 2 leaks caused ldpd to grow several megabytes per hour on my system. >>>> >>>> >>>> 3) ldpd cannot establish more than 1 session at a time. >>>> >>>> I don't know if I have a config error but I keep getting a "ldp_addr_process: session X already advertised this address" >>>> error when the 2nd router attempts to start up a session. I think the address is 127.0.0.1. I tried changing the lsr-id and >>>> transport address but that caused ldpd to crash. The neighbor's status is stuck in the discovery state. >>>> >>>> Just to get around this problem and keep going I stuck a return MPLS_SUCCESS in ldpd/ldp_addr.c line 315: >>>> >>>> /* the addr is in the tree */ >>>> if (addr->session) { >>>> LDP_PRINT(g->user_data, >>>> "ldp_addr_process: session (%d) already advertised this address\n", >>>> addr->session->index); >>>> return MPLS_SUCCESS; >>>> return MPLS_FAILURE; >>>> } >>>> >>>> Is there something I'm missing with the config to support multiple peers? >>>> >>>> Thanks, >>>> Scott Yoder >>>> Support Engineer >>>> ImageStream Internet Solutions, Inc. >>>> E-mail: sy...@im... >>>> >>>> ------------------------------------------------------------------------- >>>> This SF.net email is sponsored by: Microsoft >>>> Defy all challenges. Microsoft(R) Visual Studio 2008. >>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >>>> _______________________________________________ >>>> mpls-linux-devel mailing list >>>> mpl...@li... >>>> https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel >>> > > -- > James R. Leu > jl...@mi... _________________________________________________________________ 新年换新颜,快来妆扮自己的MSN给心仪的TA一个惊喜! http://im.live.cn/emoticons/?ID=18 |
From: James R. L. <jl...@mi...> - 2008-05-12 03:31:44
|
I've submitted an alternate patch to solve this issue. I make a call checking if_is_loopback() on the ifp and skip accordingly. In addition the quagga-mpls tree in my development depot has been update to solve a couple of nagging bugs. Anyone working with quagga-mpls will want to pull the latest updates. On Tue, Mar 25, 2008 at 03:33:03PM -0400, Scott A. Yoder wrote: > Yeah that did solve the problem but isn't there some way to control which addresses > are announced to peers? It seems like the address-mode lsr-id doesn't cause ldpd to only announce > the configured lsr-id. > > Here's a little patch to stop registering loopback addresses. Does Quagga have a LOOPBACK() macro > like the kernel? I could only find an INADDR_LOOPBACK define. > > --- ldp_zebra.c Wed Mar 26 00:05:22 2008 > +++ ldp_zebra-new.c Tue Mar 25 23:44:43 2008 > @@ -201,16 +201,20 @@ > c = zebra_interface_address_read(command, zclient->ibuf); > if (c == NULL || c->address->family != AF_INET) { > return 0; > } > > ifp = c->ifp; > p = c->address; > > + /* Don't register loopback addresses */ > + if (((p->u.prefix4.s_addr) & htonl(0xff000000)) == htonl(0x7f000000)) > + return 0; > + > zlog_info("address add %s to interface %s",inet_ntoa(p->u.prefix4), > ifp->name); > > if (ldp) { > prefix2mpls_inet_addr(p, &addr.address); > iff.handle = ifp; > ldp_cfg_if_addr_set(ldp->h, &iff, &addr, LDP_CFG_ADD); > > > Scott Yoder > Support Engineer > ImageStream Internet Solutions, Inc. > E-mail: sy...@im... > > James R. Leu wrote: > > Good stuff. Thank you for working with ldp-portable and taking the > > time to dig into the code. I've incorporated your fixes for the memory > > leaks and I'm double checking the byte order fix you suggest. > > > > As far as the multiple session issue, I think the fix is to never > > send any 127.0.0.0/8 addresses in the address message. One way to > > accomplish this is to never register 127.0.0.0/8 addresses with > > LDP by modifing ldp_interface_address_add() in ldp_zebra.c. > > > > On Mon, Mar 24, 2008 at 04:58:20PM -0400, Scott A. Yoder wrote: > >> Hi James. I've been able to get ldpd working quite well with 3 routers in my testbed. Even > >> the targeted ldp sessions now appear to be working. I have a left LSR, middle, LSR and right LSR. The > >> targeted session is between the left and right routers. > >> > >> I've found a few problems and want to get your take on how best to fix them. > >> > >> 1) The xconnect command needs to have the destination IP address stored in host byte order. > >> > >> --- ldp_vty.c Tue Mar 25 01:19:59 2008 > >> +++ ldp_vty-new.c Wed Mar 19 01:55:44 2008 > >> @@ -1618,6 +1618,7 @@ > >> dest.port = 646; > >> > >> VTY_GET_UINT32_RANGE("VCID",vcid,argv[1],0,255); > >> + dest.addr.u.ipv4 = ntohl(dest.addr.u.ipv4); > >> > >> if (ldp_remote_peer_find(ldp, &dest)) { > >> return CMD_WARNING; > >> > >> > >> 2) I found a couple of memory leaks with valgrind: > >> > >> --- ldp_session.c Fri Jan 4 23:58:59 2008 > >> +++ ldp_session-new.c Tue Mar 25 01:25:32 2008 > >> @@ -252,6 +252,8 @@ > >> { > >> LDP_PRINT(NULL, "session delete"); > >> MPLS_REFCNT_ASSERT(s, 0); > >> + ldp_buf_delete(s->tx_buffer); > >> + ldp_mesg_delete(s->tx_message); > >> mpls_free(s); > >> } > >> > >> --- ldp_buf.c Tue Mar 25 01:29:01 2008 > >> +++ ldp_buf-new.c Fri Mar 21 21:18:06 2008 > >> @@ -49,6 +49,8 @@ > >> void ldp_buf_delete(ldp_buf * b) > >> { > >> MPLS_ASSERT(b); > >> + if (b->buffer) > >> + mpls_free(b->buffer); > >> mpls_free(b); > >> } > >> > >> > >> These 2 leaks caused ldpd to grow several megabytes per hour on my system. > >> > >> > >> 3) ldpd cannot establish more than 1 session at a time. > >> > >> I don't know if I have a config error but I keep getting a "ldp_addr_process: session X already advertised this address" > >> error when the 2nd router attempts to start up a session. I think the address is 127.0.0.1. I tried changing the lsr-id and > >> transport address but that caused ldpd to crash. The neighbor's status is stuck in the discovery state. > >> > >> Just to get around this problem and keep going I stuck a return MPLS_SUCCESS in ldpd/ldp_addr.c line 315: > >> > >> /* the addr is in the tree */ > >> if (addr->session) { > >> LDP_PRINT(g->user_data, > >> "ldp_addr_process: session (%d) already advertised this address\n", > >> addr->session->index); > >> return MPLS_SUCCESS; > >> return MPLS_FAILURE; > >> } > >> > >> Is there something I'm missing with the config to support multiple peers? > >> > >> Thanks, > >> Scott Yoder > >> Support Engineer > >> ImageStream Internet Solutions, Inc. > >> E-mail: sy...@im... > >> > >> ------------------------------------------------------------------------- > >> This SF.net email is sponsored by: Microsoft > >> Defy all challenges. Microsoft(R) Visual Studio 2008. > >> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > >> _______________________________________________ > >> mpls-linux-devel mailing list > >> mpl...@li... > >> https://lists.sourceforge.net/lists/listinfo/mpls-linux-devel > > -- James R. Leu jl...@mi... |
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-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: 刘磊 <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: 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-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-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-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-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... |
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-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-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 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... |