From jonirucoeith at gmail.com Tue Oct 2 13:21:55 2007 From: jonirucoeith at gmail.com (Jon) Date: Tue, 2 Oct 2007 22:21:55 +0200 Subject: [Xorp-hackers] Problems with ppp Message-ID: <471f67780710021321m28983e59tea37ed6ce1f6b4f0@mail.gmail.com> Hello, I have a setup where I use ppp towards an external satcom device. As long as the satcom unit is powered up, all is well, the ppp interface is recognised by XORP. BUT, if I turn it off... problems arise. The ppp device is removed from the system, and XORP removes the vif associated. When I turn the satcom back on again, the ppp interface is re-established, BUT it gets a new interface index. XORP does not seem to take any notice of it. Has anybody solved this? Either by making the ppp device permanent, or by getting the XORP to re-discover the interface? Thanks in advance, Jon -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20071002/e8915299/attachment.html From greearb at candelatech.com Tue Oct 2 18:58:58 2007 From: greearb at candelatech.com (Ben Greear) Date: Tue, 02 Oct 2007 18:58:58 -0700 Subject: [Xorp-hackers] How to debug OSPF interface migration? Message-ID: <4702F762.10905@candelatech.com> I'm still trying to get interface add/deletion working with OSPF. First, my initial setup is router '8' connected to router 1 and router 1 connected to router 2. These are the only 3 OSPF routers running. The router-id is calculated as: 127.1.0.[router-id], for reference. When I first start the routers, they negotiate up and seem to work fine. However, when I migrate the link from 8 - 1 to 8 - 2, it no longer works. It seems that router 8 still thinks it is talking to router 1 (notice the ID that it thinks it is Loading). I migrate the links with commands like: # remove interface from router 1 configure delete protocols ospf4 area 0.0.0.0 interface rddVR44 commit delete interfaces interface rddVR44 commit exit exit # Add interface to router 2 configure set interfaces interface rddVR44 vif rddVR44 address 10.4.0.7 prefix-length 24 commit set protocols ospf4 area 0.0.0.0 interface rddVR44 vif rddVR44 address 10.4.0.7 interface-cost 1 commit exit exit # This 'resets' a port in router 2, in this case it isn't really making changes # but my code is a bit lazy currently. I think Xorp is smarter # doesn't actually do anything. configure delete interfaces interface rddVR45 vif rddVR45 set interfaces interface rddVR45 vif rddVR45 address 10.4.0.2 prefix-length 24 commit delete protocols ospf4 area 0.0.0.0 interface rddVR45 vif rddVR45 set protocols ospf4 area 0.0.0.0 interface rddVR45 vif rddVR45 address 10.4.0.2 commit exit exit When this is complete, it seems router-8 still thinks it is connected to router 1, but it is really connected to router 2. According to router 2, router 8 is in 'Init' mode. [root at lanforge-33-46 lanforge]# export XORP_FINDER_SERVER_PORT=20008; xorpsh Welcome to XORP on lanforge-33-46 root at lanforge-33-46> show ospf4 neighbor Address Interface State ID Pri Dead 10.4.0.7 rddVR45/rddVR45 Loading 127.1.0.1 128 35 root at lanforge-33-46> quit [root at lanforge-33-46 lanforge]# export XORP_FINDER_SERVER_PORT=20002; xorpsh Welcome to XORP on lanforge-33-46 root at lanforge-33-46> show ospf4 neighbor Address Interface State ID Pri Dead 10.0.0.2 rddVR0/rddVR0 Full 127.1.0.1 128 38 10.4.0.2 rddVR44/rddVR44 Init 127.1.0.8 128 38 root at lanforge-33-46> quit [root at lanforge-33-46 lanforge]# export XORP_FINDER_SERVER_PORT=20001; xorpsh Welcome to XORP on lanforge-33-46 root at lanforge-33-46> show ospf4 neighbor Address Interface State ID Pri Dead 10.0.0.1 rddVR1/rddVR1 Full 127.1.0.2 128 31 I'm not to sure how to debug this farther, so please let me know if you want logs, packet traces, etc. Thanks, Ben -- Ben Greear Candela Technologies Inc http://www.candelatech.com From arjun at ceeyes.com Tue Oct 2 21:08:51 2007 From: arjun at ceeyes.com (arjun at ceeyes.com) Date: Wed, 3 Oct 2007 00:08:51 -0400 Subject: [Xorp-hackers] xorp-rip Message-ID: <380-22007103348519@M2W010.mail2web.com> Hi all! I want to understand completely and custumize the xorp-rip source code according to my needs so plz guide me and give detailed steps in order to do it. Regards, Arjun -------------------------------------------------------------------- mail2web.com ? What can On Demand Business Solutions do for you? http://link.mail2web.com/Business/SharePoint From arjun at ceeyes.com Tue Oct 2 21:10:15 2007 From: arjun at ceeyes.com (arjun at ceeyes.com) Date: Wed, 3 Oct 2007 00:10:15 -0400 Subject: [Xorp-hackers] xorp-rip Message-ID: <380-22007103341015744@M2W007.mail2web.com> Hi all! I want to understand completely and custumize the xorp-rip source code according to my needs so plz guide me and give detailed steps in order to do it. Regards, Arjun -------------------------------------------------------------------- mail2web.com ? Enhanced email for the mobile individual based on Microsoft? Exchange - http://link.mail2web.com/Personal/EnhancedEmail From arjun at ceeyes.com Tue Oct 2 22:36:23 2007 From: arjun at ceeyes.com (arjun at ceeyes.com) Date: Wed, 3 Oct 2007 01:36:23 -0400 Subject: [Xorp-hackers] xorp-simulator Message-ID: <380-22007103353623370@M2W039.mail2web.com> Hi 2 all! Is there any simulator for xorp. Regards Arjun -------------------------------------------------------------------- mail2web.com - Microsoft? Exchange solutions from a leading provider - http://link.mail2web.com/Business/Exchange From luca.giraudo at gmail.com Wed Oct 3 06:40:15 2007 From: luca.giraudo at gmail.com (Luca Giraudo) Date: Wed, 3 Oct 2007 15:40:15 +0200 Subject: [Xorp-hackers] Multicast Programming Message-ID: <33404c390710030640y1e6dbb35s3317e5d43a6a8357@mail.gmail.com> I have a PC with 2 ethernet cards and I want to receive multicast packets from both the cards: so I have to bind the UDP socket to every IP address on the PC (10.1.0.39 and 192.168.0.1). I try to do: ... const IPv4 local_addr = IPv4Constants::any //equivalent to INADDR_ANY _xrl_socket4_client.send_udp_open_bind_join(_socket4_target.c_str(), xrl_router().instance_name(), local_addr, default_udp_port, default_multicast_group, ttl, reuse, callback(this, &XrlPolidistNode::send_udp_open_bind_join_cb)); ... The error from rtrmgr is this: [ 2007/10/03 14:12:11 WARNING xorp_fea XrlFeaTarget ] Handling method for socket4/0.1/udp_open_bind_join failed: XrlCmdError 102 Command failed Cannot open, bind and join an UDP socket to address ZERO: the address must belong to a local interface The solution to this problem is to bind to a specific ipv4 address (I bind to 10.1.0.39), but if I bind the socket on a specific address I can't receive multicast packets from the other card, also when I join the multicast group on this interface. In the end, I try also to bind the same socket on both the addresses, but the second time there is an error, probably because it's possible to call once the bind on the same socket. Someone could help me? Thanks, Luca Giraudo -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20071003/a7c0ed17/attachment.html From xonia10 at yahoo.es Wed Oct 3 07:53:48 2007 From: xonia10 at yahoo.es (Sonia) Date: Wed, 3 Oct 2007 16:53:48 +0200 (CEST) Subject: [Xorp-hackers] Xorp for embedded applications Message-ID: <230496.40969.qm@web23110.mail.ird.yahoo.com> Hi all, Recently I wrote to this list asking for help to reduce the size of xorp binaries in order to make them fit in an embedded platform. http://mailman.icsi.berkeley.edu/pipermail/xorp-hackers/2007-September/001180.html First of all, thank you Pavlin for your quick answer! As said in the previous post, we only need some functionalities of xorp. Specifically we want to implement the feature of multicast router, so as Pavlin said, we need only some of the binaries of xorp (xorp_igmp, xorp_finder, xorp_fea and the template files). We don't mind to have few binaries in our system, but the size of them is prohibitive (We have 4MB of Flash). For example, we've tried disabling IPv6, but adding the compilation flag doesn't remove all the functions related to IPv6 and the size is not reduced. We think also that it could be very interesting to use shared libraries, or to have the choice to make a single binary with the selected features. Obviously we focus on embedded world. I don't know if there is some work on this. Although we would like to contribute to it, unfortunatly we don't have time. To sum up, we ask for ideas to reduce the size of the binaries or if anyone is interested in doing this work we're considering to make a donation. Please, any suggestion will be welcome!! Thank you very much for your attention!! Best regards, Sonia ____________________________________________________________________________________ S? un Mejor Amante del Cine ?Quieres saber c?mo? ?Deja que otras personas te ayuden! http://advision.webevents.yahoo.com/reto/entretenimiento.html From greearb at candelatech.com Wed Oct 3 10:14:22 2007 From: greearb at candelatech.com (Ben Greear) Date: Wed, 03 Oct 2007 10:14:22 -0700 Subject: [Xorp-hackers] Xorp for embedded applications In-Reply-To: <230496.40969.qm@web23110.mail.ird.yahoo.com> References: <230496.40969.qm@web23110.mail.ird.yahoo.com> Message-ID: <4703CDEE.4080109@candelatech.com> Sonia wrote: > Hi all, > > Recently I wrote to this list asking for help to > reduce the size of xorp binaries in order to make them > fit in an embedded platform. > > http://mailman.icsi.berkeley.edu/pipermail/xorp-hackers/2007-September/001180.html > > First of all, thank you Pavlin for your quick answer! > > As said in the previous post, we only need some > functionalities of xorp. Specifically we want to > implement the feature of multicast router, so as > Pavlin said, we need only some of the binaries of xorp > (xorp_igmp, xorp_finder, xorp_fea and the template > files). > > We don't mind to have few binaries in our system, but > the size of them is prohibitive (We have 4MB of > Flash). For example, we've tried disabling IPv6, but > adding the compilation flag doesn't remove all the > functions related to IPv6 and the size is not reduced. > > We think also that it could be very interesting to use > shared libraries, or to have the choice to make a > single binary with the selected features. Obviously we > focus on embedded world. > > I don't know if there is some work on this. Although > we would like to contribute to it, unfortunatly we > don't have time. > > To sum up, we ask for ideas to reduce the size of the > binaries or if anyone is interested in doing this work > we're considering to make a donation. Once you strip the executables and use shared libraries, I think if you want to make it smaller, you'll need to start modifying code. Xorp uses lots of templates and these tend to bloat executable size. You might be able to replace some of the template code with regular classes. There is also a lot of mostly trivial classes..like for each of the xlr commands (I think that terminology is right). These classes could be re-written to become methods of a larger class. You could remove much of the inline implementations in header files and move that to .cc files. This is generally trivial work that does not require a real understanding of the code. The stl, especially the string class, does much of it's work inline as well. If you replace the string class with something simpler that does not inline everything, you will likely save a lot of space. Thanks, Ben -- Ben Greear Candela Technologies Inc http://www.candelatech.com From pavlin at icir.org Wed Oct 3 11:39:18 2007 From: pavlin at icir.org (Pavlin Radoslavov) Date: Wed, 03 Oct 2007 11:39:18 -0700 Subject: [Xorp-hackers] Problems with ppp In-Reply-To: Message from Jon of "Tue, 02 Oct 2007 22:21:55 +0200." <471f67780710021321m28983e59tea37ed6ce1f6b4f0@mail.gmail.com> Message-ID: <200710031839.l93IdIY2020345@possum.icir.org> > I have a setup where I use ppp towards an external satcom device. > > As long as the satcom unit is powered up, all is well, the ppp interface is > recognised by XORP. > > BUT, if I turn it off... problems arise. The ppp device is removed from the > system, and XORP removes the vif associated. > > When I turn the satcom back on again, the ppp interface is re-established, > BUT it gets a new interface index. > > XORP does not seem to take any notice of it. > > Has anybody solved this? Either by making the ppp device permanent, or by > getting the XORP to re-discover the interface? There are some known issues when it comes to the FEA to pick-up changes that come from beneath it (i.e., the kernel). We are in the process of addressing those issues. To help us with the testing, could you send your original configuration (the "interfaces" section only should be sufficient). Feel free to mask sensitive information like IP addresses. Also, could you tell us what OS are you using. It will be great if you send some instructions how to emulate the deletion/re-eestablishment of the ppp interface by using some UNIX commands. In the mean time, if you have an external mechanism (i.e., outside XORP) to detect that the ppp interface is deleted, you could try to use that mechanism to run a script. That script should use xorpsh to reconfigure XORP by explicitly deleting and then explicitly creating the ppp interface inside the XORP configuration. Hopefully this will help XORP to pick-up the right interface index. Thanks, Pavlin From pavlin at icir.org Wed Oct 3 11:53:08 2007 From: pavlin at icir.org (Pavlin Radoslavov) Date: Wed, 03 Oct 2007 11:53:08 -0700 Subject: [Xorp-hackers] xorp-rip In-Reply-To: Message from "arjun@ceeyes.com" of "Wed, 03 Oct 2007 00:08:51 EDT." <380-22007103348519@M2W010.mail2web.com> Message-ID: <200710031853.l93Ir8Wu020534@possum.icir.org> arjun at ceeyes.com wrote: > > Hi all! > > I want to understand completely and custumize the xorp-rip source code > according to my needs > so plz guide me and give detailed steps in order to do it. In general, the XORP Web site has a number of design documents that can help you to start with the XORP architecture. The XORP User Manual provides information about how to configure XORP (incl. RIP). If you want to "understand completely and custumize the xorp-rip source code", you need to dive into the source code itself :) Hope that helps, Pavlin From pavlin at icir.org Wed Oct 3 12:12:32 2007 From: pavlin at icir.org (Pavlin Radoslavov) Date: Wed, 03 Oct 2007 12:12:32 -0700 Subject: [Xorp-hackers] xorp-simulator In-Reply-To: Message from "arjun@ceeyes.com" of "Wed, 03 Oct 2007 01:36:23 EDT." <380-22007103353623370@M2W039.mail2web.com> Message-ID: <200710031912.l93JCWZA020795@possum.icir.org> arjun at ceeyes.com wrote: > Hi 2 all! > > Is there any simulator for xorp. No, but we hope to have one in the future (it is on our TODO list). Regards, Pavlin From pavlin at icir.org Wed Oct 3 12:31:05 2007 From: pavlin at icir.org (Pavlin Radoslavov) Date: Wed, 03 Oct 2007 12:31:05 -0700 Subject: [Xorp-hackers] Multicast Programming In-Reply-To: Message from "Luca Giraudo" of "Wed, 03 Oct 2007 15:40:15 +0200." <33404c390710030640y1e6dbb35s3317e5d43a6a8357@mail.gmail.com> Message-ID: <200710031931.l93JV5gS021082@possum.icir.org> Luca Giraudo wrote: > I have a PC with 2 ethernet cards and I want to receive multicast packets > from both the cards: so I have to bind the UDP socket to every IP address on > the PC (10.1.0.39 and 192.168.0.1). > > I try to do: > > ... > > const IPv4 local_addr = IPv4Constants::any //equivalent to INADDR_ANY > > _xrl_socket4_client.send_udp_open_bind_join(_socket4_target.c_str(), > xrl_router().instance_name(), > local_addr, default_udp_port, default_multicast_group, ttl, > reuse, > callback(this, > &XrlPolidistNode::send_udp_open_bind_join_cb)); > > > ... > > The error from rtrmgr is this: > > [ 2007/10/03 14:12:11 WARNING xorp_fea XrlFeaTarget ] Handling method for > socket4/0.1/udp_open_bind_join failed: XrlCmdError 102 Command failed Cannot > open, bind and join an UDP socket to address ZERO: the address must belong > to a local interface > > The solution to this problem is to bind to a specific ipv4 address (I bind > to 10.1.0.39), but if I bind the socket on a specific address I can't > receive multicast packets from the other card, also when I join the > multicast group on this interface. > > In the end, I try also to bind the same socket on both the addresses, but > the second time there is an error, probably because it's possible to call > once the bind on the same socket. > > Someone could help me? If we ignore XORP for a moment, the UNIX multicast semantics are that when you join a multicast group, you have to specify the interface to join (in IPv4 the interface is specified by one of its IP addresses; in IPv6 the interface index is used to specify it). In other words, there is no "wildcard" API mechanism to join all interfaces at the same time. The XORP XRL API is similar in that aspect, so yes you need to join explicitly on each interface. The difference is that the XORP API combines several system operations together, so from your protocol's perspective they appear atomic. E.g., udp_open_and_bind will open the socket and bind it to an address. In your case what you can do is: * Use udp_open_and_bind to open the socket and bind it to ANY. BTW, I would recommend to use IPv4::ZERO() or IPv4::ANY() instead of IPv4Constants::any. They are the same thing, but it is just question of being consistent with the rest of the XORP code. * Use udp_join_group to join the same multicast group on each interface you need. Please let me know if it doesn't work for you. Regards, Pavlin From pavlin at icir.org Wed Oct 3 15:02:31 2007 From: pavlin at icir.org (Pavlin Radoslavov) Date: Wed, 03 Oct 2007 15:02:31 -0700 Subject: [Xorp-hackers] Xorp for embedded applications In-Reply-To: Message from Ben Greear of "Wed, 03 Oct 2007 10:14:22 PDT." <4703CDEE.4080109@candelatech.com> Message-ID: <200710032202.l93M2VBu022523@possum.icir.org> Ben Greear wrote: > Sonia wrote: > > Hi all, > > > > Recently I wrote to this list asking for help to > > reduce the size of xorp binaries in order to make them > > fit in an embedded platform. > > > > http://mailman.icsi.berkeley.edu/pipermail/xorp-hackers/2007-September/001180.html > > > > First of all, thank you Pavlin for your quick answer! > > > > As said in the previous post, we only need some > > functionalities of xorp. Specifically we want to > > implement the feature of multicast router, so as > > Pavlin said, we need only some of the binaries of xorp > > (xorp_igmp, xorp_finder, xorp_fea and the template > > files). This is off-topic, but I should clarify it here: If I remember correctly, in your original email you said you need IGMP. If you need "multicast router", then you need to add xorp_pimsm4 as well. Binary xorp_igmp implements the router-side of IGMP, but this itself is not useful. > > We don't mind to have few binaries in our system, but > > the size of them is prohibitive (We have 4MB of > > Flash). For example, we've tried disabling IPv6, but > > adding the compilation flag doesn't remove all the > > functions related to IPv6 and the size is not reduced. > > > > We think also that it could be very interesting to use > > shared libraries, or to have the choice to make a > > single binary with the selected features. Obviously we > > focus on embedded world. > > > > I don't know if there is some work on this. Although > > we would like to contribute to it, unfortunatly we > > don't have time. > > > > To sum up, we ask for ideas to reduce the size of the > > binaries or if anyone is interested in doing this work > > we're considering to make a donation. > > Once you strip the executables and use shared libraries, > I think if you want to make it smaller, you'll need > to start modifying code. Xorp uses lots of templates > and these tend to bloat executable size. You > might be able to replace some of the template code > with regular classes. > > There is also a lot of mostly trivial classes..like for > each of the xlr commands (I think that terminology is right). > > These classes could be re-written to become methods of a larger class. > > You could remove much of the inline implementations in header files > and move that to .cc files. This is generally trivial work that does > not require a real understanding of the code. > > The stl, especially the string class, does much of it's work inline > as well. If you replace the string class with something simpler > that does not inline everything, you will likely save a lot of space. > > Thanks, > Ben I should mention first that originally when we started XORP we weren't looking into the embedded device space. Hence, so far the optimization of the binary executable size and the process runtime size haven't been priority. You could try experimenting with Ben's suggestions above, and myself I would be interested to know how much each of them makes difference. In addition, you could try various C/C++ compiler flags to see whether any of them will help. For example, there are some gcc flags related to inlined code. -fno-implicit-inline-templates -fno-implement-inlines -fno-default-inline -fno-inline Check the gcc/g++ manual page whether any of them are applicable. It might be worth reading the whole manual page to see if there are any other candidates. Before doing so you might want to try first the latest code from CVS and to see whether the (refactored) FEA is smaller than the FEA from XORP-1.4. There might not be any notable difference (or the size could be worse), but is worth trying it. Nevertheless, we are (slowly) changing things in the direction of reducing the binary size. For example, we intend to start using shared libraries (at least for the FEA), but we haven't done that yet. In any case we need to perform more systematic audition of the code to address the memory size issues. Good luck! Pavlin From greearb at candelatech.com Wed Oct 3 16:17:54 2007 From: greearb at candelatech.com (Ben Greear) Date: Wed, 03 Oct 2007 16:17:54 -0700 Subject: [Xorp-hackers] Some patches for various things. Message-ID: <47042322.8090203@candelatech.com> Here are some more small patches. At some time during the last few weeks I added these to try to work around problems related to dynamically adding/deleting interfaces & ospf configuration. It's possible subsequent fixes from Xorp developers have made these un-needed. Treat a duplicate remove as OK instead of an error. This fixed some problem with reloading config files... RCS file: /cvs/xorp/fea/iftree.cc,v retrieving revision 1.51 diff -u -r1.51 iftree.cc --- fea/iftree.cc 27 Sep 2007 00:33:33 -0000 1.51 +++ fea/iftree.cc 3 Oct 2007 23:08:13 -0000 @@ -1079,7 +1079,7 @@ IfTreeAddr4* ap = find_addr(addr); if (ap == NULL) - return (XORP_ERROR); + return XORP_OK; // Already deleted it seems... (XORP_ERROR); ap->mark(DELETED); return (XORP_OK); } I prefer the log files to show the locations as file:line instead of the old +line format. RCS file: /cvs/xorp/libxorp/xlog.h,v retrieving revision 1.16 diff -u -r1.16 xlog.h --- libxorp/xlog.h 20 Apr 2007 19:06:21 -0000 1.16 +++ libxorp/xlog.h 3 Oct 2007 23:08:14 -0000 @@ -101,8 +101,8 @@ #define XLOG_FN(fn, fmt...) \ do { \ char xlog_where_buf[8000]; \ - snprintf(xlog_where_buf, sizeof(xlog_where_buf), "+%d %s %s", \ - __LINE__, __FILE__, __FUNCTION__); \ + snprintf(xlog_where_buf, sizeof(xlog_where_buf), "%s:%d %s", \ + __FILE__, __LINE__, __FUNCTION__); \ xlog_##fn(_XLOG_MODULE_NAME, xlog_where_buf, fmt); \ } while (0) This fixed an error in ospf. I don't know if this is still needed, or even if it was ever the right thing to do. Perhaps the OSPF folks could take a look and this... RCS file: /cvs/xorp/ospf/peer_manager.cc,v retrieving revision 1.146 diff -u -r1.146 peer_manager.cc --- ospf/peer_manager.cc 3 Oct 2007 21:23:53 -0000 1.146 +++ ospf/peer_manager.cc 3 Oct 2007 23:08:16 -0000 @@ -369,9 +369,12 @@ debug_msg("Interface %s Vif %s\n", interface.c_str(), vif.c_str()); string concat = interface + "/" + vif; - if (0 != _pmap.count(concat)) - xorp_throw(BadPeer, - c_format("Mapping for %s already exists", concat.c_str())); + if (0 != _pmap.count(concat)) { + // Don't think we really need to error here, just return what we already have. --Ben + //xorp_throw(BadPeer, + // c_format("Mapping for %s already exists", concat.c_str())); + return _pmap[concat]; + } OspfTypes::PeerID peerid = _next_peerid++; _pmap[concat] = peerid; Thanks, Ben -- Ben Greear Candela Technologies Inc http://www.candelatech.com From pavlin at icir.org Wed Oct 3 17:52:26 2007 From: pavlin at icir.org (Pavlin Radoslavov) Date: Wed, 03 Oct 2007 17:52:26 -0700 Subject: [Xorp-hackers] Some patches for various things. In-Reply-To: Message from Ben Greear of "Wed, 03 Oct 2007 16:17:54 PDT." <47042322.8090203@candelatech.com> Message-ID: <200710040052.l940qQGm033941@possum.icir.org> Ben Greear wrote: > Here are some more small patches. At some time during the last > few weeks I added these to try to work around problems related to > dynamically adding/deleting interfaces & ospf configuration. It's > possible subsequent fixes from Xorp developers have made these un-needed. > > > Treat a duplicate remove as OK instead of an error. > This fixed some problem with reloading config files... > > RCS file: /cvs/xorp/fea/iftree.cc,v > retrieving revision 1.51 > diff -u -r1.51 iftree.cc > --- fea/iftree.cc 27 Sep 2007 00:33:33 -0000 1.51 > +++ fea/iftree.cc 3 Oct 2007 23:08:13 -0000 > @@ -1079,7 +1079,7 @@ > IfTreeAddr4* ap = find_addr(addr); > > if (ap == NULL) > - return (XORP_ERROR); > + return XORP_OK; // Already deleted it seems... (XORP_ERROR); > ap->mark(DELETED); > return (XORP_OK); > } This is a question of semantics. Currently, trying to delete an IfTree item (interface, vif and IP address) that doesn't exist is considered an error. Some of the usage of this is to capture errors/bugs elsewhere in the code. Could you send instructions how to replicate the problem with reloading config files. Only then we can debug the issue and see whether the real problem is somewhere else or whether it really requires change of semantics. Yes, there were some recent fixes to the FEA regarding modifying the interface configuration, but there are no guarantees they actually addressed the problem you had seen before. > I prefer the log files to show the locations as file:line > instead of the old +line format. > > RCS file: /cvs/xorp/libxorp/xlog.h,v > retrieving revision 1.16 > diff -u -r1.16 xlog.h > --- libxorp/xlog.h 20 Apr 2007 19:06:21 -0000 1.16 > +++ libxorp/xlog.h 3 Oct 2007 23:08:14 -0000 > @@ -101,8 +101,8 @@ > #define XLOG_FN(fn, fmt...) \ > do { \ > char xlog_where_buf[8000]; \ > - snprintf(xlog_where_buf, sizeof(xlog_where_buf), "+%d %s %s", \ > - __LINE__, __FILE__, __FUNCTION__); \ > + snprintf(xlog_where_buf, sizeof(xlog_where_buf), "%s:%d %s", \ > + __FILE__, __LINE__, __FUNCTION__); \ > xlog_##fn(_XLOG_MODULE_NAME, xlog_where_buf, fmt); \ > } while (0) The reason the log message has the format "+line file" is that you can cut-and-paste and open directly the file in an editor like emacs or vi. E.g.: emacs +101 libxorp/xlog.h OR vi +101 libxorp/xlog.h will open and show directly the above code. [Cudos to Orion Hodson for adding this nifty trick which I didn't know before :)] Could you provide an example when the "file:line" format can be useful (apart of probably looking more aesthetic :) ) I will leave the OSPF patch to Atanu. Thanks, Pavlin > > This fixed an error in ospf. I don't know if this is still needed, > or even if it was ever the right thing to do. Perhaps the OSPF > folks could take a look and this... > > RCS file: /cvs/xorp/ospf/peer_manager.cc,v > retrieving revision 1.146 > diff -u -r1.146 peer_manager.cc > --- ospf/peer_manager.cc 3 Oct 2007 21:23:53 -0000 1.146 > +++ ospf/peer_manager.cc 3 Oct 2007 23:08:16 -0000 > @@ -369,9 +369,12 @@ > debug_msg("Interface %s Vif %s\n", interface.c_str(), vif.c_str()); > string concat = interface + "/" + vif; > > - if (0 != _pmap.count(concat)) > - xorp_throw(BadPeer, > - c_format("Mapping for %s already exists", concat.c_str())); > + if (0 != _pmap.count(concat)) { > + // Don't think we really need to error here, just return what we already have. --Ben > + //xorp_throw(BadPeer, > + // c_format("Mapping for %s already exists", concat.c_str())); > + return _pmap[concat]; > + } > > OspfTypes::PeerID peerid = _next_peerid++; > _pmap[concat] = peerid; > > > Thanks, > Ben > > > -- > Ben Greear > Candela Technologies Inc http://www.candelatech.com > > _______________________________________________ > Xorp-hackers mailing list > Xorp-hackers at icir.org > http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers From luca.giraudo at gmail.com Thu Oct 4 01:22:12 2007 From: luca.giraudo at gmail.com (Luca Giraudo) Date: Thu, 4 Oct 2007 10:22:12 +0200 Subject: [Xorp-hackers] Multicast Programming In-Reply-To: <200710031931.l93JV5gS021082@possum.icir.org> References: <33404c390710030640y1e6dbb35s3317e5d43a6a8357@mail.gmail.com> <200710031931.l93JV5gS021082@possum.icir.org> Message-ID: <33404c390710040122q10d1eaa3j5d89bc33d66eff96@mail.gmail.com> I have modified the function to use the udp_open_and_bind with IPv4::ANY(). Now it works. So the most important thing is to utilise IPv4::ANY() instead of IPv4Constants::any. Thanks, Luca Giraudo -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20071004/ca633199/attachment.html From pavlin at icir.org Thu Oct 4 02:53:39 2007 From: pavlin at icir.org (Pavlin Radoslavov) Date: Thu, 04 Oct 2007 02:53:39 -0700 Subject: [Xorp-hackers] Multicast Programming In-Reply-To: Message from "Luca Giraudo" of "Thu, 04 Oct 2007 10:22:12 +0200." <33404c390710040122q10d1eaa3j5d89bc33d66eff96@mail.gmail.com> Message-ID: <200710040953.l949rdfY042129@possum.icir.org> Luca Giraudo wrote: > I have modified the function to use the udp_open_and_bind with IPv4::ANY(). > Now it works. So the most important thing is to utilise IPv4::ANY() instead > of IPv4Constants::any. Could you clarify your last sentence. IPv4::ANY() and IPv4Constants::any are practically same, so technically it shouldn't make any difference which one you use (except that the former is recommended for consistency reasons). Also, could you confirm that you were able to use udp_join_group to join the same multicast group on each interface you need. Without udp_join_group you won't receive the multicast packets. Thanks, Pavlin From luca.giraudo at gmail.com Thu Oct 4 05:15:28 2007 From: luca.giraudo at gmail.com (Luca Giraudo) Date: Thu, 4 Oct 2007 14:15:28 +0200 Subject: [Xorp-hackers] Multicast Programming In-Reply-To: <200710040953.l949rdfY042129@possum.icir.org> References: <33404c390710040122q10d1eaa3j5d89bc33d66eff96@mail.gmail.com> <200710040953.l949rdfY042129@possum.icir.org> Message-ID: <33404c390710040515o7059cf01gc825e23f17174f22@mail.gmail.com> The process is able to receive multicast packets from every interface if I do the next operations: * udp_open_and_bind to IPv4::ANY * udp_join_group on every configured IPv4 address on the PC (obtained by calling finder://fea/ifmgr/0.1/get_configured_interface_names -> finder://fea/ifmgr/0.1/get_configured_vif_names -> finder://fea/ifmgr/0.1/get_configured_vif_addresses4) In the first version of the demon I utilised udp_open_bind_join (with parameter IPv4Constants::any), but this doesn't work because it's impossible to join the multicast group on IPv4Constants::any (or IPv4::ANY) that isn't a local interface (error: ... the address must belong to a local interface); the solution is to call the bind and the join separately. In this way I can receive packets on every interface and I can send packets from every interface (finder://fea/socket4/0.1/send_from_multicast_if). In the previous e-mail I didn't describe well the process behaviour, sorry. Luca Giraudo -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20071004/3618e33b/attachment-0001.html From greearb at candelatech.com Thu Oct 4 08:36:13 2007 From: greearb at candelatech.com (Ben Greear) Date: Thu, 04 Oct 2007 08:36:13 -0700 Subject: [Xorp-hackers] Some patches for various things. In-Reply-To: <200710040052.l940qQGm033941@possum.icir.org> References: <200710040052.l940qQGm033941@possum.icir.org> Message-ID: <4705086D.2090404@candelatech.com> Pavlin Radoslavov wrote: > Ben Greear wrote: > > >> Here are some more small patches. At some time during the last >> few weeks I added these to try to work around problems related to >> dynamically adding/deleting interfaces & ospf configuration. It's >> possible subsequent fixes from Xorp developers have made these un-needed. >> >> >> Treat a duplicate remove as OK instead of an error. >> This fixed some problem with reloading config files... >> >> RCS file: /cvs/xorp/fea/iftree.cc,v >> retrieving revision 1.51 >> diff -u -r1.51 iftree.cc >> --- fea/iftree.cc 27 Sep 2007 00:33:33 -0000 1.51 >> +++ fea/iftree.cc 3 Oct 2007 23:08:13 -0000 >> @@ -1079,7 +1079,7 @@ >> IfTreeAddr4* ap = find_addr(addr); >> >> if (ap == NULL) >> - return (XORP_ERROR); >> + return XORP_OK; // Already deleted it seems... (XORP_ERROR); >> ap->mark(DELETED); >> return (XORP_OK); >> } >> > > This is a question of semantics. Currently, trying to delete an IfTree > item (interface, vif and IP address) that doesn't exist is > considered an error. Some of the usage of this is to capture > errors/bugs elsewhere in the code. > > Could you send instructions how to replicate the problem with > reloading config files. Only then we can debug the issue and see > whether the real problem is somewhere else or whether it really > requires change of semantics. > Yes, there were some recent fixes to the FEA regarding modifying the > interface configuration, but there are no guarantees they actually > addressed the problem you had seen before. > Ok, I'll back this out and re-run my tests to see if it still errors out. > > The reason the log message has the format "+line file" is that you > can cut-and-paste and open directly the file in an editor like emacs > Ok, no problem. I didn't realize there was a use for the format.. > > Could you provide an example when the "file:line" format can be > useful (apart of probably looking more aesthetic :) ) > The current format makes my eyes bleed :) Thanks, Ben -- Ben Greear Candela Technologies Inc http://www.candelatech.com From atanu at ICSI.Berkeley.EDU Thu Oct 4 11:56:23 2007 From: atanu at ICSI.Berkeley.EDU (Atanu Ghosh) Date: Thu, 04 Oct 2007 11:56:23 -0700 Subject: [Xorp-hackers] Some patches for various things. In-Reply-To: Message from Ben Greear of "Wed, 03 Oct 2007 16:17:54 PDT." <47042322.8090203@candelatech.com> Message-ID: <85815.1191524183@tigger.icir.org> >>>>> "Ben" == Ben Greear writes: Ben> Here are some more small patches. At some time during the last Ben> few weeks I added these to try to work around problems related Ben> to dynamically adding/deleting interfaces & ospf configuration. Ben> It's possible subsequent fixes from Xorp developers have made Ben> these un-needed. Ben> Treat a duplicate remove as OK instead of an error. This fixed Ben> some problem with reloading config files... Ben> RCS file: /cvs/xorp/fea/iftree.cc,v retrieving revision 1.51 Ben> diff -u -r1.51 iftree.cc --- fea/iftree.cc 27 Sep 2007 00:33:33 Ben> -0000 1.51 +++ fea/iftree.cc 3 Oct 2007 23:08:13 -0000 @@ Ben> -1079,7 +1079,7 @@ IfTreeAddr4* ap = find_addr(addr); Ben> if (ap == NULL) - return (XORP_ERROR); + return XORP_OK; // Ben> Already deleted it seems... (XORP_ERROR); ap-> mark(DELETED); Ben> return (XORP_OK); } Ben> I prefer the log files to show the locations as file:line Ben> instead of the old +line format. Ben> RCS file: /cvs/xorp/libxorp/xlog.h,v retrieving revision 1.16 Ben> diff -u -r1.16 xlog.h --- libxorp/xlog.h 20 Apr 2007 19:06:21 Ben> -0000 1.16 +++ libxorp/xlog.h 3 Oct 2007 23:08:14 -0000 @@ Ben> -101,8 +101,8 @@ #define XLOG_FN(fn, fmt...) \ do { \ char Ben> xlog_where_buf[8000]; \ - snprintf(xlog_where_buf, Ben> sizeof(xlog_where_buf), "+%d %s %s", \ - __LINE__, __FILE__, Ben> __FUNCTION__); \ + snprintf(xlog_where_buf, Ben> sizeof(xlog_where_buf), "%s:%d %s", \ + __FILE__, __LINE__, Ben> __FUNCTION__); \ xlog_##fn(_XLOG_MODULE_NAME, xlog_where_buf, Ben> fmt); \ } while (0) Ben> This fixed an error in ospf. I don't know if this is still Ben> needed, or even if it was ever the right thing to do. Perhaps Ben> the OSPF folks could take a look and this... Ben> RCS file: /cvs/xorp/ospf/peer_manager.cc,v retrieving revision Ben> 1.146 diff -u -r1.146 peer_manager.cc --- ospf/peer_manager.cc Ben> 3 Oct 2007 21:23:53 -0000 1.146 +++ ospf/peer_manager.cc 3 Oct Ben> 2007 23:08:16 -0000 @@ -369,9 +369,12 @@ debug_msg("Interface Ben> %s Vif %s\n", interface.c_str(), vif.c_str()); string concat = Ben> interface + "/" + vif; Ben> - if (0 != _pmap.count(concat)) - xorp_throw(BadPeer, - Ben> c_format("Mapping for %s already exists", concat.c_str())); + Ben> if (0 != _pmap.count(concat)) { + // Don't think we really need Ben> to error here, just return what we already have. --Ben + Ben> //xorp_throw(BadPeer, + // c_format("Mapping for %s already Ben> exists", concat.c_str())); + return _pmap[concat]; + } Ben> OspfTypes::PeerID peerid = _next_peerid++; _pmap[concat] = Ben> peerid; Ben> Thanks, Ben Ben> -- Ben Greear Candela Technologies Ben> Inc http://www.candelatech.com Ben> _______________________________________________ Xorp-hackers Ben> mailing list Xorp-hackers at icir.org Ben> http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers From atanu at ICSI.Berkeley.EDU Thu Oct 4 12:06:12 2007 From: atanu at ICSI.Berkeley.EDU (Atanu Ghosh) Date: Thu, 04 Oct 2007 12:06:12 -0700 Subject: [Xorp-hackers] Some patches for various things. In-Reply-To: Message from Ben Greear of "Wed, 03 Oct 2007 16:17:54 PDT." <47042322.8090203@candelatech.com> Message-ID: <88804.1191524772@tigger.icir.org> >>>>> "Ben" == Ben Greear writes: Ben> Here are some more small patches. At some time during the last Ben> few weeks I added these to try to work around problems related to Ben> dynamically adding/deleting interfaces & ospf configuration. It's Ben> possible subsequent fixes from Xorp developers have made these un-needed. Ben> This fixed an error in ospf. I don't know if this is still needed, Ben> or even if it was ever the right thing to do. Perhaps the OSPF Ben> folks could take a look and this... Ben> RCS file: /cvs/xorp/ospf/peer_manager.cc,v Ben> retrieving revision 1.146 Ben> diff -u -r1.146 peer_manager.cc Ben> --- ospf/peer_manager.cc 3 Oct 2007 21:23:53 -0000 1.146 Ben> +++ ospf/peer_manager.cc 3 Oct 2007 23:08:16 -0000 Ben> @@ -369,9 +369,12 @@ Ben> debug_msg("Interface %s Vif %s\n", interface.c_str(), vif.c_str()); Ben> string concat = interface + "/" + vif; Ben> - if (0 != _pmap.count(concat)) Ben> - xorp_throw(BadPeer, Ben> - c_format("Mapping for %s already exists", concat.c_str())); Ben> + if (0 != _pmap.count(concat)) { Ben> + // Don't think we really need to error here, just return what we already have. --Ben Ben> + //xorp_throw(BadPeer, Ben> + // c_format("Mapping for %s already exists", concat.c_str())); Ben> + return _pmap[concat]; Ben> + } Ben> OspfTypes::PeerID peerid = _next_peerid++; Ben> _pmap[concat] = peerid; If you see this BadPeer message then there is a problem somewhere else. If you can provide me with a simple way of reproducing the problem I will take a look. Atanu. p.s. Sorry about the previous empty email. From pavlin at icir.org Thu Oct 4 13:01:25 2007 From: pavlin at icir.org (Pavlin Radoslavov) Date: Thu, 04 Oct 2007 13:01:25 -0700 Subject: [Xorp-hackers] Multicast Programming In-Reply-To: Message from "Luca Giraudo" of "Thu, 04 Oct 2007 14:15:28 +0200." <33404c390710040515o7059cf01gc825e23f17174f22@mail.gmail.com> Message-ID: <200710042001.l94K1P5f047998@possum.icir.org> Luca Giraudo wrote: > The process is able to receive multicast packets from every interface if I > do the next operations: > * udp_open_and_bind to IPv4::ANY > * udp_join_group on every configured IPv4 address on the PC (obtained by > calling finder://fea/ifmgr/0.1/get_configured_interface_names -> > finder://fea/ifmgr/0.1/get_configured_vif_names -> > finder://fea/ifmgr/0.1/get_configured_vif_addresses4) > > In the first version of the demon I utilised udp_open_bind_join (with > parameter IPv4Constants::any), but this doesn't work because it's impossible > to join the multicast group on IPv4Constants::any (or IPv4::ANY) that isn't > a local interface (error: ... the address must belong to a local interface); > the solution is to call the bind and the join separately. > > In this way I can receive packets on every interface and I can send packets > from every interface (finder://fea/socket4/0.1/send_from_multicast_if). In > the previous e-mail I didn't describe well the process behaviour, sorry. I am glad that now it is working for you. Regarding obtaining the interface/vif names and the configured addresses, yes you could use the get_configured_* XRLs you mentioned above. However, you won't obtain other important information (e.g., whether an interface/vif is enabled, etc), and you won't get any updates when any of that information changes. The recommended (and much better solution) is to use the libfeaclient mechanism. You could check the static_routes implementation re. how it is used (hint: search for IfMgr and iftree), but unfortunately there is no documentation (yet) about the details. Of course, you could always add the libfeaclient mechanism at some later stage when you need to polish your implementation. Regards, Pavlin From greearb at candelatech.com Thu Oct 4 18:02:49 2007 From: greearb at candelatech.com (Ben Greear) Date: Thu, 04 Oct 2007 18:02:49 -0700 Subject: [Xorp-hackers] OSPF & migrating remote routers. Message-ID: <47058D39.3020803@candelatech.com> The current implementation of OSPF, if the remote router-id changes, but the remote interface IP doesn't change, then OSPF doesn't notice that there is a new peer because it searches on the interface IPs instead of the router-id. With the patch below, it searches by router-id on broadcast interfaces too, and then it works in my case (I'm using ethernet-like interfaces.) What is the reason for searching by anything other than router-id, regardless of the interface type? Thanks, Ben RCS file: /cvs/xorp/ospf/peer.cc,v retrieving revision 1.289 diff -u -r1.289 peer.cc --- peer.cc 5 Oct 2007 00:06:59 -0000 1.289 +++ peer.cc 5 Oct 2007 00:58:56 -0000 @@ -1487,13 +1487,13 @@ { typename list *>::iterator n; switch(get_linktype()) { - case OspfTypes::BROADCAST: case OspfTypes::NBMA: case OspfTypes::PointToMultiPoint: for(n = _neighbours.begin(); n != _neighbours.end(); n++) if ((*n)->get_neighbour_address() == src) return *n; break; + case OspfTypes::BROADCAST: case OspfTypes::VirtualLink: case OspfTypes::PointToPoint: for(n = _neighbours.begin(); n != _neighbours.end(); n++) -- Ben Greear Candela Technologies Inc http://www.candelatech.com From atanu at ICSI.Berkeley.EDU Thu Oct 4 18:20:04 2007 From: atanu at ICSI.Berkeley.EDU (Atanu Ghosh) Date: Thu, 04 Oct 2007 18:20:04 -0700 Subject: [Xorp-hackers] OSPF & migrating remote routers. In-Reply-To: Message from Ben Greear of "Thu, 04 Oct 2007 18:02:49 PDT." <47058D39.3020803@candelatech.com> Message-ID: <83007.1191547204@tigger.icir.org> Hi, >>>>> "Ben" == Ben Greear writes: Ben> The current implementation of OSPF, if the remote router-id Ben> changes, but the remote interface IP doesn't change, then OSPF Ben> doesn't notice that there is a new peer because it searches Ben> on the interface IPs instead of the router-id. Ben> With the patch below, it searches by router-id on broadcast Ben> interfaces too, and then it works in my case (I'm using Ben> ethernet-like interfaces.) Ben> What is the reason for searching by anything other than router-id, Ben> regardless of the interface type? The specification RFC 2328: ---------------------------------------- At this point, an attempt is made to match the source of the Hello Packet to one of the receiving interface's neighbors. If the receiving interface connects to a broadcast, Point-to- MultiPoint or NBMA network the source is identified by the IP source address found in the Hello's IP header. If the receiving interface connects to a point-to-point link or a virtual link, the source is identified by the Router ID found in the Hello's OSPF packet header. The interface's current list of neighbors is contained in the interface's data structure. If a matching neighbor structure cannot be found, (i.e., this is the first time the neighbor has been detected), one is created. The initial state of a newly created neighbor is set to Down. ---------------------------------------- Atanu. Ben> Thanks, Ben> Ben Ben> RCS file: /cvs/xorp/ospf/peer.cc,v Ben> retrieving revision 1.289 Ben> diff -u -r1.289 peer.cc Ben> --- peer.cc 5 Oct 2007 00:06:59 -0000 1.289 Ben> +++ peer.cc 5 Oct 2007 00:58:56 -0000 Ben> @@ -1487,13 +1487,13 @@ Ben> { Ben> typename list *>::iterator n; Ben> switch(get_linktype()) { Ben> - case OspfTypes::BROADCAST: Ben> case OspfTypes::NBMA: Ben> case OspfTypes::PointToMultiPoint: Ben> for(n = _neighbours.begin(); n != _neighbours.end(); n++) Ben> if ((*n)->get_neighbour_address() == src) Ben> return *n; Ben> break; Ben> + case OspfTypes::BROADCAST: Ben> case OspfTypes::VirtualLink: Ben> case OspfTypes::PointToPoint: Ben> for(n = _neighbours.begin(); n != _neighbours.end(); n++) Ben> -- Ben> Ben Greear Ben> Candela Technologies Inc http://www.candelatech.com Ben> _______________________________________________ Ben> Xorp-hackers mailing list Ben> Xorp-hackers at icir.org Ben> http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers From greearb at candelatech.com Thu Oct 4 20:36:50 2007 From: greearb at candelatech.com (Ben Greear) Date: Thu, 04 Oct 2007 20:36:50 -0700 Subject: [Xorp-hackers] OSPF & migrating remote routers. In-Reply-To: <83007.1191547204@tigger.icir.org> References: <83007.1191547204@tigger.icir.org> Message-ID: <4705B152.4020602@candelatech.com> Atanu Ghosh wrote: > Hi, > > >>>>>> "Ben" == Ben Greear writes: >>>>>> > > Ben> The current implementation of OSPF, if the remote router-id > Ben> changes, but the remote interface IP doesn't change, then OSPF > Ben> doesn't notice that there is a new peer because it searches > Ben> on the interface IPs instead of the router-id. > > Ben> With the patch below, it searches by router-id on broadcast > Ben> interfaces too, and then it works in my case (I'm using > Ben> ethernet-like interfaces.) > > Ben> What is the reason for searching by anything other than router-id, > Ben> regardless of the interface type? > > The specification RFC 2328: > ---------------------------------------- > At this point, an attempt is made to match the source of the > Hello Packet to one of the receiving interface's neighbors. If > the receiving interface connects to a broadcast, Point-to- > MultiPoint or NBMA network the source is identified by the IP > source address found in the Hello's IP header. If the receiving > interface connects to a point-to-point link or a virtual link, > the source is identified by the Router ID found in the Hello's > OSPF packet header. The interface's current list of neighbors > is contained in the interface's data structure. If a matching > neighbor structure cannot be found, (i.e., this is the first > time the neighbor has been detected), one is created. The > initial state of a newly created neighbor is set to Down. > ---------------------------------------- > The next paragraph down talks about setting the neighbor's id to that of the router-id found in the hello packet. If the new ID is different from the old ID, surely you have to go back to initial state, even though the RFC doesn't say anything about this. Otherwise, it seems like you could be using stale state for a new router that just came up with the old IP address (this is indeed what I see). Can you think of any positive reason to use the interface's IP as opposed to the router-id, other than that is what the RFC suggests? If you don't want to change the code, I can just use my private build, but perhaps it might be worth thinking about fudging the RFC in this case, or at least allowing one to configure this new behaviour in the config file. Thanks, Ben > Atanu. > > Ben> Thanks, > Ben> Ben > > Ben> RCS file: /cvs/xorp/ospf/peer.cc,v > Ben> retrieving revision 1.289 > Ben> diff -u -r1.289 peer.cc > Ben> --- peer.cc 5 Oct 2007 00:06:59 -0000 1.289 > Ben> +++ peer.cc 5 Oct 2007 00:58:56 -0000 > Ben> @@ -1487,13 +1487,13 @@ > Ben> { > Ben> typename list *>::iterator n; > Ben> switch(get_linktype()) { > Ben> - case OspfTypes::BROADCAST: > Ben> case OspfTypes::NBMA: > Ben> case OspfTypes::PointToMultiPoint: > Ben> for(n = _neighbours.begin(); n != _neighbours.end(); n++) > Ben> if ((*n)->get_neighbour_address() == src) > Ben> return *n; > Ben> break; > Ben> + case OspfTypes::BROADCAST: > Ben> case OspfTypes::VirtualLink: > Ben> case OspfTypes::PointToPoint: > Ben> for(n = _neighbours.begin(); n != _neighbours.end(); n++) > > Ben> -- > Ben> Ben Greear > Ben> Candela Technologies Inc http://www.candelatech.com > > Ben> _______________________________________________ > Ben> Xorp-hackers mailing list > Ben> Xorp-hackers at icir.org > Ben> http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers > -- Ben Greear Candela Technologies Inc http://www.candelatech.com From zhj.zhao at gmail.com Mon Oct 8 01:13:56 2007 From: zhj.zhao at gmail.com (jerry zhao) Date: Mon, 8 Oct 2007 10:13:56 +0200 Subject: [Xorp-hackers] buffer state of router Message-ID: Hello everyone, I want to ask a question about router software. Now I am doing something about video streaming. Sometimes there is congestion because of buffer overflow of router. So I want to know the buffer state of router so that I can control the sever how many date it should send. Does anyone know whether there is a router software or router product that can send the buffer state to the server? Any advice is appreciated. Thanks Best regards Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20071008/f432d15e/attachment.html From zec at icir.org Mon Oct 8 01:39:28 2007 From: zec at icir.org (Marko Zec) Date: Mon, 8 Oct 2007 10:39:28 +0200 Subject: [Xorp-hackers] buffer state of router In-Reply-To: References: Message-ID: <200710081039.28798.zec@icir.org> On Monday 08 October 2007 10:13:56 jerry zhao wrote: > Hello everyone, > I want to ask a question about router software. Now I am doing > something about video streaming. Sometimes there is congestion > because of buffer overflow of router. So I want to know the buffer > state of router so that I can control the sever how many date it > should send. Does anyone know whether there is a router software or > router product that can send the buffer state to the server? Any > advice is appreciated. Thanks XCP -> http://www.isi.edu/isi-xcp/ From Stephen.Pope at ubs.com Mon Oct 8 22:34:13 2007 From: Stephen.Pope at ubs.com (Stephen C. Pope) Date: Mon, 08 Oct 2007 23:34:13 -0600 Subject: [Xorp-hackers] PIM auto-RP sparse-dense-mode? Message-ID: <470B12D5.1060708@ubs.com> Dear Xorp hackers, I find my self in a situation where I need to convince a Jupiter router on the other end of a long-distance layer 2 connection running 802.1q trunking that I have a router, but in fact all I have is a linux box. XORP is helping me out in this matter, but one thing I lack is a PIM sparse-dense-mode implementation to keep the router happy. Without PIM sparse-dense-mode, I'll have to resort to having static joins configured on the router, which I dread ;-). Per chance, has anyone whipped up a PIM sparse-dense-mode implementation for XORP? Specifically, I need to be able to support auto-RP and placing my xorp PIM protocol into discovery-only mode (I only have to handle sources and RPs upstream, so I really only need to listen to 224.0.1.40). A cursory scan of the archives and bugzilla didn't turn up anything on this topic. Any implementations or other hints or guidance would be appreciated! Stephen Pope Prediction Company LLC/UBS AG stephen.pope at ubs.com Visit our website at http://www.ubs.com This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mails are not encrypted and cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. This message is provided for informational purposes and should not be construed as a solicitation or offer to buy or sell any securities or related financial instruments. From pavlin at icir.org Tue Oct 9 00:42:50 2007 From: pavlin at icir.org (Pavlin Radoslavov) Date: Tue, 09 Oct 2007 00:42:50 -0700 Subject: [Xorp-hackers] PIM auto-RP sparse-dense-mode? In-Reply-To: Message from "Stephen C. Pope" of "Mon, 08 Oct 2007 23:34:13 MDT." <470B12D5.1060708@ubs.com> Message-ID: <200710090742.l997goBT023839@possum.icir.org> > I find my self in a situation where I need to convince a Jupiter router > on the other end of a long-distance layer 2 connection running 802.1q > trunking that I have a router, but in fact all I have is a linux box. > > XORP is helping me out in this matter, but one thing I lack is a PIM > sparse-dense-mode implementation to keep the router happy. Without PIM > sparse-dense-mode, I'll have to resort to having static joins configured > on the router, which I dread ;-). > > Per chance, has anyone whipped up a PIM sparse-dense-mode implementation > for XORP? Specifically, I need to be able to support auto-RP and placing > my xorp PIM protocol into discovery-only mode (I only have to handle > sources and RPs upstream, so I really only need to listen to > 224.0.1.40). A cursory scan of the archives and bugzilla didn't turn up > anything on this topic. > > Any implementations or other hints or guidance would be appreciated! The auto-RP mechanism for dynamic distribution of the group-to-RP mapping is a legacy protocol that was developed for PIM-SMv1. It comes from Cisco and there is no public document/specification that describes it (i.e., no RFC or even an Internet Draft). My guess is that Juniper implemented it only because they wanted to interoperate as much as possible with Cisco (and for that purpose they had to implement legacy stuff like this as well). When dynamic mapping is needed, the Bootstrap mechanism should be used instead of auto-RP. The Bootstrap mechanism has been developed along with PIM-SMv2 so it is quite mature. It has been implemented by practically every vendor that implements PIM-SMv2 (including Cisco, Juniper and XORP). My recommendation is that you get rid of the legacy Auto-RP deployment in your network and use the Bootstrap mechanism instead. You might not be very excited by the thoughts of reconfiguring your routers, but you will be rewarded in the long-term. Well, I understand that this switch might not be possible for various reasons (e.g., out of your control, etc). In that case, a possible work-around would be to use Static RP configuration with XORP. I assume you know the group-to-RP mapping information that is distributed by auto-RP (or you can learn it in some way such as running tcpdump and decoding the auto-RP packets). Then make sure that you configure XORP with _exactly_ same Cand-RP information in the "static-rps" section, otherwise the result is unpredictable (black holes, loops, etc, depending on your topology). This work-around will let you use XORP in the auto-RP setup, but it assumes that the Cand-RP set is very stable and doesn't change over time. Otherwise, as I mentioned above, it might generate issues you really don't want to deal with. Another possible solution, which is really ad-hoc and requires some level of programming is to provide glue between auto-RP and the static-rps setup in XORP. For example, write a script that uses, say, tcpdump to capture the auto-RP packets and then decode them to obtain the Cand-RP set. Then the script can use "xorpsh" in non-interactive mode to reconfigure XORP's static-rps setup on-the-fly. However, you should have in mind that in both cases you should use XORP only as a leaf router for the simple reason that it doesn't have PIM-DM (yet) so you cannot use it to forward the auto-RP packets to the rest of the network. I would be very much interested to know the solution you choose (incl. the reasons for the particular choice), and how well it worked (or didn't work). Your experience will be very valuable for other folks that might be in similar situation. Thanks, Pavlin From Stephen.Pope at ubs.com Tue Oct 9 14:10:10 2007 From: Stephen.Pope at ubs.com (Stephen C. Pope) Date: Tue, 09 Oct 2007 15:10:10 -0600 Subject: [Xorp-hackers] PIM auto-RP sparse-dense-mode? In-Reply-To: <200710090742.l997goBT023839@possum.icir.org> References: <200710090742.l997goBT023839@possum.icir.org> Message-ID: <470BEE32.20904@ubs.com> > The auto-RP mechanism for dynamic distribution of the group-to-RP > mapping is a legacy protocol that was developed for PIM-SMv1. > ... > Well, I understand that this switch might not be possible for > various reasons (e.g., out of your control, etc). > I understand the history, and I understand that I shouldn't be using it. But it is out of my control ;-). I had noted that I couldn't seem to find any documentation on the protocol which would mean some reverse engineering was in order. > In that case, a possible work-around would be to use Static RP > configuration with XORP. I was contemplating this very thing... > I would be very much interested to know the solution you choose > (incl. the reasons for the particular choice), and how well it > worked (or didn't work). Your experience will be very valuable for other folks that might be > in similar situation. > Will do. It may be: use static joins on the other end for now, and buy a new router for the future :-(. stephen. Visit our website at http://www.ubs.com This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mails are not encrypted and cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. This message is provided for informational purposes and should not be construed as a solicitation or offer to buy or sell any securities or related financial instruments. From pavlin at icir.org Tue Oct 9 15:17:20 2007 From: pavlin at icir.org (Pavlin Radoslavov) Date: Tue, 09 Oct 2007 15:17:20 -0700 Subject: [Xorp-hackers] PIM auto-RP sparse-dense-mode? In-Reply-To: Message from "Stephen C. Pope" of "Tue, 09 Oct 2007 15:10:10 MDT." <470BEE32.20904@ubs.com> Message-ID: <200710092217.l99MHKPi047183@possum.icir.org> > > In that case, a possible work-around would be to use Static RP > > configuration with XORP. > > I was contemplating this very thing... > > > I would be very much interested to know the solution you choose > > (incl. the reasons for the particular choice), and how well it > > worked (or didn't work). Your experience will be very valuable for other folks that might be > > in similar situation. > > > > Will do. It may be: use static joins on the other end for now, and buy a > new router for the future :-(. Static joins are probably the simplest short-term solution, but the downside is traffic overhead if there are no downstream receivers. XORP with static RPs will get you around that, assuming the Cand-RP set doesn't change over time. And it will also save you the $$$$ for the new router :) Re. updating the static RPs information by snooping and decoding the auto-RP messages, I think this can be a very interesting mini-project for someone who likes to play with this kind of stuff. The only tricky part will be the decoding of the auto-RP messages. Strictly speaking it should be possible to do it with a script program (in any language you might like). Though, a tool like Scapy will greatly simplify the solution: http://www.secdev.org/projects/scapy/ Regards, Pavlin From arjun at ceeyes.com Wed Oct 10 01:38:05 2007 From: arjun at ceeyes.com (arjun at ceeyes.com) Date: Wed, 10 Oct 2007 04:38:05 -0400 Subject: [Xorp-hackers] How to Configure the LIVE CD Message-ID: <380-22007103108385833@M2W027.mail2web.com> Hi All! I have downloaded and made a live CD of XORP. Now i wanted to configure it to make it act as RIP router. So plz tell me how can i configure it (with some examples). Also i want to test it on my pc running linux. Also i want to test it on a network consists of two computers. how can i test its working plz write in details. Regards, Arjun -------------------------------------------------------------------- mail2web.com - Microsoft? Exchange solutions from a leading provider - http://link.mail2web.com/Business/Exchange From a.greenhalgh at cs.ucl.ac.uk Wed Oct 10 02:08:58 2007 From: a.greenhalgh at cs.ucl.ac.uk (Adam Greenhalgh) Date: Wed, 10 Oct 2007 10:08:58 +0100 Subject: [Xorp-hackers] How to Configure the LIVE CD In-Reply-To: <380-22007103108385833@M2W027.mail2web.com> References: <380-22007103108385833@M2W027.mail2web.com> Message-ID: <4769af410710100208p35addd07jdb52e3ca9109d85c@mail.gmail.com> What you want is http://www.xorp.org/getting_started.html and http://www.xorp.org/releases/current/docs/user_manual/user_manual.pdf adam On 10/10/2007, arjun at ceeyes.com wrote: > Hi All! > > I have downloaded and made a live CD of XORP. > Now i wanted to configure it to make it act as RIP router. > So plz tell me how can i configure it (with some examples). > > Also i want to test it on my pc running linux. > > Also i want to test it on a network consists of two computers. > > how can i test its working plz write in details. > > Regards, > Arjun > > -------------------------------------------------------------------- > mail2web.com - Microsoft(r) Exchange solutions from a leading provider - > http://link.mail2web.com/Business/Exchange > > > > _______________________________________________ > Xorp-hackers mailing list > Xorp-hackers at icir.org > http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers > From greearb at candelatech.com Wed Oct 10 17:24:55 2007 From: greearb at candelatech.com (Ben Greear) Date: Wed, 10 Oct 2007 17:24:55 -0700 Subject: [Xorp-hackers] Feature request for xorpsh Message-ID: <470D6D57.6080407@candelatech.com> First, I never posted back to this list, but I was able to get XORP + OSPF to function as I was trying to do. Big thanks to Atanu for that last set of fixes to OSPF to make it handle peers correctly in my scenario. Now, a small feature quest: I would like a flag to xorpsh to make it die immediately if it cannot connect to the specified router-mgr (based on the port specified in the environment variable). This will make it a lot easier to script. Thanks, Ben -- Ben Greear Candela Technologies Inc http://www.candelatech.com From pavlin at icir.org Wed Oct 10 18:14:34 2007 From: pavlin at icir.org (Pavlin Radoslavov) Date: Wed, 10 Oct 2007 18:14:34 -0700 Subject: [Xorp-hackers] Feature request for xorpsh In-Reply-To: Message from Ben Greear of "Wed, 10 Oct 2007 17:24:55 PDT." <470D6D57.6080407@candelatech.com> Message-ID: <200710110114.l9B1EYO4084162@possum.icir.org> A non-text attachment was scrubbed... Name: xorpsh.patch Type: text/x-c++ Size: 7194 bytes Desc: not available Url : http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20071010/d4054916/attachment.bin From zhj.zhao at gmail.com Thu Oct 11 08:07:30 2007 From: zhj.zhao at gmail.com (jerry zhao) Date: Thu, 11 Oct 2007 17:07:30 +0200 Subject: [Xorp-hackers] source code of router software Message-ID: Hello, Eine einfache Rechnung zeigt, da? die Wiedergabe unkomprimierte Does anyone know if there is any source code of router software except Xorp that we can download and use? Any advice is appreciated. Thanks. Best regards. Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20071011/292c3d26/attachment.html From zhj.zhao at gmail.com Thu Oct 11 08:29:07 2007 From: zhj.zhao at gmail.com (jerry zhao) Date: Thu, 11 Oct 2007 17:29:07 +0200 Subject: [Xorp-hackers] source code of router software Message-ID: Hello, Does anyone know if there is any source code of router software except Xorp that we can download and use? Any advice is appreciated. Thanks. Best regards. Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20071011/57f6e6af/attachment.html From greearb at candelatech.com Thu Oct 11 09:10:40 2007 From: greearb at candelatech.com (Ben Greear) Date: Thu, 11 Oct 2007 09:10:40 -0700 Subject: [Xorp-hackers] xorpsh crash Message-ID: <470E4B00.5000700@candelatech.com> I'm getting a repeatable crash in xorpsh (I have not yet added that patch that Pavlin sent yesterday...this is just the latest cvs). I think it may be related to the fix for the cli busy-spin when scripting, probably the _clock member has been deleted or otherwise corrupted: (gdb) bt #0 0x470c91a8 in main_arena () from /lib/libc.so.6 #1 0x08189375 in TimerList::current_time (this=0x470c9194, now=@0xbfa7a828) at timer.cc:246 #2 0x0818a7f1 in TimerNode::schedule_after (this=0x832fe60, wait=@0xbfa7a8e4, priority=9) at timer.cc:140 #3 0x0818aa26 in TimerList::new_oneoff_after (this=0x470c9194, wait=@0xbfa7a8e4, cb=@0xbfa7a8d8, priority=9) at timer.cc:328 #4 0x080eddc3 in EventLoop::new_oneoff_after (this=0x470c9190, wait=@0xbfa7a8e4, ocb=@0xbfa7a8d8, priority=9) at ../libxorp/eventloop.hh:369 #5 0x080e9855 in CliClient::schedule_process_input_data (this=0x8307660) at cli_node_net.cc:901 #6 0x080eb85f in CliClient::process_input_data (this=0x8307660) at cli_node_net.cc:880 #7 0x080ed6a9 in XorpMemberCallback0B0::dispatch (this=0x82ff958) at ../libxorp/callback_nodebug.hh:305 #8 0x0818afa2 in OneoffTimerNode2::expire (this=0x831b8d8) at timer.cc:184 #9 0x08189e4a in TimerList::expire_one (this=0xbfa849cc, worst_priority=9) at timer.cc:481 #10 0x08189fae in TimerList::run (this=0xbfa849cc) at timer.cc:428 #11 0x0817045c in EventLoop::run (this=0xbfa849c8) at eventloop.cc:114 #12 0x080c1cdf in XorpShell::run (this=0xbfa82a88, commands=@0xbfa84bf4) at xorpsh_main.cc:388 #13 0x080c3b69 in main (argc=1, argv=0xbfa84cb4) at xorpsh_main.cc:897 (gdb) frame 1 #1 0x08189375 in TimerList::current_time (this=0x470c9194, now=@0xbfa7a828) at timer.cc:246 (gdb) print _clock $1 = (class ClockBase *) 0x470c91a0 (gdb) print *_clock warning: can't find linker symbol for virtual table for `ClockBase' value $2 = {_vptr.ClockBase = 0x470c9198} If no one beats me to it, I'll try to figure this one out later today. Thanks, Ben -- Ben Greear Candela Technologies Inc http://www.candelatech.com From pavlin at icir.org Thu Oct 11 14:03:49 2007 From: pavlin at icir.org (Pavlin Radoslavov) Date: Thu, 11 Oct 2007 14:03:49 -0700 Subject: [Xorp-hackers] xorpsh crash In-Reply-To: Message from Ben Greear of "Thu, 11 Oct 2007 09:10:40 PDT." <470E4B00.5000700@candelatech.com> Message-ID: <200710112103.l9BL3nvw097502@possum.icir.org> Ben Greear wrote: > I'm getting a repeatable crash in xorpsh (I have not yet added that patch > that Pavlin sent yesterday...this is just the latest cvs). Is there a simple procedure how to repeat the crash? > I think it may be related to the fix for the cli busy-spin when > scripting, probably the _clock member has been deleted or > otherwise corrupted: The particular warning you are seeing below is probably an artifact of the C++ inheritance for the SystemClock class implementation, so this might not be the real issue. Unfortunately, your backtrace doesn't provide much information about the crash itself. The only issue that comes to mind is that the CliClient might have been deleted somehow before the timer that called CliClient::process_input_data(). This is very unlike, because the timer deletion should have canceled the callback, but is something you could investigate by adding XLOG message in the CliClient destructor. Thanks, Pavlin > > (gdb) bt > #0 0x470c91a8 in main_arena () from /lib/libc.so.6 > #1 0x08189375 in TimerList::current_time (this=0x470c9194, now=@0xbfa7a828) at timer.cc:246 > #2 0x0818a7f1 in TimerNode::schedule_after (this=0x832fe60, wait=@0xbfa7a8e4, priority=9) > at timer.cc:140 > #3 0x0818aa26 in TimerList::new_oneoff_after (this=0x470c9194, wait=@0xbfa7a8e4, cb=@0xbfa7a8d8, > priority=9) at timer.cc:328 > #4 0x080eddc3 in EventLoop::new_oneoff_after (this=0x470c9190, wait=@0xbfa7a8e4, ocb=@0xbfa7a8d8, > priority=9) at ../libxorp/eventloop.hh:369 > #5 0x080e9855 in CliClient::schedule_process_input_data (this=0x8307660) at cli_node_net.cc:901 > #6 0x080eb85f in CliClient::process_input_data (this=0x8307660) at cli_node_net.cc:880 > #7 0x080ed6a9 in XorpMemberCallback0B0::dispatch (this=0x82ff958) > at ../libxorp/callback_nodebug.hh:305 > #8 0x0818afa2 in OneoffTimerNode2::expire (this=0x831b8d8) at timer.cc:184 > #9 0x08189e4a in TimerList::expire_one (this=0xbfa849cc, worst_priority=9) at timer.cc:481 > #10 0x08189fae in TimerList::run (this=0xbfa849cc) at timer.cc:428 > #11 0x0817045c in EventLoop::run (this=0xbfa849c8) at eventloop.cc:114 > #12 0x080c1cdf in XorpShell::run (this=0xbfa82a88, commands=@0xbfa84bf4) at xorpsh_main.cc:388 > #13 0x080c3b69 in main (argc=1, argv=0xbfa84cb4) at xorpsh_main.cc:897 > > (gdb) frame 1 > #1 0x08189375 in TimerList::current_time (this=0x470c9194, now=@0xbfa7a828) at timer.cc:246 > > (gdb) print _clock > $1 = (class ClockBase *) 0x470c91a0 > (gdb) print *_clock > warning: can't find linker symbol for virtual table for `ClockBase' value > $2 = {_vptr.ClockBase = 0x470c9198} > > > If no one beats me to it, I'll try to figure this one out later today. > > Thanks, > Ben > > > -- > Ben Greear > Candela Technologies Inc http://www.candelatech.com > > _______________________________________________ > Xorp-hackers mailing list > Xorp-hackers at icir.org > http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers From greearb at candelatech.com Thu Oct 11 17:39:03 2007 From: greearb at candelatech.com (Ben Greear) Date: Thu, 11 Oct 2007 17:39:03 -0700 Subject: [Xorp-hackers] xorpsh crash In-Reply-To: <200710112103.l9BL3nvw097502@possum.icir.org> References: <200710112103.l9BL3nvw097502@possum.icir.org> Message-ID: <470EC227.5000504@candelatech.com> Pavlin Radoslavov wrote: > Ben Greear wrote: > >> I'm getting a repeatable crash in xorpsh (I have not yet added that patch >> that Pavlin sent yesterday...this is just the latest cvs). > > Is there a simple procedure how to repeat the crash? I don't think so...seems it might be a race of some kind... I'm trying to add a new file to libxorp/ dir to help debug this. I tried editing the Makefile.am and reran ./configure in the base dir, but the .cc file is still not being compiled. What do I need to do to make it compile my file? Thanks, Ben -- Ben Greear Candela Technologies Inc http://www.candelatech.com From pavlin at icir.org Thu Oct 11 17:57:28 2007 From: pavlin at icir.org (Pavlin Radoslavov) Date: Thu, 11 Oct 2007 17:57:28 -0700 Subject: [Xorp-hackers] xorpsh crash In-Reply-To: Message from Ben Greear of "Thu, 11 Oct 2007 17:39:03 PDT." <470EC227.5000504@candelatech.com> Message-ID: <200710120057.l9C0vSvi099560@possum.icir.org> Ben Greear wrote: > Pavlin Radoslavov wrote: > > Ben Greear wrote: > > > >> I'm getting a repeatable crash in xorpsh (I have not yet added that patch > >> that Pavlin sent yesterday...this is just the latest cvs). > > > > Is there a simple procedure how to repeat the crash? > > I don't think so...seems it might be a race of some kind... > > I'm trying to add a new file to libxorp/ dir to help debug > this. I tried editing the Makefile.am and reran ./configure in the > base dir, but the .cc file is still not being compiled. What do I > need to do to make it compile my file? If you modify any Makefile.am or configure.in file, you must run ./bootstrap in the XORP top-level directory. After that you need to run ./configure Note however that you should have installed the same versions of the autotools we are using, otherwise the result is unpredictable: autoconf: 2.61 automake: 1.10 libtool: 1.5.22 Also, see the beginning of the "bootstrap" script for the list of environmental variables you might need to set if the installed executables on your machine doesn't match those names: ACLOCAL=${ACLOCAL:-"aclocal-1.10"} AUTOCONF=${AUTOCONF:-"autoconf-2.61"} AUTOHEADER=${AUTOHEADER:-"autoheader-2.61"} AUTOM4TE=${AUTOM4TE:-"autom4te-2.61"} AUTOMAKE=${AUTOMAKE:-"automake-1.10"} LIBTOOLIZE=${LIBTOOLIZE:-"libtoolize"} Regards, Pavlin From greearb at candelatech.com Thu Oct 11 18:55:45 2007 From: greearb at candelatech.com (Ben Greear) Date: Thu, 11 Oct 2007 18:55:45 -0700 Subject: [Xorp-hackers] xorpsh crash In-Reply-To: <200710120057.l9C0vSvi099560@possum.icir.org> References: <200710120057.l9C0vSvi099560@possum.icir.org> Message-ID: <470ED421.8030603@candelatech.com> Pavlin Radoslavov wrote: > Ben Greear wrote: > >> Pavlin Radoslavov wrote: >>> Ben Greear wrote: >>> >>>> I'm getting a repeatable crash in xorpsh (I have not yet added that patch >>>> that Pavlin sent yesterday...this is just the latest cvs). >>> Is there a simple procedure how to repeat the crash? >> I don't think so...seems it might be a race of some kind... >> >> I'm trying to add a new file to libxorp/ dir to help debug >> this. I tried editing the Makefile.am and reran ./configure in the >> base dir, but the .cc file is still not being compiled. What do I >> need to do to make it compile my file? > > If you modify any Makefile.am or configure.in file, you must run > ./bootstrap > in the XORP top-level directory. > After that you need to run ./configure > > Note however that you should have installed the same versions of the > autotools we are using, otherwise the result is unpredictable: > > autoconf: 2.61 > automake: 1.10 > libtool: 1.5.22 > > Also, see the beginning of the "bootstrap" script for the list of > environmental variables you might need to set if the installed > executables on your machine doesn't match those names: > > ACLOCAL=${ACLOCAL:-"aclocal-1.10"} > AUTOCONF=${AUTOCONF:-"autoconf-2.61"} > AUTOHEADER=${AUTOHEADER:-"autoheader-2.61"} > AUTOM4TE=${AUTOM4TE:-"autom4te-2.61"} > AUTOMAKE=${AUTOMAKE:-"automake-1.10"} > LIBTOOLIZE=${LIBTOOLIZE:-"libtoolize"} That sounds a bit scary...it won't be easy to fix this if my versions are off. I managed to manually tweak the Makefile for now... Anyway, I added my 'bug-cather' files and sure enough, we are deleting already-freed memory: (gdb) bt #0 0x08189566 in TimerNode::release_ref (this=0x83016d0) at timer.cc:87 #1 0x080bea0e in ~XorpTimer (this=0xbf8cdf04) at timer.hh:537 #2 0x0818a24c in TimerList::expire_one (this=0xbf8d4014, worst_priority=9) at timer.cc:458 #3 0x0818a395 in TimerList::run (this=0xbf8d4014) at timer.cc:428 #4 0x08170688 in EventLoop::run (this=0xbf8d4010) at eventloop.cc:114 #5 0x080c1cdf in XorpShell::run (this=0xbf8d20d0, commands=@0xbf8d4244) at xorpsh_main.cc:388 #6 0x080c3b69 in main (argc=1, argv=0xbf8d4304) at xorpsh_main.cc:897 (gdb) frame 0 #0 0x08189566 in TimerNode::release_ref (this=0x83016d0) at timer.cc:87 87 in timer.cc (gdb) print *this $1 = { = { = {_vptr.BugCatcher = 0x0, magic = 3735928559, static _cnt = 8}, _pos_in_heap = -1}, _ref_cnt = -1, _expires = {static ONE_MILLION = 1000000, _sec = 179108, _usec = 477834}, _cb = {_M_ptr = 0x0, _M_index = 71}, _priority = 9, _list = 0xbf8d4014} (gdb) print /x this->magic $2 = 0xdeadbeef (gdb) No fix yet, but please consider the attached patch and new files..this has saved me many hours debugging complex applications & core files... Thanks, Ben > > Regards, > Pavlin -- Ben Greear Candela Technologies Inc http://www.candelatech.com -------------- next part -------------- A non-text attachment was scrubbed... Name: xorp.patch Type: text/x-patch Size: 3892 bytes Desc: not available Url : http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20071011/9b059ab2/attachment.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: bug_catcher.cc Type: text/x-c++src Size: 66 bytes Desc: not available Url : http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20071011/9b059ab2/attachment-0001.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: bug_catcher.hh Type: text/x-c++hdr Size: 511 bytes Desc: not available Url : http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20071011/9b059ab2/attachment-0002.bin From greearb at candelatech.com Thu Oct 11 19:28:15 2007 From: greearb at candelatech.com (Ben Greear) Date: Thu, 11 Oct 2007 19:28:15 -0700 Subject: [Xorp-hackers] OSPF doesn't deal well with changing interfaces/neighbors if not currently in state FULL. Message-ID: <470EDBBF.3010801@candelatech.com> I notice that if I run xorpsh commands too soon after starting xorp, the OSPF routers get stuck in ExStart state. However, if I wait till they go to Full state, then it seems to work properly when interfaces & neighbours are changed. Here is output of two stuck routers: [root at lanforge-33-46 lanforge]# export XORP_FINDER_SERVER_PORT=20008; xorpsh Welcome to XORP on lanforge-33-46 root at lanforge-33-46> show ospf4 neighbor Address Interface State ID Pri Dead 10.4.0.7 rddVR45/rddVR45 ExStart 127.1.0.2 128 31 root at lanforge-33-46> show ospf4 `ospf4' is ambiguous. Possible completions: database Show LSA database neighbor Show Neighbors root at lanforge-33-46> show ospf4 `ospf4' is ambiguous. Possible completions: database Show LSA database neighbor Show Neighbors root at lanforge-33-46> show ospf4 database OSPF link state database, Area 0.0.0.0 Type ID Adv Rtr Seq Age Opt Cksum Len Router *127.1.0.8 127.1.0.8 0x80000001 252 0x2 0x1afc 48 root at lanforge-33-46> quit [root at lanforge-33-46 lanforge]# export XORP_FINDER_SERVER_PORT=20002; xorpsh Welcome to XORP on lanforge-33-46 root at lanforge-33-46> show ospf4 neighbor Address Interface State ID Pri Dead 10.0.0.2 rddVR0/rddVR0 Full 127.1.0.1 128 38 10.4.0.2 rddVR44/rddVR44 ExStart 127.1.0.8 128 38 root at lanforge-33-46> quit Here's one of the log files: [root at lanforge-33-46 local]# cat /tmp/lanforge/xorp-log-vr10008.txt 2007-10-11 18:43:38 lf_stop_xorp: Tried to kill non-existent PPID: 20008 [ 2007/10/11 18:43:47 INFO xorp_rtrmgr:18689 RTRMGR master_conf_tree.cc:239 execute ] Changed modules: interfaces, fea, rib, policy, static_routes, ospf4 [ 2007/10/11 18:43:47 INFO xorp_rtrmgr:18689 RTRMGR module_manager.cc:96 execute ] Executing module: interfaces (fea/xorp_fea)ere is no member or method named magic. [ 2007/10/11 18:43:49 WARNING xorp_rtrmgr:18689 XrlFinderTarget ../xrl/targets/finder_base.cc:406 handle_finder_0_2_resolve_xrl ] Handling method for finder/0.2/resolve_xrl failed: XrlCmdError 102 Command failed Xrl target is not enabled. [ 2007/10/11 18:43:50 ERROR xorp_fea:18841 LIBCOMM comm_sock.c:115 comm_sock_open ] Error opening socket (domain = 10, type = 2, protocol = 0): Address family not supported by protocol [ 2007/10/11 18:43:50 ERROR xorp_fea:18841 LIBCOMM comm_sock.c:115 comm_sock_open ] Error opening socket (domain = 10, type = 2, protocol = 0): Address family not supported by protocol [ 2007/10/11 18:43:51 INFO xorp_fea MFEA ] MFEA enabledt_1.out [ 2007/10/11 18:43:51 INFO xorp_fea MFEA ] CLI enabled-vr10008.txt [ 2007/10/11 18:43:51 INFO xorp_fea MFEA ] CLI started [ 2007/10/11 18:43:51 INFO xorp_fea MFEA ] MFEA enabled [ 2007/10/11 18:43:51 INFO xorp_fea MFEA ] CLI enabled [ 2007/10/11 18:43:51 INFO xorp_fea MFEA ] CLI started [ 2007/10/11 18:43:51 INFO xorp_rtrmgr:18689 RTRMGR module_manager.cc:96 execute ] Executing module: fea (fea/xorp_fea) [ 2007/10/11 18:43:57 INFO xorp_rtrmgr:18689 RTRMGR module_manager.cc:96 execute ] Executing module: rib (rib/xorp_rib) [ 2007/10/11 18:43:57 INFO xorp_rib RIB ] Setting 'static' distance to: 220 based on XORP_RIB_STATIC_DISTANCE environment variable. [ 2007/10/11 18:43:57 INFO xorp_rib RIB ] Setting 'static' distance to: 220 based on XORP_RIB_STATIC_DISTANCE environment variable. [ 2007/10/11 18:43:57 INFO xorp_rib RIB ] Setting 'static' distance to: 220 based on XORP_RIB_STATIC_DISTANCE environment variable. [ 2007/10/11 18:43:57 INFO xorp_rib RIB ] Setting 'static' distance to: 220 based on XORP_RIB_STATIC_DISTANCE environment variable. [ 2007/10/11 18:43:59 INFO xorp_rtrmgr:18689 RTRMGR module_manager.cc:96 execute ] Executing module: policy (policy/xorp_policy) [ 2007/10/11 18:44:01 INFO xorp_rtrmgr:18689 RTRMGR module_manager.cc:96 execute ] Executing module: static_routes (static_routes/xorp_static_routes) [ 2007/10/11 18:44:03 INFO xorp_rtrmgr:18689 RTRMGR module_manager.cc:96 execute ] Executing module: ospf4 (ospf/xorp_ospfv2) [ 2007/10/11 18:44:06 TRACE xorp_ospfv2 OSPF ] Event(InterfaceUp) Interface(rddVR45/rddVR45) State(Down) [ 2007/10/11 18:44:06 TRACE xorp_ospfv2 OSPF ] Event(InterfaceUp) Interface(rddVR5/rddVR5) State(Down) [ 2007/10/11 18:44:06 INFO xorp_rtrmgr:18689 RTRMGR task.cc:2228 run_task ] No more tasks to run [ 2007/10/11 18:44:06 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(Init) [ 2007/10/11 18:44:06 TRACE xorp_ospfv2 OSPF ] Event(1-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(Init) [ 2007/10/11 18:44:16 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(Init) [ 2007/10/11 18:44:16 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(Init) [ 2007/10/11 18:44:35 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(TwoWay) [ 2007/10/11 18:44:35 TRACE xorp_ospfv2 OSPF ] Event(1-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(TwoWay) [ 2007/10/11 18:44:35 TRACE xorp_ospfv2 OSPF ] Event(NeighborChange) Interface(rddVR45/rddVR45) State(Waiting) [ 2007/10/11 18:44:35 WARNING xorp_ospfv2:19127 OSPF peer.cc:1891 event_neighbour_change ] Unexpected state Waiting [ 2007/10/11 18:44:45 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(Init) [ 2007/10/11 18:44:45 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(Init) [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Event(WaitTimer) Interface(rddVR45/rddVR45) State(Waiting) [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Start election: DR 0.0.0.0 BDR 0.0.0.0 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Current BDR 0.0.0.0 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Candidate: CID 10.4.0.2 RID 127.1.0.8 DR 0.0.0.0 BDR 0.0.0.0 PRI 0.0.0.128 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Candidate: CID 10.4.0.7 RID 127.1.0.2 DR 0.0.0.0 BDR 0.0.0.0 PRI 0.0.0.128 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] New BDR 10.4.0.2 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Current DR 0.0.0.0 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Candidate: CID 10.4.0.2 RID 127.1.0.8 DR 0.0.0.0 BDR 0.0.0.0 PRI 0.0.0.128 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Candidate: CID 10.4.0.7 RID 127.1.0.2 DR 0.0.0.0 BDR 0.0.0.0 PRI 0.0.0.128 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] New DR chose BDR 10.4.0.2 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Current BDR 0.0.0.0 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Candidate: CID 10.4.0.2 RID 127.1.0.8 DR 10.4.0.2 BDR 10.4.0.2 PRI 0.0.0.128 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Candidate: CID 10.4.0.7 RID 127.1.0.2 DR 0.0.0.0 BDR 0.0.0.0 PRI 0.0.0.128 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] New BDR 10.4.0.7 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Current DR 0.0.0.0 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Candidate: CID 10.4.0.2 RID 127.1.0.8 DR 10.4.0.2 BDR 10.4.0.2 PRI 0.0.0.128 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Candidate: CID 10.4.0.7 RID 127.1.0.2 DR 0.0.0.0 BDR 0.0.0.0 PRI 0.0.0.128 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] New DR 10.4.0.2 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] End election: DR 10.4.0.2 BDR 10.4.0.7 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Event(AdjOK?) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(TwoWay) [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Event(WaitTimer) Interface(rddVR5/rddVR5) State(Waiting) [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Start election: DR 0.0.0.0 BDR 0.0.0.0 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Current BDR 0.0.0.0 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Candidate: CID 10.1.0.1 RID 127.1.0.8 DR 0.0.0.0 BDR 0.0.0.0 PRI 0.0.0.128 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] New BDR 10.1.0.1 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Current DR 0.0.0.0 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Candidate: CID 10.1.0.1 RID 127.1.0.8 DR 0.0.0.0 BDR 0.0.0.0 PRI 0.0.0.128 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] New DR chose BDR 10.1.0.1 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Current BDR 0.0.0.0 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Candidate: CID 10.1.0.1 RID 127.1.0.8 DR 10.1.0.1 BDR 10.1.0.1 PRI 0.0.0.128 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] New BDR 0.0.0.0 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Current DR 0.0.0.0 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] Candidate: CID 10.1.0.1 RID 127.1.0.8 DR 10.1.0.1 BDR 10.1.0.1 PRI 0.0.0.128 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] New DR 10.1.0.1 [ 2007/10/11 18:44:46 TRACE xorp_ospfv2 OSPF ] End election: DR 10.1.0.1 BDR 0.0.0.0 [ 2007/10/11 18:44:55 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:44:55 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:05 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:05 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:15 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:15 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:15 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:15 TRACE xorp_ospfv2 OSPF ] Event(NeighborChange) Interface(rddVR45/rddVR45) State(DR) [ 2007/10/11 18:45:15 TRACE xorp_ospfv2 OSPF ] Start election: DR 10.4.0.2 BDR 10.4.0.7 [ 2007/10/11 18:45:15 TRACE xorp_ospfv2 OSPF ] Current BDR 10.4.0.7 [ 2007/10/11 18:45:15 TRACE xorp_ospfv2 OSPF ] Candidate: CID 10.4.0.2 RID 127.1.0.8 DR 10.4.0.2 BDR 10.4.0.7 PRI 0.0.0.128 [ 2007/10/11 18:45:15 TRACE xorp_ospfv2 OSPF ] Candidate: CID 10.4.0.7 RID 127.1.0.2 DR 10.4.0.2 BDR 10.4.0.7 PRI 0.0.0.128 [ 2007/10/11 18:45:15 TRACE xorp_ospfv2 OSPF ] New BDR 10.4.0.7 [ 2007/10/11 18:45:15 TRACE xorp_ospfv2 OSPF ] Current DR 10.4.0.2 [ 2007/10/11 18:45:15 TRACE xorp_ospfv2 OSPF ] Candidate: CID 10.4.0.2 RID 127.1.0.8 DR 10.4.0.2 BDR 10.4.0.7 PRI 0.0.0.128 [ 2007/10/11 18:45:15 TRACE xorp_ospfv2 OSPF ] Candidate: CID 10.4.0.7 RID 127.1.0.2 DR 10.4.0.2 BDR 10.4.0.7 PRI 0.0.0.128 [ 2007/10/11 18:45:15 TRACE xorp_ospfv2 OSPF ] New DR 10.4.0.2 [ 2007/10/11 18:45:15 TRACE xorp_ospfv2 OSPF ] End election: No change [ 2007/10/11 18:45:20 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:25 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:25 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:25 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:30 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:35 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:35 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:35 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:40 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:45 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:45 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:45 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:50 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:55 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:55 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:45:55 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:00 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:05 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:05 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:05 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:10 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:15 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:15 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:15 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:20 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:25 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:25 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:25 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:30 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:35 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:35 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:35 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:40 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:45 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:45 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:45 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:50 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:55 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:55 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:46:55 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:00 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:05 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:05 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:05 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:10 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:15 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:15 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:15 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:20 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:25 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:25 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:25 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:30 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:35 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:35 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:35 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:40 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:45 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:45 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:45 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:50 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:55 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:55 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:47:55 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:00 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:05 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:05 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:05 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:10 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:15 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:15 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:15 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:20 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:25 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:25 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:25 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:30 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:35 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:35 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:35 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:40 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:50 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:50 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:50 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:51 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:55 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:55 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:48:55 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:04 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:05 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:05 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:05 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:12 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:20 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:20 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:20 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:20 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:28 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:28 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:28 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:36 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:36 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:36 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:36 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:40 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:46 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:46 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:46 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:55 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:55 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:55 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:49:55 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:00 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:09 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:09 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:09 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:10 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:17 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:17 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:17 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:26 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:26 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:26 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:26 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:31 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:40 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:40 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:40 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:40 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:45 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:45 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:45 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:54 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:55 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:55 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:50:55 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:01 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:06 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:06 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:06 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:14 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:15 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:15 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:15 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:22 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:30 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:30 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:30 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:30 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:35 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:35 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:35 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:45 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:45 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:45 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:45 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:55 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:55 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:55 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:51:55 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:03 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:05 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:05 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:05 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:11 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:20 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:20 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:20 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:20 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:26 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:26 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:26 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:35 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:35 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:35 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:35 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:40 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:45 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:45 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:45 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:50 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:55 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:55 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:52:55 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:53:00 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:53:05 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:53:05 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:53:05 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:53:10 TRACE xorp_ospfv2 OSPF ] Event(DataDescriptionReceived-pseudo-event) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:53:15 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) [ 2007/10/11 18:53:15 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR45/rddVR45) Neighbour(10.4.0.7) State(ExStart) -- Ben Greear Candela Technologies Inc http://www.candelatech.com From greearb at candelatech.com Thu Oct 11 19:44:34 2007 From: greearb at candelatech.com (Ben Greear) Date: Thu, 11 Oct 2007 19:44:34 -0700 Subject: [Xorp-hackers] OSPF assert because multicast interface not properly removed from interface on interface delete. Message-ID: <470EDF92.5020502@candelatech.com> Continuing on with my testing: After waiting proper amount of time for OSPF instances to go to state Full, I changed interfaces & neighbours. This worked fine. I then waited for the state to go back to Full and changed interfaces again. This time, I get an ospfv2 core file due to an assert. It looks like the root cause might be that the previous owner didn't remove the multicast address properly because it couldn't find the interface. Maybe this is another race with deleted interfaces? As a potential work-around, is there any way to get rtrmgr to restart the xorp process, or exit cleanly so that the entire rtrmgr can be restarted? Here is the previous owner's log: [ 2007/10/11 19:30:27 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR1/rddVR1) Neighbour(10.0.0.1) State(Full) [ 2007/10/11 19:30:27 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR1/rddVR1) Neighbour(10.0.0.1) State(Full) [ 2007/10/11 19:30:33 TRACE xorp_ospfv2 OSPF ] Event(InterfaceDown) Interface(rddVR44/rddVR44) State(Backup) [ 2007/10/11 19:30:33 TRACE xorp_ospfv2 OSPF ] Event(KillNbr) Interface(rddVR44/rddVR44) Neighbour(10.4.0.2) State(Full) [ 2007/10/11 19:30:33 INFO xorp_rtrmgr:22031 RTRMGR task.cc:2228 run_task ] No more tasks to run [ 2007/10/11 19:30:33 WARNING xorp_fea XrlFeaTarget ] Handling method for raw_packet4/0.1/leave_multicast_group failed: XrlCmdError 102 Command failed Leaving multicast group 224.0.0.6 failed: interface rddVR44 vif rddVR44 not found [ 2007/10/11 19:30:33 WARNING xorp_fea XrlFeaTarget ] Handling method for raw_packet4/0.1/send failed: XrlCmdError 102 Command failed No interface rddVR44 [ 2007/10/11 19:30:33 WARNING xorp_fea XrlFeaTarget ] Handling method for raw_packet4/0.1/leave_multicast_group failed: XrlCmdError 102 Command failed Leaving multicast group 224.0.0.5 failed: interface rddVR44 vif rddVR44 not found [ 2007/10/11 19:30:33 ERROR xorp_ospfv2:22481 OSPF xrl_io.cc:721 leave_multicast_group_cb ] Cannot leave a multicast group on interface rddVR44 vif rddVR44: 102 Command failed Leaving multicast group 224.0.0.6 failed: interface rddVR44 vif rddVR44 not found [ 2007/10/11 19:30:33 ERROR xorp_ospfv2:22481 OSPF xrl_io.cc:188 send_cb ] Cannot send a packet on interface rddVR44 vif rddVR44: 102 Command failed No interface rddVR44 [ 2007/10/11 19:30:33 ERROR xorp_ospfv2:22481 OSPF xrl_io.cc:721 leave_multicast_group_cb ] Cannot leave a multicast group on interface rddVR44 vif rddVR44: 102 Command failed Leaving multicast group 224.0.0.5 failed: interface rddVR44 vif rddVR44 not found [ 2007/10/11 19:30:33 TRACE xorp_ospfv2 OSPF ] Event(LinkStateAcknowledgementReceived-pseudo-event) Interface(rddVR1/rddVR1) Neighbour(10.0.0.1) State(Full) [ 2007/10/11 19:30:34 TRACE xorp_ospfv2 OSPF ] Node: OSPFv2 Network 10.1.0.255(0xa0100ff) 0.0.0.0(0) not reachable [ 2007/10/11 19:30:34 TRACE xorp_ospfv2 OSPF ] Node: OSPFv2 Network 10.4.0.2(0xa040002) 0.0.0.0(0) not reachable [ 2007/10/11 19:30:34 TRACE xorp_ospfv2 OSPF ] Node: OSPFv2 Router 127.1.0.8(0x7f010008) 0.0.0.0(0) not reachable [ 2007/10/11 19:30:34 TRACE xorp_ospfv2 OSPF ] Checking for virtual links Router-LSA: LS age 19 Options 0x2 DC: 0 EA: 0 N/P: 0 MC: 0 E: 1 LS type 0x1 Link State ID 127.1.0.2 Advertising Router 127.1.0.2 LS sequence number 0x80000005 LS checksum 0x33c5 length 60 bit Nt false bit V false bit E false bit B false Type 2 Transit network IP address of Designated router 10.0.0.1 Routers interface address 10.0.0.1 Metric 1 Type 3 Stub network Subnet number 10.2.0.0 Mask 255.255.255.0 Metric 1 Type 3 Stub network Subnet number 10.3.0.0 Mask 255.255.255.0 Metric 1 [ 2007/10/11 19:30:34 TRACE xorp_ospfv2 OSPF ] Delete route Net 10.1.0.0/24 Here is the log for the router that gained the interface and then asserted. .... [ 2007/10/11 19:30:27 TRACE xorp_ospfv2 OSPF ] Event(HelloReceived) Interface(rddVR0/rddVR0) Neighbour(10.0.0.2) State(Full) [ 2007/10/11 19:30:27 TRACE xorp_ospfv2 OSPF ] Event(2-WayReceived) Interface(rddVR0/rddVR0) Neighbour(10.0.0.2) State(Full) [ 2007/10/11 19:30:33 TRACE xorp_ospfv2 OSPF ] Event(LinkStateUpdateReceived-pseudo-event) Interface(rddVR0/rddVR0) Neighbour(10.0.0.2) State(Full) [ 2007/10/11 19:30:34 TRACE xorp_ospfv2 OSPF ] Node: OSPFv2 Network 10.1.0.255(0xa0100ff) 0.0.0.0(0) not reachable [ 2007/10/11 19:30:34 TRACE xorp_ospfv2 OSPF ] Node: OSPFv2 Network 10.4.0.2(0xa040002) 0.0.0.0(0) not reachable [ 2007/10/11 19:30:34 TRACE xorp_ospfv2 OSPF ] Node: OSPFv2 Router 127.1.0.8(0x7f010008) 0.0.0.0(0) not reachable [ 2007/10/11 19:30:34 TRACE xorp_ospfv2 OSPF ] Checking for virtual links Router-LSA: LS age 1 Options 0x2 DC: 0 EA: 0 N/P: 0 MC: 0 E: 1 LS type 0x1 Link State ID 127.1.0.1 Advertising Router 127.1.0.1 LS sequence number 0x80000005 LS checksum 0x87ad length 36 bit Nt false bit V false bit E false bit B false Type 2 Transit network IP address of Designated router 10.0.0.1 Routers interface address 10.0.0.2 Metric 1 [ 2007/10/11 19:30:34 TRACE xorp_ospfv2 OSPF ] Delete route Net 10.1.0.0/24 [ 2007/10/11 19:30:34 TRACE xorp_ospfv2 OSPF ] Delete route Net 10.4.0.0/24 [ 2007/10/11 19:30:37 INFO xorp_rtrmgr:22040 RTRMGR task.cc:2228 run_task ] No more tasks to run [ 2007/10/11 19:30:37 TRACE xorp_ospfv2 OSPF ] Event(LinkStateAcknowledgementReceived-pseudo-event) Interface(rddVR0/rddVR0) Neighbour(10.0.0.2) State(Full) [ 2007/10/11 19:30:37 ERROR xorp_rib:22367 RIB rib.cc:695 add_vif_address ] Attempting to add address to non-existant Vif "rddVR44" [ 2007/10/11 19:30:37 ERROR xorp_rib:22367 RIB vifmanager.cc:520 updates_made ] Cannot add address 10.4.0.7 to vif rddVR44 from the set of configured vifs: Failed to add VIF address 10.4.0.7 to Unicast IPv4 RIB [ 2007/10/11 19:30:37 TRACE xorp_ospfv2 OSPF ] Event(InterfaceUp) Interface(rddVR44/rddVR44) State(Down) [ 2007/10/11 19:30:37 WARNING xorp_fea XrlFeaTarget ] Handling method for raw_packet4/0.1/join_multicast_group failed: XrlCmdError 102 Command failed Cannot join group 224.0.0.5 on interface rddVR44 vif rddVR44: Address already in use [ 2007/10/11 19:30:37 FATAL xorp_ospfv2:22478 OSPF xrl_io.cc:638 join_multicast_group_cb ] Cannot join a multicast group on interface rddVR44 vif rddVR44: 102 Command failed Cannot join group 224.0.0.5 on interface rddVR44 vif rddVR44: Address already in use [ 2007/10/11 19:30:37 ERROR xorp_rtrmgr:22040 RTRMGR module_manager.cc:747 done_cb ] Command "/usr/local/xorp/ospf/xorp_ospfv2": terminated with signal 6; aborted with a core dump. [ 2007/10/11 19:30:37 INFO xorp_rtrmgr:22040 RTRMGR module_manager.cc:291 module_exited ] Module coredumped: ospf4 [ 2007/10/11 19:30:37 INFO xorp_rib RIB ] Received death event for protocol ospfv2 shutting down ------- OriginTable: ospf IGP next table = Redist:ospf [ 2007/10/11 19:30:37 INFO xorp_rib RIB ] Received death event for protocol ospfv2 shutting down ------- OriginTable: ospf IGP next table = Redist:ospf [ 2007/10/11 19:30:37 INFO xorp_rib RIB ] Received death event for protocol ospfv2 shutting down ------- OriginTable: ospf IGP next table = Redist:ospf [ 2007/10/11 19:30:37 INFO xorp_rib RIB ] Received death event for protocol ospfv2 shutting down ------- OriginTable: ospf IGP next table = Redist:ospf [ 2007/10/11 19:30:39 INFO xorp_rtrmgr:22040 RTRMGR task.cc:2228 run_task ] No more tasks to run Thanks, Ben -- Ben Greear Candela Technologies Inc http://www.candelatech.com From arjun at ceeyes.com Thu Oct 11 22:07:55 2007 From: arjun at ceeyes.com (arjun at ceeyes.com) Date: Fri, 12 Oct 2007 01:07:55 -0400 Subject: [Xorp-hackers] WANTS TO TEST THE RIP Message-ID: <380-22007105125755848@M2W004.mail2web.com> Hi all! I have downloaded the live CD. Now i want to configure it for RIP only. What are the diffrent other things i need to configure in order to run this CD as router. Also tell me the minimum physical environmrnt(network) i need to test this router(CD with configured RIP only). Regards, Arjun -------------------------------------------------------------------- mail2web.com ? What can On Demand Business Solutions do for you? http://link.mail2web.com/Business/SharePoint From pavlin at icir.org Thu Oct 11 22:48:27 2007 From: pavlin at icir.org (Pavlin Radoslavov) Date: Thu, 11 Oct 2007 22:48:27 -0700 Subject: [Xorp-hackers] WANTS TO TEST THE RIP In-Reply-To: Message from "arjun@ceeyes.com" of "Fri, 12 Oct 2007 01:07:55 EDT." <380-22007105125755848@M2W004.mail2web.com> Message-ID: <200710120548.l9C5mRk7001876@possum.icir.org> > I have downloaded the live CD. > Now i want to configure it for RIP only. > > What are the diffrent other things i need to configure in order to run this > CD as router. You need to configure the network interfaces (the "interfaces" configuration section), and you need to enable unicast forwarding (inside the "fea" section). If you need to use routing policy or to advertise, say static or connected routes, then you need to configure the policy as well. > Also tell me the minimum physical environmrnt(network) i need to test this > router(CD with configured RIP only). It depends what you need to test. The simplest topology would be two PCs connected with a single subnet between them. Hope that helps, Pavlin From atanu at ICSI.Berkeley.EDU Fri Oct 12 00:51:02 2007 From: atanu at ICSI.Berkeley.EDU (Atanu Ghosh) Date: Fri, 12 Oct 2007 00:51:02 -0700 Subject: [Xorp-hackers] OSPF doesn't deal well with changing interfaces/neighbors