From yst.cyan at gmail.com Mon Apr 13 03:07:26 2009 From: yst.cyan at gmail.com (ChuYinsu) Date: Mon, 13 Apr 2009 18:07:26 +0800 Subject: [Xorp-hackers] One basic question: Is XORP a daemon process? Message-ID: <33466d280904130307p1b091c82k730cefa15bd2ad29@mail.gmail.com> Hi, XORP can turn a PC into a router running different routing protocols. However, if XORP is running under Linux, then can it be recognized as a daemon(like Bird or Quagga) or it's just an application, or a platform for developing/studying/etc. routing protocols? Thanks. From yst.cyan at gmail.com Mon Apr 13 08:42:08 2009 From: yst.cyan at gmail.com (ChuYinsu) Date: Mon, 13 Apr 2009 23:42:08 +0800 Subject: [Xorp-hackers] Can Bird/Quagga and XORP installed together? Message-ID: <33466d280904130842x397318e9i959060863dd2b60c@mail.gmail.com> Hi, If Bird/Quagga (Internet routing daemons) and XORP are installed together on a computer, will they conflict with each other or just work fine? I noticed that if I have installed Quagga and then try to install Bird, the operating system would require me to uninstall Quagga first. But if I install Bird or Quagga first, then install XORP, there is no such message. But I'm still not sure. Any ideas? Thanks! From samuellucas at datacom.ind.br Mon Apr 13 08:59:56 2009 From: samuellucas at datacom.ind.br (DATACOM - Samuel Lucas) Date: Mon, 13 Apr 2009 12:59:56 -0300 Subject: [Xorp-hackers] Can Bird/Quagga and XORP installed together? In-Reply-To: <33466d280904130842x397318e9i959060863dd2b60c@mail.gmail.com> References: <33466d280904130842x397318e9i959060863dd2b60c@mail.gmail.com> Message-ID: <49E3617C.9050903@datacom.ind.br> ChuYinsu wrote: > Hi, > > If Bird/Quagga (Internet routing daemons) and XORP are installed > together on a computer, will they conflict with each other or just > work fine? > It depends on each protocol you want to run using each daemon. You can use both daemons at the same time, but keep each protocol active in only one daemon. For instance, you can use quagga for unicast routing (OSPF, BGP, ISIS, etc) and Xorp for multicast routing (IGMP, PIM, etc). - Samuel From illidan at lineway.net Fri Apr 17 06:12:53 2009 From: illidan at lineway.net (illidan) Date: Fri, 17 Apr 2009 15:12:53 +0200 Subject: [Xorp-hackers] Add RIB route Message-ID: <49E88055.1010401@lineway.net> Hello, I am trying to add a new route to RIB table. I have my protocols which is running, rib is running and I try to add a new route by using a method like : (Constructor ) XrlRibV0p1Client _rib(&xrl_router); (function) void RIBConsensus::add_route4(IPv4Net subnet,IPv4 next_hop,uint32 metric,PolicyTags policy) { XorpCallback1::RefPtr cb; cb = callback(this,&RIBConsensus::add_route4_cb); XLOG_INFO("Try to add route\n"); _rib.send_add_route4("rib","consensus",true,true,subnet,next_hop,metric,policy.xrl_atomlist(),cb); } But I get an error : [ 2009/04/17 13:33:40 ERROR xorp_rib:21899 RIB +758 rib.cc add_route ] Attempting to add route to unknown table "consensus". [ 2009/04/17 13:33:40 WARNING xorp_rib XrlRibTarget ] Handling method for rib/0.1/add_route4 failed: XrlCmdError 102 Command failed Could not add IPv4 route net 192.168.0.0/24, nexthop: 10.10.10.10 to unicast RIB "Consensus" is the name of my protocol. How should I register it in RIB? Thanks in advance! Michael From bms at incunabulum.net Fri Apr 17 06:51:56 2009 From: bms at incunabulum.net (Bruce Simpson) Date: Fri, 17 Apr 2009 14:51:56 +0100 Subject: [Xorp-hackers] Add RIB route In-Reply-To: <49E88055.1010401@lineway.net> References: <49E88055.1010401@lineway.net> Message-ID: <49E8897C.805@incunabulum.net> illidan wrote: > > "Consensus" is the name of my protocol. > How should I register it in RIB? > Sounds like you forgot to register the origin table with the RIB before adding routes. Please look at the rip code as an example of how to do this. thanks, BMS From greearb at candelatech.com Mon Apr 20 23:14:36 2009 From: greearb at candelatech.com (Ben Greear) Date: Mon, 20 Apr 2009 23:14:36 -0700 Subject: [Xorp-hackers] fix assert in selector.cc Message-ID: <49ED644C.10904@candelatech.com> It's possible this is caused by some of my own patches, but I think it's a logic bug: If the only fd ISSET has infinite priority, it will not be chosen and will hit the assert at the bottom of the method. For me, simply calling: xorpsh when no rtr-mgrs are running causes the crash. The patch below fixes it for me. Thanks, Ben --- a/libxorp/selector.cc +++ b/libxorp/selector.cc @@ -400,13 +400,15 @@ SelectorList::get_ready_priority(bool force) // Test the priority of remaining events for the last served file // descriptor. // + bool found_one = false; if ((_last_served_fd >= 0) && (_last_served_fd <= _maxfd)) { for (int sel_idx = _last_served_sel + 1; sel_idx < SEL_MAX_IDX; sel_idx++) { if (FD_ISSET(_last_served_fd, &_testfds[sel_idx])) { int p = _selector_entries[_last_served_fd]._priority[sel_idx]; - if (p < max_priority) { + if ((p < max_priority) || (!found_one)) { + found_one = true; max_priority = p; _maxpri_fd = _last_served_fd; _maxpri_sel = sel_idx; @@ -424,7 +426,8 @@ SelectorList::get_ready_priority(bool force) for (int sel_idx = 0; sel_idx < SEL_MAX_IDX; sel_idx++) { if (FD_ISSET(fd, &_testfds[sel_idx])) { int p = _selector_entries[fd]._priority[sel_idx]; - if (p < max_priority) { + if ((p < max_priority) || (!found_one)) { + found_one = true; max_priority = p; _maxpri_fd = fd; _maxpri_sel = sel_idx; -- Ben Greear Candela Technologies Inc http://www.candelatech.com From shardasaiwan at gmail.com Thu Apr 23 03:59:29 2009 From: shardasaiwan at gmail.com (sharda saiwan) Date: Thu, 23 Apr 2009 06:59:29 -0400 Subject: [Xorp-hackers] how FEA interacts with underlying forwarding plane? Message-ID: How FEA interacts with the underlying forwarding plane (e.g. 'Click')? Is there any docs for that? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20090423/e45eca0a/attachment.html From bms at incunabulum.net Thu Apr 23 05:50:17 2009 From: bms at incunabulum.net (Bruce Simpson) Date: Thu, 23 Apr 2009 13:50:17 +0100 Subject: [Xorp-hackers] [Xorp-users] how FEA interacts with underlying forwarding plane? In-Reply-To: References: Message-ID: <49F06409.9080007@incunabulum.net> [resend from usual account for list archives to pick up] sharda saiwan wrote: > > > How FEA interacts with the underlying forwarding plane (e.g. 'Click')? > Is there any docs for that? please see: http://www.xorp.org/releases/1.6/docs/fea/fea.pdf You may wish to look under docs/ in the source tree for specific discussion of the interaction with Click, of course the final normative reference is the source code. thanks, BMS From shardasaiwan at gmail.com Thu Apr 23 21:40:48 2009 From: shardasaiwan at gmail.com (sharda saiwan) Date: Fri, 24 Apr 2009 00:40:48 -0400 Subject: [Xorp-hackers] Fwd: [Xorp-users] how FEA interacts with underlying forwarding plane? In-Reply-To: References: <49F05A30.7000301@icir.org> Message-ID: On Thu, Apr 23, 2009 at 8:08 AM, Bruce Simpson wrote: > sharda saiwan wrote: > >> >> >> How FEA interacts with the underlying forwarding plane (e.g. 'Click')? >> Is there any docs for that? >> > > please see: > http://www.xorp.org/releases/1.6/docs/fea/fea.pdf > > You may wish to look under docs/ in the source tree for specific discussion > of the interaction with Click, of course the final normative reference is > the source code. > > thanks, > BMS > > Hi Bruce, thanks for the response. but this document shows the interaction of FEA with other routing processes (like rtrmgr etc.). how FEA interacts with the forwarding plane is still not very clear. i want to run FEA and the forwarding plane on different machines (as per my understanding its not possible in the current version), what changes need to be done in FEA?? thanks & regards, sharda saiwan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20090424/5f0627bc/attachment.html From bms at incunabulum.net Fri Apr 24 02:32:57 2009 From: bms at incunabulum.net (Bruce Simpson) Date: Fri, 24 Apr 2009 10:32:57 +0100 Subject: [Xorp-hackers] Fwd: [Xorp-users] how FEA interacts with underlying forwarding plane? In-Reply-To: References: <49F05A30.7000301@icir.org> Message-ID: <49F18749.2050209@incunabulum.net> sharda saiwan wrote: > > i want to run FEA and the forwarding plane on different machines (as > per my understanding its not possible in the current version), what > changes need to be done in FEA?? That's not possible; the FEA process is the one responsible for communicating with the forwarding plane -- decoupling the FEA and forwarding plane makes no sense in the XORP model, as the FEA's role is to encapsulate the forwarding plane in a way which the other XORP processes can communicate with. I can't speak for the specifics of Click, though, I am under the impression it also has to run on the same node. thanks, BMS From shardasaiwan at gmail.com Mon Apr 27 22:39:39 2009 From: shardasaiwan at gmail.com (sharda saiwan) Date: Tue, 28 Apr 2009 01:39:39 -0400 Subject: [Xorp-hackers] Fwd: [Xorp-users] how FEA interacts with underlying forwarding plane? In-Reply-To: <49F18749.2050209@incunabulum.net> References: <49F05A30.7000301@icir.org> <49F18749.2050209@incunabulum.net> Message-ID: On Fri, Apr 24, 2009 at 5:32 AM, Bruce Simpson wrote: > sharda saiwan wrote: > >> >> i want to run FEA and the forwarding plane on different machines (as per >> my understanding its not possible in the current version), what changes need >> to be done in FEA?? >> > > That's not possible; the FEA process is the one responsible for > communicating with the forwarding plane -- decoupling the FEA and forwarding > plane makes no sense in the XORP model, as the FEA's role is to encapsulate > the forwarding plane in a way which the other XORP processes can communicate > with. > > I can't speak for the specifics of Click, though, I am under the impression > it also has to run on the same node. > > thanks, > BMS > Hi Bruce, Actually I am talking about the separation of control plane and data plane. According to the separation concept (the ForCES framework), to control and configure the data plane, the control plane should consist of an image of the underlying data plane (which includes attributes, capabilities and state information). In this separated control and data plane framework, if we use XORP as a routing daemon, then FEA is the process that contains all these information. So, I think FEA should be placed in control plane and the forwarding/data plane will run on a different system. Please suggest how XORP can be used in the above scenario. Thanks & regards, Sharda Saiwan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20090428/38c945e0/attachment.html From bms at incunabulum.net Tue Apr 28 01:59:52 2009 From: bms at incunabulum.net (Bruce Simpson) Date: Tue, 28 Apr 2009 09:59:52 +0100 Subject: [Xorp-hackers] Fwd: [Xorp-users] how FEA interacts with underlying forwarding plane? In-Reply-To: References: <49F05A30.7000301@icir.org> <49F18749.2050209@incunabulum.net> Message-ID: <49F6C588.9000202@incunabulum.net> sharda saiwan wrote: > > Actually I am talking about the separation of control plane and data > plane. According to the separation concept (the ForCES framework), to > control and configure the data plane, the control plane should consist > of an image of the underlying data plane (which includes attributes, > capabilities and state information). > > In this separated control and data plane framework, if we use XORP as > a routing daemon, then FEA is the process that contains all these > information. So, I think FEA should be placed in control plane and the > forwarding/data plane will run on a different system. > > Please suggest how XORP can be used in the above scenario. The point is that whilst the FEA is conceptually part of the control plane, it is coupled to the forwarding plane in terms of implementation. You can't have the FEA separate from the forwarding plane, it needs to run on the node which is doing the forwarding, because it encapsulates the forwarding plane specifics and what is needed to control it. I highly encourage you to read the source code, in order to understand why these design decisions were made, and also because it will give you more of a background (other than theroetical) about exactly what the FEA is, what it does, and why. thanks, BMS