From atanu@ICSI.Berkeley.EDU Sat Nov 1 00:02:42 2003 From: atanu@ICSI.Berkeley.EDU (Atanu Ghosh) Date: Fri, 31 Oct 2003 16:02:42 -0800 Subject: [Xorp-hackers] ICSI power shutdown Message-ID: <81431.1067644962@tigger.icir.org> Due to a total power shutdown at ICSI the web servers, cvs archives and email lists will be unavailable from 9pm PST Friday 31st October until 9pm PST Saturday 1st November. Atanu. From M.Handley@cs.ucl.ac.uk Mon Nov 3 13:55:03 2003 From: M.Handley@cs.ucl.ac.uk (Mark Handley) Date: Mon, 03 Nov 2003 13:55:03 +0000 Subject: [Xorp-hackers] Network stack virtualization on FreeBSD 4.9 Message-ID: <42845.1067867703@aardvark.cs.ucl.ac.uk> I hadn't come across this before: "Network stack cloning / virtualization extensions to the FreeBSD kernel" http://www.tel.fer.hr/zec/vimage/ Might provide a useful environment for running multi-router routing tests or experiments using multiple instances of unmodified XORP code all running on a single host. Cheers, Mark From pavlin@icir.org Mon Nov 3 20:41:33 2003 From: pavlin@icir.org (Pavlin Radoslavov) Date: Mon, 03 Nov 2003 12:41:33 -0800 Subject: [Xorp-hackers] Network stack virtualization on FreeBSD 4.9 In-Reply-To: Message from Mark Handley of "Mon, 03 Nov 2003 13:55:03 GMT." <42845.1067867703@aardvark.cs.ucl.ac.uk> Message-ID: <200311032041.hA3KfXUc022365@possum.icir.org> > > I hadn't come across this before: > > "Network stack cloning / virtualization extensions to the FreeBSD kernel" > http://www.tel.fer.hr/zec/vimage/ > > Might provide a useful environment for running multi-router routing > tests or experiments using multiple instances of unmodified XORP code > all running on a single host. I wasn't aware about it either. I just finished looking into it, and it looks like a very nice piece of work. The author has two papers+slides about the implementation which can provide some insights about the design and the implementation (go to the author's publications page). In a very brief summary, practically all network-related global state inside the kernel is isolated in one big structure which basically represents a single IP stack, and then all network-related stuff is taken from that structure. Obviously, there is lots of manual work involved in modifying the kernel to achieve this, but the final result (from application point of view) looks very sweet. Pavlin From lqin@sce.carleton.ca Mon Nov 10 20:41:21 2003 From: lqin@sce.carleton.ca (Liang Qin) Date: Mon, 10 Nov 2003 15:41:21 -0500 Subject: [Xorp-hackers] question about running XORP-0.5 on Linux Message-ID: <3FAFF7F1.5080205@sce.carleton.ca> Hi XORP users, I downloaded and compiled XORP 0.5 on a stand along Linux box (redhat 9.0). After I started rtrmgr process, finally it quit with following message: ----------------------------------- [ 2003/11/10 15:43:12 INFO xorp_bgp:2806 BGP +104 bgp.cc BGPMain ] EVENT: peerlist 0 timers 2 [ 2003/11/10 15:43:12 INFO xorp_bgp:2806 BGP +104 bgp.cc BGPMain ] EVENT: peerlist 0 timers 2 [ 2003/11/10 15:43:22 INFO xorp_bgp:2806 BGP +104 bgp.cc BGPMain ] EVENT: peerlist 0 timers 2 [ 2003/11/10 15:43:22 INFO xorp_bgp:2806 BGP +104 bgp.cc BGPMain ] EVENT: peerlist 0 timers 2 [ 2003/11/10 15:43:26 ERROR xorp_bgp:2806 XRL +333 xrl_pf_stcp.cc die ] STCPRequestHandler died: life timer expired [ 2003/11/10 15:43:26 INFO xorp_bgp:2806 BGP +104 bgp.cc BGPMain ] EVENT: peerlist 0 timers 1 [ 2003/11/10 15:43:26 WARNING xorp_bgp:2806 BGP +266 rib_ipc_handler.cc rib_command_done ] callback: delete_table 200 Finder not present/ready [ 2003/11/10 15:43:26 WARNING xorp_bgp:2806 BGP +266 rib_ipc_handler.cc rib_command_done ] callback: delete_table 200 Finder not present/ready [ 2003/11/10 15:43:26 WARNING xorp_bgp:2806 BGP +266 rib_ipc_handler.cc rib_command_done ] callback: delete_table 200 Finder not present/ready [ 2003/11/10 15:43:26 WARNING xorp_bgp:2806 BGP +266 rib_ipc_handler.cc rib_command_done ] callback: delete_table 200 Finder not present/ready UnresolvableHost from line 116 of iptuple.cc -> Unknown host [ 2003/11/10 15:43:26 ERROR xorp_rtrmgr:2803 RTRMGR +464 task.cc execute_done ] 210 Transport failed [ 2003/11/10 15:43:26 ERROR xorp_rtrmgr:2803 RTRMGR +772 task.cc task_fail ] Shutting down fatally wounded process bgp [ 2003/11/10 15:43:26 ERROR xorp_rtrmgr:2803 RTRMGR +135 master_conf_tree.cc config_done ] Startup failed (210 Transport failed) Startup failed (210 Transport failed) [ 2003/11/10 15:43:26 ERROR xorp_rtrmgr:2803 RTRMGR +323 main_rtrmgr.cc main ] rtrmgr shutting down due to error rtrmgr shutting down due to error --------------------------------------------- I use the config.boot file and change the IP address to the one assigned on the ethernet interface. Do I need configure other files? Any suggestion? Thanks! Liang Qin From atanu@ICSI.Berkeley.EDU Mon Nov 10 20:54:14 2003 From: atanu@ICSI.Berkeley.EDU (Atanu Ghosh) Date: Mon, 10 Nov 2003 12:54:14 -0800 Subject: [Xorp-hackers] question about running XORP-0.5 on Linux In-Reply-To: Your message of "Mon, 10 Nov 2003 15:41:21 EST." <3FAFF7F1.5080205@sce.carleton.ca> Message-ID: <20062.1068497654@tigger.icir.org> The config file that you are using still contains a reference to one of our routers (xorp-c4000). You can see the error in the log Unknown host. Replace xorp-c4000 with the name of your peer or the peer-ip address. Atanu. ---------------------------------------- protocols { bgp { bgp-id: 192.150.187.100 local-as: 65002 /* You need to replace xorp-c4000 with the name of one of your peers. */ peer xorp-c4000 { local-ip: 192.150.187.100 peer-ip: 192.150.187.109 as: 65000 holdtime: 90 next-hop: 192.150.187.100 } } } ---------------------------------------- >>>>> "Liang" == Liang Qin writes: Liang> Hi XORP users, Liang> I downloaded and compiled XORP 0.5 on a stand along Linux box (redhat 9.0). Liang> After I started rtrmgr process, finally it quit with following message: Liang> ----------------------------------- Liang> [ 2003/11/10 15:43:12 INFO xorp_bgp:2806 BGP +104 bgp.cc BGPMain ] Liang> EVENT: peerlist 0 timers 2 Liang> [ 2003/11/10 15:43:12 INFO xorp_bgp:2806 BGP +104 bgp.cc BGPMain ] Liang> EVENT: peerlist 0 timers 2 Liang> [ 2003/11/10 15:43:22 INFO xorp_bgp:2806 BGP +104 bgp.cc BGPMain ] Liang> EVENT: peerlist 0 timers 2 Liang> [ 2003/11/10 15:43:22 INFO xorp_bgp:2806 BGP +104 bgp.cc BGPMain ] Liang> EVENT: peerlist 0 timers 2 Liang> [ 2003/11/10 15:43:26 ERROR xorp_bgp:2806 XRL +333 xrl_pf_stcp.cc die ] Liang> STCPRequestHandler died: life timer expired Liang> [ 2003/11/10 15:43:26 INFO xorp_bgp:2806 BGP +104 bgp.cc BGPMain ] Liang> EVENT: peerlist 0 timers 1 Liang> [ 2003/11/10 15:43:26 WARNING xorp_bgp:2806 BGP +266 rib_ipc_handler.cc Liang> rib_command_done ] callback: delete_table 200 Finder not present/ready Liang> [ 2003/11/10 15:43:26 WARNING xorp_bgp:2806 BGP +266 rib_ipc_handler.cc Liang> rib_command_done ] callback: delete_table 200 Finder not present/ready Liang> [ 2003/11/10 15:43:26 WARNING xorp_bgp:2806 BGP +266 rib_ipc_handler.cc Liang> rib_command_done ] callback: delete_table 200 Finder not present/ready Liang> [ 2003/11/10 15:43:26 WARNING xorp_bgp:2806 BGP +266 rib_ipc_handler.cc Liang> rib_command_done ] callback: delete_table 200 Finder not present/ready Liang> UnresolvableHost from line 116 of iptuple.cc -> Unknown host Liang> [ 2003/11/10 15:43:26 ERROR xorp_rtrmgr:2803 RTRMGR +464 task.cc Liang> execute_done ] 210 Transport failed Liang> [ 2003/11/10 15:43:26 ERROR xorp_rtrmgr:2803 RTRMGR +772 task.cc Liang> task_fail ] Shutting down fatally wounded process bgp Liang> [ 2003/11/10 15:43:26 ERROR xorp_rtrmgr:2803 RTRMGR +135 Liang> master_conf_tree.cc config_done ] Startup failed (210 Transport failed) Liang> Startup failed (210 Transport failed) Liang> [ 2003/11/10 15:43:26 ERROR xorp_rtrmgr:2803 RTRMGR +323 main_rtrmgr.cc Liang> main ] rtrmgr shutting down due to error Liang> rtrmgr shutting down due to error Liang> --------------------------------------------- Liang> I use the config.boot file and change the IP address to the one assigned Liang> on the ethernet interface. Liang> Do I need configure other files? Any suggestion? Liang> Thanks! Liang> Liang Qin Liang> _______________________________________________ Liang> Xorp-hackers mailing list Liang> Xorp-hackers@icir.org Liang> http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers From lqin@sce.carleton.ca Tue Nov 11 15:06:42 2003 From: lqin@sce.carleton.ca (Liang Qin) Date: Tue, 11 Nov 2003 10:06:42 -0500 Subject: [Xorp-hackers] question about running XORP-0.5 on Linux In-Reply-To: <20062.1068497654@tigger.icir.org> References: <20062.1068497654@tigger.icir.org> Message-ID: <3FB0FB02.7070409@sce.carleton.ca> Thank you! But right now I only installed XORP on a single Linux PC, which does not connect to any other PCs. Can I still run XORP on it? Liang Atanu Ghosh wrote: >The config file that you are using still contains a reference to one >of our routers (xorp-c4000). You can see the error in the log Unknown >host. Replace xorp-c4000 with the name of your peer or the peer-ip address. > > Atanu. > >---------------------------------------- >protocols { > bgp { > bgp-id: 192.150.187.100 > local-as: 65002 > >/* >You need to replace xorp-c4000 with the name of one of your peers. >*/ > peer xorp-c4000 { > local-ip: 192.150.187.100 > peer-ip: 192.150.187.109 > as: 65000 > holdtime: 90 > next-hop: 192.150.187.100 > } > } >} >---------------------------------------- > > > >>>>>>"Liang" == Liang Qin writes: >>>>>> >>>>>> > > Liang> Hi XORP users, > Liang> I downloaded and compiled XORP 0.5 on a stand along Linux box (redhat 9.0). > > Liang> After I started rtrmgr process, finally it quit with following message: > Liang> ----------------------------------- > Liang> [ 2003/11/10 15:43:12 INFO xorp_bgp:2806 BGP +104 bgp.cc BGPMain ] > Liang> EVENT: peerlist 0 timers 2 > Liang> [ 2003/11/10 15:43:12 INFO xorp_bgp:2806 BGP +104 bgp.cc BGPMain ] > Liang> EVENT: peerlist 0 timers 2 > Liang> [ 2003/11/10 15:43:22 INFO xorp_bgp:2806 BGP +104 bgp.cc BGPMain ] > Liang> EVENT: peerlist 0 timers 2 > Liang> [ 2003/11/10 15:43:22 INFO xorp_bgp:2806 BGP +104 bgp.cc BGPMain ] > Liang> EVENT: peerlist 0 timers 2 > Liang> [ 2003/11/10 15:43:26 ERROR xorp_bgp:2806 XRL +333 xrl_pf_stcp.cc die ] > Liang> STCPRequestHandler died: life timer expired > Liang> [ 2003/11/10 15:43:26 INFO xorp_bgp:2806 BGP +104 bgp.cc BGPMain ] > Liang> EVENT: peerlist 0 timers 1 > Liang> [ 2003/11/10 15:43:26 WARNING xorp_bgp:2806 BGP +266 rib_ipc_handler.cc > Liang> rib_command_done ] callback: delete_table 200 Finder not present/ready > Liang> [ 2003/11/10 15:43:26 WARNING xorp_bgp:2806 BGP +266 rib_ipc_handler.cc > Liang> rib_command_done ] callback: delete_table 200 Finder not present/ready > Liang> [ 2003/11/10 15:43:26 WARNING xorp_bgp:2806 BGP +266 rib_ipc_handler.cc > Liang> rib_command_done ] callback: delete_table 200 Finder not present/ready > Liang> [ 2003/11/10 15:43:26 WARNING xorp_bgp:2806 BGP +266 rib_ipc_handler.cc > Liang> rib_command_done ] callback: delete_table 200 Finder not present/ready > Liang> UnresolvableHost from line 116 of iptuple.cc -> Unknown host > Liang> [ 2003/11/10 15:43:26 ERROR xorp_rtrmgr:2803 RTRMGR +464 task.cc > Liang> execute_done ] 210 Transport failed > Liang> [ 2003/11/10 15:43:26 ERROR xorp_rtrmgr:2803 RTRMGR +772 task.cc > Liang> task_fail ] Shutting down fatally wounded process bgp > Liang> [ 2003/11/10 15:43:26 ERROR xorp_rtrmgr:2803 RTRMGR +135 > Liang> master_conf_tree.cc config_done ] Startup failed (210 Transport failed) > Liang> Startup failed (210 Transport failed) > Liang> [ 2003/11/10 15:43:26 ERROR xorp_rtrmgr:2803 RTRMGR +323 main_rtrmgr.cc > Liang> main ] rtrmgr shutting down due to error > Liang> rtrmgr shutting down due to error > Liang> --------------------------------------------- > > Liang> I use the config.boot file and change the IP address to the one assigned > Liang> on the ethernet interface. > > Liang> Do I need configure other files? Any suggestion? > > Liang> Thanks! > > Liang> Liang Qin > > Liang> _______________________________________________ > Liang> Xorp-hackers mailing list > Liang> Xorp-hackers@icir.org > Liang> http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers >_______________________________________________ >Xorp-hackers mailing list >Xorp-hackers@icir.org >http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers > > > From atanu@ICSI.Berkeley.EDU Tue Nov 11 22:42:00 2003 From: atanu@ICSI.Berkeley.EDU (Atanu Ghosh) Date: Tue, 11 Nov 2003 14:42:00 -0800 Subject: [Xorp-hackers] question about running XORP-0.5 on Linux In-Reply-To: Your message of "Tue, 11 Nov 2003 10:06:42 EST." <3FB0FB02.7070409@sce.carleton.ca> Message-ID: <88183.1068590520@tigger.icir.org> >>>>> "Liang" == Liang Qin writes: Liang> Thank you! Liang> But right now I only installed XORP on a single Linux PC, which Liang> does not connect to any other PCs. Liang> Can I still run XORP on it? You should be able to comment out the peer section and this should start a bgp with no peers configured. Atanu. From edrt@citiz.net Wed Nov 12 02:41:02 2003 From: edrt@citiz.net (edrt) Date: Wed, 12 Nov 2003 10:41:2 +0800 Subject: [Xorp-hackers] HAVE_IPV6 shield Message-ID: <200311120241.hAC2fLNs042916@wyvern.icir.org> Would it be better to have all the ipv6 stuff in ipvx.hh/ipvx.cc/test_ipvx.cc all under HAVE_IPV6 shield just like what done in libcomm. Regards Edrt From atanu@ICSI.Berkeley.EDU Wed Nov 12 03:25:20 2003 From: atanu@ICSI.Berkeley.EDU (Atanu Ghosh) Date: Tue, 11 Nov 2003 19:25:20 -0800 Subject: [Xorp-hackers] HAVE_IPV6 shield In-Reply-To: Your message of "Wed, 12 Nov 2003 10:41:02 +0800." <200311120241.hAC2fLNs042916@wyvern.icir.org> Message-ID: <41632.1068607520@tigger.icir.org> >>>>> "edrt" == edrt writes: edrt> Would it be better to have all the ipv6 stuff in edrt> ipvx.hh/ipvx.cc/test_ipvx.cc all under HAVE_IPV6 shield just edrt> like what done in libcomm. No - most of our routing protocols unconditionally support IPv6 independent of whether or not the host on which the code is built supports IPv6. Atanu. From lqin@sce.carleton.ca Wed Nov 12 18:11:32 2003 From: lqin@sce.carleton.ca (Liang Qin) Date: Wed, 12 Nov 2003 13:11:32 -0500 Subject: [Xorp-hackers] question about running XORP-0.5 on Linux In-Reply-To: <88183.1068590520@tigger.icir.org> References: <88183.1068590520@tigger.icir.org> Message-ID: <3FB277D4.4050104@sce.carleton.ca> I comment out the peer section, the rtrmgr process aborted when it was processing fea: [FATAL xorp_rtrmgr:2116 RTRMGR +975 task.cc find_task] Assertion (_module_commands.find(modname) != _module_commands.end()) Liang Atanu Ghosh wrote: >>>>>>"Liang" == Liang Qin writes: >>>>>> >>>>>> > > Liang> Thank you! > Liang> But right now I only installed XORP on a single Linux PC, which > Liang> does not connect to any other PCs. > > Liang> Can I still run XORP on it? > >You should be able to comment out the peer section and this should >start a bgp with no peers configured. > > Atanu. > >_______________________________________________ >Xorp-hackers mailing list >Xorp-hackers@icir.org >http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers > > > From atanu@ICSI.Berkeley.EDU Wed Nov 12 19:47:59 2003 From: atanu@ICSI.Berkeley.EDU (Atanu Ghosh) Date: Wed, 12 Nov 2003 11:47:59 -0800 Subject: [Xorp-hackers] question about running XORP-0.5 on Linux In-Reply-To: Your message of "Wed, 12 Nov 2003 13:11:32 EST." <3FB277D4.4050104@sce.carleton.ca> Message-ID: <13371.1068666479@tigger.icir.org> Liang> I comment out the peer section, the rtrmgr process aborted Liang> when it was processing fea: Liang> [FATAL xorp_rtrmgr:2116 RTRMGR +975 task.cc find_task] Liang> Assertion (_module_commands.find(modname) != Liang> _module_commands.end()) I knew I should have tried it before suggesting this course of action:-(. The config below works for me with a dummy peer entry. There is a comment by every entry you need to change. Atanu. ---------------------------------------- interfaces { interface rl0 { /* Your interface name */ description: "control interface" vif rl0 { /* Your interface name */ address 192.150.187.108 { /* Your interface address */ prefix-length: 24 /* Your prefix length */ broadcast: 192.150.187.255 /* Your broadcast address */ } } } } protocols { bgp { bgp-id: 192.150.187.108 /* Your interface address */ local-as: 65002 peer 10.10.10.1 { local-ip: 192.150.187.108 /* Your interface address */ peer-ip: 10.10.10.1 as: 65000 holdtime: 90 next-hop: 10.10.10.2 } } } ---------------------------------------- From lqin@sce.carleton.ca Wed Nov 12 20:19:47 2003 From: lqin@sce.carleton.ca (Liang Qin) Date: Wed, 12 Nov 2003 15:19:47 -0500 Subject: [Xorp-hackers] question about running XORP-0.5 on Linux In-Reply-To: <13371.1068666479@tigger.icir.org> References: <13371.1068666479@tigger.icir.org> Message-ID: <3FB295E3.9010701@sce.carleton.ca> Thanks Atanu! Now Xorp is running. But when I run xorsh to show interface and vif, I get following message from rtrmgr process (it really returns the IP info of the interface actually): [WARNING xopr_fea XrlFeaTarget ] Handling method for ifmgr/0.1/unregister_client failed: XrlcmdError 102 Command failed interface_monitor5401 not register I checked the rtrmgr console, found some Warnings for each module (fea, bgp and rib): xorp_rtrmgr: 5357 XrlFinderTarget +376 finder_base.cc handle_finder_0_2_resolve_xrl ] handling method for finder/0.2/resovlve_xrl failed: XrlCmdrror 102 command failed Target "bgp" does not exist or is not enabled But all three modules are running. Liang Atanu Ghosh wrote: > Liang> I comment out the peer section, the rtrmgr process aborted > Liang> when it was processing fea: > > Liang> [FATAL xorp_rtrmgr:2116 RTRMGR +975 task.cc find_task] > Liang> Assertion (_module_commands.find(modname) != > Liang> _module_commands.end()) > >I knew I should have tried it before suggesting this course of >action:-(. > >The config below works for me with a dummy peer entry. There is a >comment by every entry you need to change. > > Atanu. > >---------------------------------------- >interfaces { > interface rl0 { /* Your interface name */ > description: "control interface" > vif rl0 { /* Your interface name */ > address 192.150.187.108 { /* Your interface address */ > prefix-length: 24 /* Your prefix length */ > broadcast: 192.150.187.255 /* Your broadcast address */ > } > } > } >} > >protocols { > bgp { > bgp-id: 192.150.187.108 /* Your interface address */ > local-as: 65002 > peer 10.10.10.1 { > local-ip: 192.150.187.108 /* Your interface address */ > peer-ip: 10.10.10.1 > as: 65000 > holdtime: 90 > next-hop: 10.10.10.2 > } > } >} >---------------------------------------- > > > From atanu@ICSI.Berkeley.EDU Wed Nov 12 22:16:41 2003 From: atanu@ICSI.Berkeley.EDU (Atanu Ghosh) Date: Wed, 12 Nov 2003 14:16:41 -0800 Subject: [Xorp-hackers] question about running XORP-0.5 on Linux In-Reply-To: Your message of "Wed, 12 Nov 2003 15:19:47 EST." <3FB295E3.9010701@sce.carleton.ca> Message-ID: <40470.1068675401@tigger.icir.org> >>>>> "Liang" == Liang Qin writes: Liang> Thanks Atanu! Now Xorp is running. But when I run xorsh to Liang> show interface and vif, I get following message from rtrmgr Liang> process (it really returns the IP info of the interface Liang> actually): Liang> [WARNING xopr_fea XrlFeaTarget ] Handling method for Liang> ifmgr/0.1/unregister_client failed: XrlcmdError 102 Command Liang> failed interface_monitor5401 not register Liang> I checked the rtrmgr console, found some Warnings for each Liang> module (fea, bgp and rib): Liang> xorp_rtrmgr: 5357 XrlFinderTarget +376 finder_base.cc Liang> handle_finder_0_2_resolve_xrl ] handling method for Liang> finder/0.2/resovlve_xrl failed: XrlCmdrror 102 command Liang> failed Target "bgp" does not exist or is not enabled Liang> But all three modules are running. You seem to have found a problem. In our normal test configurations we normally have peerings enabled and the show interface and vif commands work fine. We will try and figure out what the problem is and get back to you. Atanu. From atanu@ICSI.Berkeley.EDU Fri Nov 14 21:06:22 2003 From: atanu@ICSI.Berkeley.EDU (Atanu Ghosh) Date: Fri, 14 Nov 2003 13:06:22 -0800 Subject: [Xorp-hackers] question about running XORP-0.5 on Linux In-Reply-To: Your message of "Wed, 12 Nov 2003 15:19:47 EST." <3FB295E3.9010701@sce.carleton.ca> Message-ID: <21505.1068843982@tigger.icir.org> >>>>> "Liang" == Liang Qin writes: Liang> Thanks Atanu! Now Xorp is running. But when I run xorsh to Liang> show interface and vif, I get following message from rtrmgr Liang> process (it really returns the IP info of the interface Liang> actually): Liang> [WARNING xopr_fea XrlFeaTarget ] Handling method for Liang> ifmgr/0.1/unregister_client failed: XrlcmdError 102 Command Liang> failed interface_monitor5401 not register You don't need to worry about this error and it has now been removed. Liang> I checked the rtrmgr console, found some Warnings for each Liang> module (fea, bgp and rib): Liang> xorp_rtrmgr: 5357 XrlFinderTarget +376 finder_base.cc Liang> handle_finder_0_2_resolve_xrl ] handling method for Liang> finder/0.2/resovlve_xrl failed: XrlCmdrror 102 command Liang> failed Target "bgp" does not exist or is not enabled I think this error occurs when the router manager first starts bgp and bgp has not yet initialized its state. If this error happens once at the beginning of the startup process I wouldn't worry about it. Atanu. From lqin@sce.carleton.ca Mon Nov 24 17:00:14 2003 From: lqin@sce.carleton.ca (Liang Qin) Date: Mon, 24 Nov 2003 12:00:14 -0500 Subject: [Xorp-hackers] Question about callback in XORP Message-ID: <3FC2391E.6070705@sce.carleton.ca> Hi XORP users, I have a little bit difficult when I read XORP code about Callback, especially the number of parameters callback( ) functions takes. For example, in the document Callback Overview, we can see that callback( ) takes different number of parameters when different types of XorpCallbackN< > are used. Can callback( ) take arbitrary number of parameters? Thanks! Liang Qin From hodson@icir.org Mon Nov 24 17:18:08 2003 From: hodson@icir.org (Orion Hodson) Date: Mon, 24 Nov 2003 09:18:08 -0800 Subject: [Xorp-hackers] Question about callback in XORP In-Reply-To: Your message of "Mon, 24 Nov 2003 12:00:14 EST." <3FC2391E.6070705@sce.carleton.ca> Message-ID: <200311241718.hAOHI8k2042429@puma.icir.org> /-- Liang Qin wrote: | Hi XORP users, | | I have a little bit difficult when I read XORP code about Callback, | especially the number | of parameters callback( ) functions takes. For example, in the document | Callback Overview, | we can see that callback( ) takes different number of parameters when | different types of XorpCallbackN< > | are used. | | Can callback( ) take arbitrary number of parameters? All of the callback code is script generated and the maximum number of parameters is determined by arguments to the script. At present the limits are 6 bound values and 13 call-time values. If you find yourself needing larger values, the place to make the change is at the bottom of libxorp/Makefile.am. Kind Regards - Orion From avinash@cs.sunysb.edu Mon Nov 24 17:34:37 2003 From: avinash@cs.sunysb.edu (Avinash Ramanath) Date: Mon, 24 Nov 2003 12:34:37 -0500 (EST) Subject: [Xorp-hackers] Code review and Development In-Reply-To: <200311241718.hAOHI8k2042429@puma.icir.org> References: <200311241718.hAOHI8k2042429@puma.icir.org> Message-ID: Hi, I am a graduate student at the Dept of Computer Science, State University of New York at Stony Brook. I am working on the interaction between BGP and OSPF in the Zebra routing suite. I would like to contribute to the code review process and if possible even to the development process. I would appreciate if somebody could let me know how to proceed with the same. Best Regards, Avinash. From lqin@sce.carleton.ca Mon Nov 24 18:26:14 2003 From: lqin@sce.carleton.ca (Liang Qin) Date: Mon, 24 Nov 2003 13:26:14 -0500 Subject: [Xorp-hackers] Question about callback in XORP In-Reply-To: <200311241718.hAOHI8k2042429@puma.icir.org> References: <200311241718.hAOHI8k2042429@puma.icir.org> Message-ID: <3FC24D46.5070702@sce.carleton.ca> Thanks! Please look at the code copied from callback.hh. In this example callback( ) takes 1-3 arguments respectively. How can we know the function's parameter list? #include #include "config.h" #include "libxorp/callback.hh" static int sum(int x, int y) { cout << "sum(x = " << x << ", y = " << y << ")" << endl; return x + y; } int main() { // Callback to function returning "int" typedef XorpCallback0::RefPtr NoArgCallback; NoArgCallback cb1 = callback(sum, 1, 2); cout << "cb1->dispatch() returns " << cb1->dispatch() << endl; // "3" // Callback to function returning int and taking an integer argument typedef XorpCallback1 ::RefPtr OneIntArgCallback; OneIntArgCallback cb2 = callback(sum, 5); cout << "cb2->dispatch(10) returns " << cb2->dispatch(10) << endl; // 15 cout << "cb2->dispatch(20) returns " << cb2->dispatch(20) << endl; // 25 // Callback to function returning int and taking 2 integer arguments typedef XorpCallback2 ::RefPtr TwoIntArgCallback; TwoIntArgCallback cb3 = callback(sum); cout << "cb3->dispatch() returns " << cb3->dispatch(50, -50) << endl; // 0 return 0; } Orion Hodson wrote: >/-- Liang Qin wrote: >| Hi XORP users, >| >| I have a little bit difficult when I read XORP code about Callback, >| especially the number >| of parameters callback( ) functions takes. For example, in the document >| Callback Overview, >| we can see that callback( ) takes different number of parameters when >| different types of XorpCallbackN< > >| are used. >| >| Can callback( ) take arbitrary number of parameters? > >All of the callback code is script generated and the maximum number of >parameters is determined by arguments to the script. At present the limits >are 6 bound values and 13 call-time values. > >If you find yourself needing larger values, the place to make the change is at >the bottom of libxorp/Makefile.am. > >Kind Regards >- Orion > > > > > From hodson@icir.org Mon Nov 24 21:06:34 2003 From: hodson@icir.org (Orion Hodson) Date: Mon, 24 Nov 2003 13:06:34 -0800 Subject: [Xorp-hackers] Question about callback in XORP In-Reply-To: Your message of "Mon, 24 Nov 2003 13:26:14 EST." <3FC24D46.5070702@sce.carleton.ca> Message-ID: <200311242106.hAOL6Yk2046900@puma.icir.org> /-- Liang Qin wrote: | Thanks! | | Please look at the code copied from callback.hh. In this example | callback( ) takes 1-3 arguments respectively. How can | we know the function's parameter list? It's a kind of magic, and whilst it's nice to understand the magic, it's not crucial to using the callback code. The keys to the magic are function overloading, the use of templates, and in particular function templates. An explanation follows... At a high level, the callbacks in Xorp work by creating reference counted objects that typically hold a function pointer or an object pointer with a member function pointer. When dispatch() is invoked the relevant function or member function is called. There are many implementations of callback() in callback.hh and for each callback() method there is a corresponding templatized XorpCallback class. callback() methods exist for each combination of late-bound and run-time arguments for function calls and member function calls. When the compiler comes across an invocation of callback() in the code, it finds the appropriate callback() method to use and since callback() is templatized, the relevant type information is available for constructing an appropriate XorpCallback object. Here's a snippet for the two argument callback used in the example cited: /** * @short Base class for callbacks with 2 dispatch time args. * * A pointer of this type can point to any XorpCallback2 object. */ template struct XorpCallback2 { typedef ref_ptr RefPtr; XorpCallback2() {} virtual ~XorpCallback2() {} virtual R dispatch(A1, A2) = 0; }; /** * @short Callback object for functions with 2 dispatch time * arguments and 0 bound (stored) arguments. */ template struct XorpFunctionCallback2B0 : public XorpCallback2 { typedef R (*F)(A1, A2); XorpFunctionCallback2B0(F f) : XorpCallback2(), _f(f) {} R dispatch(A1 a1, A2 a2) { return (*_f)(a1, a2); } protected: F _f; }; /** * Factory function that creates a callback object targetted at a * function with 2 dispatch time arguments and 0 bound arguments. */ template typename XorpCallback2::RefPtr callback(R (*f)(A1, A2)) { return XorpCallback2::RefPtr(new XorpFunctionCallback2B0(f)); } Now, suppose as we have in the original snippet a method called sum that looks like: int sum(int a, int b); and a callback() call like: TwoIntArgCallback cb3 = callback(sum); Then the compiler searches through all the templatized callback() methods and finds the one that takes a function pointer to a function taking two arguments. This is the one above, it instantiates the method with "int" as the template argument type for R, A1, and A2. When this method is invoked it creates a XorpCallback object for a XorpFunctionCallback2B0 wrappered in a reference pointer. The reference pointer simplifies memory management, ie it's trivial to assign callback objects without worrying about memory. The ref pointer type points to the XorpCallback2. This is the base type for all callbacks returning an integer and taking 2 integer arguments to the dispatch() method, ie for : XorpCallback2 +- XorpFunctionCallback2B0 (2 arguments, 0 bound arguments) +- XorpFunctionCallback2B1 (2 arguments, 1 bound arguments) ... +- XorpFunctionCallback2B6 (2 arguments, 6 bound arguments) +- XorpMemberCallback2B0 (member function, 2 args, 0 bound) +- XorpMemberCallback2B1 (member function, 2 args, 1 bound) ... +- XorpMemberCallback2B6 (member function, 2 args, 6 bound) +- XorpConstMemberCallback2B0 (const member function, 2 args, 0 bound) +- XorpConstMemberCallback2B1 (cember function, 2 args, 1 bound) ... +- XorpConstMemberCallback2B6 (const member function, 2 args, 6 bound) So a ref pointer object to the base is able to hold any of the above types. This makes assignment flexible, as you can assign any of the above callbacks types to be held by the same reference pointer. Hopefully, this is comprehensible (?). It is a hard piece of code to understand, but it's flexiblity is very useful. - Orion From atanu@icir.org Tue Nov 25 00:41:58 2003 From: atanu@icir.org (Atanu Ghosh) Date: Mon, 24 Nov 2003 16:41:58 -0800 Subject: [Xorp-hackers] Code review and Development In-Reply-To: Message from Avinash Ramanath of "Mon, 24 Nov 2003 12:34:37 EST." Message-ID: <86223.1069720918@tigger.icir.org> Hi, You can find the current status on . In the case of BGP we have a fairly complete implementation. We are currently concentrating on testing. The critical piece missing is programmable filters. The design document for BGP . As a general principle we have tried to use KDOC with all our code . Rather than write our own OSPF implementation we took John Moy's and have started to port it to our XORP structure. We are a small team and nobody is currently working on this port. Interprocess communication in XORP is performed using XRLs . My understanding is that OSPF has an XRL interface that needs to be tested and that configuration files need to be created so that OSPF can be started from the router manager. Ultimately in XORP we intend that only the FEA (Forwarding Engine Abstraction) should send or receive packets. This would allow for example the OSPF process to run on a different computer to the one on which the interfaces exist. This is another piece of work that OSPF requires. If you would like to do some reviewing of code then take a look at our BGP implementation, taking into account the documentation and the known bugs. If you would like to write some code then continuing the OSPF port would be very helpful. Atanu. >>>>> "Avinash" == Avinash Ramanath writes: Avinash> Hi, Avinash> I am a graduate student at the Dept of Computer Science, Avinash> State University of New York at Stony Brook. I am working Avinash> on the interaction between BGP and OSPF in the Zebra Avinash> routing suite. I would like to contribute to the code Avinash> review process and if possible even to the development Avinash> process. I would appreciate if somebody could let me know Avinash> how to proceed with the same. Avinash> Best Regards, Avinash> Avinash. Avinash> _______________________________________________ Avinash> Xorp-hackers mailing list Avinash> Xorp-hackers@icir.org Avinash> http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers From edrt@citiz.net Thu Nov 27 05:28:24 2003 From: edrt@citiz.net (edrt) Date: Thu, 27 Nov 2003 13:28:24 +0800 Subject: [Xorp-hackers] _xdebug_preamble memory leak?? Message-ID: <200311270529.hAR5T0l8055611@wyvern.icir.org> Hi All, I have a question, during porting I find _xdebug_preamble malloc the preamble buf, but _xdebug_msg_va not free it after using it. Am I missing something? Edrt From pavlin@icir.org Thu Nov 27 06:20:35 2003 From: pavlin@icir.org (Pavlin Radoslavov) Date: Wed, 26 Nov 2003 22:20:35 -0800 Subject: [Xorp-hackers] _xdebug_preamble memory leak?? In-Reply-To: Message from "edrt" of "Thu, 27 Nov 2003 13:28:24 +0800." <200311270529.hAR5T0l8055611@wyvern.icir.org> Message-ID: <200311270620.hAR6KaSx046598@possum.icir.org> > Hi All, > I have a question, during porting I find _xdebug_preamble malloc the preamble buf, > but _xdebug_msg_va not free it after using it. > Am I missing something? Edrt, If the buffer you have in mind is sbuf, please note that it is defined as "static" inside _xdebug_preamble(). Hence, the first time _xdebug_preamble() is called, sbuf is allocated. Then, the next time _xdebug_preamble() is called, the previous value of sbuf will be used, and malloc() won't be called. In other words, I believe the code is fine and there is no memory leak. Regards, Pavlin From edrt@citiz.net Thu Nov 27 06:36:46 2003 From: edrt@citiz.net (edrt) Date: Thu, 27 Nov 2003 14:36:46 +0800 Subject: [Xorp-hackers] _xdebug_preamble memory leak?? Message-ID: <200311270637.hAR6b1l8056117@wyvern.icir.org> Yes, I miss the static keyword before sbuf, the code is ok. Thanks. Edrt >> Hi All, >> I have a question, during porting I find _xdebug_preamble malloc the preamble buf, >> but _xdebug_msg_va not free it after using it. >> Am I missing something? > >Edrt, > >If the buffer you have in mind is sbuf, please note that it is >defined as "static" inside _xdebug_preamble(). Hence, the first time >_xdebug_preamble() is called, sbuf is allocated. Then, the next time >_xdebug_preamble() is called, the previous value of sbuf will be >used, and malloc() won't be called. >In other words, I believe the code is fine and there is no memory leak. > >Regards, >Pavlin >_______________________________________________ >Xorp-hackers mailing list >Xorp-hackers@icir.org >http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers