[Xorp-users] How to notify the OSPF process to use FEA on a different machine?
Pavlin Radoslavov
pavlin at ICSI.Berkeley.EDU
Fri Sep 12 10:14:15 PDT 2008
Mingcy.Xu <mingcy.xu at gmail.com> wrote:
>
>
> Things are getting better after I used the command "egrep fea *.tp |egrep
> path" to find all the files including
> "%modinfo: path "fea/xorp_fea"
> and then removed this line from these files.
Please use the ssh-based script approach instead of removing the
above lines (see my previous email on the subject).
Pavlin
> [root at Lab_62 templates]# egrep fea *.tp | egrep path
> fea.tp: %modinfo: path "fea/xorp_fea";
> firewall.tp: %modinfo: path "fea/xorp_fea";
> interfaces.tp: %modinfo: path "fea/xorp_fea";
> mfea4.tp: %modinfo: path "fea/xorp_fea";
> mfea6.tp: %modinfo: path "fea/xorp_fea";
> [root at Lab_62 templates]#
>
> Note: Lab_62(10.20.1.1): rtrmgr
> Lab_59(10.20.1.2): fea
>
> But the rtrmgr can still not be started successfully. The following is the
> detailed information.
>
>
> 1. Remove line "%modinfo: path "fea/xorp_fea" " in all .tp files as
> described above.
>
>
> 2. On the rtrmgr side setup the finder server and client addresses:
>
> [root at Lab_62 templates]# env | more
> HOSTNAME=Lab_62
> TERM=vt100
> SHELL=/bin/bash
> XORP_FINDER_SERVER_ADDRESS=10.20.1.1
> XORP_FINDER_CLIENT_ADDRESS=10.20.1.1
> ...
>
> 3. On the remote fea side setup the finder server and client addresses:
>
> [root at Lab_59 templates]# env|more
> HOSTNAME=Lab_59
> TERM=vt100
> SHELL=/bin/bash
> XORP_FINDER_SERVER_ADDRESS=10.20.1.1
> XORP_FINDER_CLIENT_ADDRESS=10.20.1.2
> ...
>
> 4. Run the rtrmgr on 10.20.1.1 and enable connections from host 10.20.1.2:
> (The config.boot used is listed below.)
>
> [root at Lab_62 rtrmgr]# ./xorp_rtrmgr -a 10.20.1.2
> [ 2008/09/12 16:35:38 INFO xorp_rtrmgr:16706 IPC +477 sockutil.cc
> set_preferred_ipv4_addr ] Changing to address 10.20.1.1 for IPv4 based XRL
> communication.
> [ 2008/09/12 16:35:38 INFO xorp_rtrmgr:16706 RTRMGR +239
> master_conf_tree.cc execute ] Changed modules: interfaces, firewall, fea,
> rib, policy, ospf4
> [ 2008/09/12 16:35:38 INFO xorp_rtrmgr:16706 RTRMGR +96 module_manager.cc
> execute ] Executing module: interfaces ()
> [ 2008/09/12 16:35:40 WARNING xorp_rtrmgr:16706 XrlFinderTarget +406
> ../xrl/targets/finder_base.cc handle_finder_0_2_resolve_xrl ] Handling
> method for finder/0.2/resolve_xrl failed: XrlCmdError 102 Command failed
> Target "fea" does not exist or is not enabled.
> [ 2008/09/12 16:35:41 WARNING xorp_rtrmgr:16706 XrlFinderTarget +406
> ../xrl/targets/finder_base.cc handle_finder_0_2_resolve_xrl ] Handling
> method for finder/0.2/resolve_xrl failed: XrlCmdError 102 Command failed
> Target "fea" does not exist or is not enabled.
> [ 2008/09/12 16:35:42 WARNING xorp_rtrmgr:16706 XrlFinderTarget +406
> ../xrl/targets/finder_base.cc handle_finder_0_2_resolve_xrl ] Handling
> method for finder/0.2/resolve_xrl failed: XrlCmdError 102 Command failed
> Target "fea" does not exist or is not enabled.
> [ 2008/09/12 16:35:43 WARNING xorp_rtrmgr:16706 XrlFinderTarget +406
> ../xrl/targets/finder_base.cc handle_finder_0_2_resolve_xrl ] Handling
> method for finder/0.2/resolve_xrl failed: XrlCmdError 102 Command failed
> Target "fea" does not exist or is not enabled.
> [ 2008/09/12 16:35:44 WARNING xorp_rtrmgr:16706 XrlFinderTarget +406
> ../xrl/targets/finder_base.cc handle_finder_0_2_resolve_xrl ] Handling
> method for finder/0.2/resolve_xrl failed: XrlCmdError 102 Command failed
> Target "fea" does not exist or is not enabled.
> [ 2008/09/12 16:35:45 WARNING xorp_rtrmgr:16706 XrlFinderTarget +406
> ../xrl/targets/finder_base.cc handle_finder_0_2_resolve_xrl ] Handling
> method for finder/0.2/resolve_xrl failed: XrlCmdError 102 Command failed
> Target "fea" does not exist or is not enabled.
> [ 2008/09/12 16:35:46 WARNING xorp_rtrmgr:16706 XrlFinderTarget +406
> ../xrl/targets/finder_base.cc handle_finder_0_2_resolve_xrl ] Handling
> method for finder/0.2/resolve_xrl failed: XrlCmdError 102 Command failed
> Target "fea" does not exist or is not enabled.
>
> (Note: at this point the xorp_fea on the remoter machine was started.)
>
> [ 2008/09/12 16:35:47 INFO xorp_rtrmgr:16706 RTRMGR +96 module_manager.cc
> execute ] Executing module: firewall ()
> [ 2008/09/12 16:35:51 INFO xorp_rtrmgr:16706 RTRMGR +96 module_manager.cc
> execute ] Executing module: fea ()
> [ 2008/09/12 16:36:07 ERROR xorp_rtrmgr:16706 XRL +639 xrl_pf_stcp.cc die ]
> XrlPFSTCPSender died: Keepalive timeout
> [ 2008/09/12 16:36:07 ERROR xorp_rtrmgr:16706 RTRMGR +1400 task.cc
> execute_done ] 210 Transport failed
> [ 2008/09/12 16:36:07 ERROR xorp_rtrmgr:16706 RTRMGR +1998 task.cc
> task_fail ] Shutting down fatally wounded process (fea)
> [ 2008/09/12 16:36:07 INFO xorp_rtrmgr:16706 RTRMGR +171 module_manager.cc
> terminate ] Terminating module: fea
> [ 2008/09/12 16:36:07 ERROR xorp_rtrmgr:16706 RTRMGR +681
> master_conf_tree.cc commit_pass2_done ] Commit failed: 210 Transport failed
> [ 2008/09/12 16:36:07 ERROR xorp_rtrmgr:16706 RTRMGR +251
> master_conf_tree.cc config_done ] Configuration failed: 210 Transport failed
> [ 2008/09/12 16:36:07 INFO xorp_rtrmgr:16706 RTRMGR +2228 task.cc run_task
> ] No more tasks to run
> [ 2008/09/12 16:36:07 INFO xorp_rtrmgr:16706 RTRMGR +171 module_manager.cc
> terminate ] Terminating module: firewall
> [ 2008/09/12 16:36:07 INFO xorp_rtrmgr:16706 RTRMGR +171 module_manager.cc
> terminate ] Terminating module: interfaces
> [root at Lab_62 rtrmgr]#
>
>
> 5.Run the fea on 10.20.1.2:
>
> [root at Lab_59 fea]# ./xorp_fea
> [ 2008/09/12 15:32:48 INFO xorp_fea IPC ] Changing to address 10.20.1.2 for
> IPv4 based XRL communication.
> [ 2008/09/12 15:32:48 INFO xorp_fea IPC ] Changing to address 10.20.1.2 for
> IPv4 based XRL communication.
> [ 2008/09/12 15:32:48 INFO xorp_fea IPC ] Changing to address 10.20.1.2 for
> IPv4 based XRL communication.
> [ 2008/09/12 15:32:48 INFO xorp_fea IPC ] Changing to address 10.20.1.2 for
> IPv4 based XRL communication.
> [ 2008/09/12 15:32:49 INFO xorp_fea MFEA ] MFEA enabled
> [ 2008/09/12 15:32:49 INFO xorp_fea MFEA ] CLI enabled
> [ 2008/09/12 15:32:49 INFO xorp_fea MFEA ] CLI started
> [ 2008/09/12 15:32:49 INFO xorp_fea MFEA ] MFEA enabled
> [ 2008/09/12 15:32:49 INFO xorp_fea MFEA ] CLI enabled
> [ 2008/09/12 15:32:49 INFO xorp_fea MFEA ] CLI started
> (Note: the xorp_finder was not started manually on this machine. So the
> above message showed the fea had found its finder server on another
> machine.)
>
>
>
> At this point, the rtrmgr host lost its connection to the fea host. The
> connection can be established again only after the fea host is rebooted(this
> is similar when I used the script approach.).
>
>
>
> The config.boot used:
>
> /* $XORP: xorp/rtrmgr/config/ospfv2.boot,v 1.1 2007/08/29 06:49:43 pavlin
> Exp $ */
>
> policy {
> policy-statement connected {
> term export {
> from {
> protocol: "connected"
> }
> }
> }
> }
>
> interfaces {
>
> interface eth0 {
> disable: false
> discard: false
> vif eth0 {
> disable: false
> address 10.20.1.1 {
> prefix-length: 24
> broadcast: 10.20.1.255
> disable: false
> }
> }
> }
>
> interface eth1 {
> disable: false
> discard: false
> vif eth1 {
> disable: false
> address 10.30.1.1 {
> prefix-length: 24
> broadcast: 10.30.1.255
> disable: false
> }
> }
> }
>
> }
>
> fea {
> unicast-forwarding4 {
> disable: false
> }
> }
>
> protocols {
>
> ospf4 {
> router-id: 10.20.1.1
> area 0.0.0.0 {
> interface eth0 {
> link-type: "broadcast"
> vif eth0 {
> address 10.20.1.1 {
> disable: false
> }
> }
> }
>
> interface eth1 {
> link-type: "broadcast"
> vif eth1 {
> address 10.30.1.1 {
> disable: false
> }
> }
> }
>
> }
>
> traceoptions {
> flag {
> all {
> disable: false
> }
> }
> }
>
> export: "connected"
> }
> }
>
>
>
>
>
>
> -----Original Message-----
> From: Pavlin Radoslavov [mailto:pavlin at ICSI.Berkeley.EDU]
> Sent: Friday, September 12, 2008 2:51 AM
> To: Mingcy.Xu
> Cc: 'Pavlin Radoslavov'
> Subject: Re: [Xorp-users] How to notify the OSPF process to use FEA on a
> different machine?
>
>
> Thank you for the detailed information.
> It looks like the issue is that the xorp_fea process was still started
> locally.
> I think the reason is because more than one *.tp template file can actually
> start the fea. Hence, you would need to do the same
> "%modinfo: path ..." change/removal for all files:
>
> egrep fea *.tp |egrep path
>
> You shouldn't replace xorp_fea with xorp_static_routes, so you should try
> removing the line.
>
> I wonder why replacing xorp_fea with the script didn't work for you.
> Later this afternoon I will do some experiments to see what happens.
>
> Pavlin
>
> P.S. In general, unless you have reasons to keep things private, I'd
> recommend that you send XORP-related emails to one of the XORP mailing
> lists, so other folks can have the opportunity to provide
> (better) answer and/or they can benefit from the answers.
>
> Mingcy.Xu <mingcy.xu at gmail.com> wrote:
>
> > Hi Pavlin,
> >
> > I am very grateful to you for taking your time to help me. I have
> > followed your guide to do the experiment but surprisingly it does not
> > work out. I guess there must be something I did wrong. I have tried
> > but can not figure it out. So I hope you could give me more clues. The
> > following are the details about the experiment.
> >
> >
> > Host 20.1.1.1: Run xorp_rtrmgr (the config.boot used is listed below)
> > Host 20.1.1.2: Run xorp_fea
> > /////////////////////////////////////////////////////////////
> >
> >
> >
> > Step 1: For xorp_rtrmgr,replace "%modinfo: path" data in
> > /etc/templates/fea.tp with "static_routes/xorp_static_routes":
> > ....
> > fea {
> > %help: short "Configure the Forwarding Engine
> > Abstraction";
> > %modinfo: provides fea;
> > %modinfo: depends firewall;
> > %modinfo: path "static_routes/xorp_static_routes";
> > %modinfo: default_targetname "fea";
> >
> > Also tried:
> >
> > ....
> > fea {
> > %help: short "Configure the Forwarding Engine
> > Abstraction";
> > %modinfo: provides fea;
> > %modinfo: depends firewall;
> > %modinfo: default_targetname "fea";
> >
> > (i.e,just remove the line "%modinfo: path".the result seems to make
> no
> > difference though.)
> > /////////////////////////////////////////////////////////////
> >
> >
> >
> > Step 2: For xorp_rtrmgr,set required environments :
> > [root at 20.1.1.1 ~]# env
> > ....
> > SHELL=/bin/bash
> > XORP_FINDER_SERVER_ADDRESS=20.1.1.1
> > XORP_FINDER_CLIENT_ADDRESS=20.1.1.1
> > ....
> > /////////////////////////////////////////////////////////////
> >
> >
> >
> > Step 3: For xorp_fea,set required environments :
> > [root at 20.1.1.2 ~]# env
> > SHELL=/bin/bash
> > XORP_FINDER_SERVER_ADDRESS=20.1.1.1
> > XORP_FINDER_CLIENT_ADDRESS=20.1.1.2
> > ..........
> > /////////////////////////////////////////////////////////////
> >
> >
> > Step 4: Run xorp_rtrmgr:
> > [root at 20.1.1.1 rtrmgr]# ./xorp_rtrmgr -a 20.1.1.2 >debug [ 2008/09/11
> > 16:52:47 INFO xorp_rtrmgr:2878 IPC +477 sockutil.cc
> > set_preferred_ipv4_addr ] Changing to address 20.1.1.1 for IPv4 based
> > XRL communication.
> > [ 2008/09/11 16:52:47 INFO xorp_rtrmgr:2878 RTRMGR +239
> > master_conf_tree.cc execute ] Changed modules: interfaces, firewall,
> > fea, rib, policy, ospf4 [ 2008/09/11 16:52:47 INFO xorp_rtrmgr:2878
> > RTRMGR +96 module_manager.cc execute ] Executing module: interfaces
> > (fea/xorp_fea) [ 2008/09/11 16:52:49 INFO xorp_rtrmgr:2878 RTRMGR +96
> > module_manager.cc execute ] Executing module: firewall (fea/xorp_fea)
> > [ 2008/09/11 16:52:53 INFO xorp_rtrmgr:2878 RTRMGR +96
> > module_manager.cc execute ] Executing module: fea
> > (static_routes/xorp_static_routes)
> > [ 2008/09/11 16:52:59 INFO xorp_rtrmgr:2878 RTRMGR +96
> > module_manager.cc execute ] Executing module: rib (rib/xorp_rib) [
> > 2008/09/11 16:53:01 INFO xorp_rtrmgr:2878 RTRMGR +96
> > module_manager.cc execute ] Executing module: policy
> > (policy/xorp_policy) [ 2008/09/11 16:53:03 INFO xorp_rtrmgr:2878
> > RTRMGR +96 module_manager.cc execute ] Executing module: ospf4
> > (ospf/xorp_ospfv2) [ 2008/09/11 16:53:05 INFO xorp_rtrmgr:2878 RTRMGR
> > +2228 task.cc run_task ] No more tasks to run
> >
> > When xorp_fea invoked at 20.1.1.2,the following two lines came up:
> > [ 2008/09/11 16:53:50 INFO xorp_rtrmgr:2878 RTRMGR +275
> > module_manager.cc module_exited ] Module normal exit: fea [ 2008/09/11
> > 16:53:50 ERROR xorp_rtrmgr:2878 LIBXORP +717 asyncio.cc
> > complete_transfer ] Write error 104
> > /////////////////////////////////////////////////////////////
> >
> >
> > [root at 20.1.1.1 ~]# ps -a
> > PID TTY TIME CMD
> > 2878 pts/0 00:00:01 xorp_rtrmgr
> > 2879 pts/0 00:00:00 xorp_fea
> > 2882 pts/0 00:00:00 xorp_rib
> > 2883 pts/0 00:00:00 xorp_policy
> > 2885 pts/0 00:00:00 xorp_ospfv2
> > 2890 pts/1 00:00:00 ps
> > /////////////////////////////////////////////////////////////
> >
> >
> >
> > Step 5: Run xorp_fea:
> > [root at 20.1.1.2 fea]# ./xorp_fea
> > [ 2008/09/11 15:51:14 INFO xorp_fea IPC ] Changing to address 20.1.1.2
> > for
> > IPv4 based XRL communication.
> > [ 2008/09/11 15:51:14 INFO xorp_fea IPC ] Changing to address 20.1.1.2
> > for
> > IPv4 based XRL communication.
> > [ 2008/09/11 15:51:14 INFO xorp_fea IPC ] Changing to address 20.1.1.2
> > for
> > IPv4 based XRL communication.
> > [ 2008/09/11 15:51:14 INFO xorp_fea IPC ] Changing to address 20.1.1.2
> > for
> > IPv4 based XRL communication.
> > [ 2008/09/11 15:51:14 INFO xorp_fea MFEA ] MFEA enabled [ 2008/09/11
> > 15:51:14 INFO xorp_fea MFEA ] CLI enabled [ 2008/09/11 15:51:14 INFO
> > xorp_fea MFEA ] CLI started [ 2008/09/11 15:51:14 INFO xorp_fea MFEA ]
> > MFEA enabled [ 2008/09/11 15:51:14 INFO xorp_fea MFEA ] CLI enabled [
> > 2008/09/11 15:51:14 INFO xorp_fea MFEA ] CLI started [ 2008/09/11
> > 15:51:14 FATAL xorp_fea:2610 MFEA +519 xrl_mfea_node.cc
> > cli_manager_client_send_add_cli_command_cb ] Cannot add a command to
> > CLI
> > manager: 102 Command failed Cannot install command 'show mfea': Error
> > installing 'show mfea' on '<ROOT>': Command 'mfea' already installed
> > Aborted /////////////////////////////////////////////////////////////
> >
> >
> >
> >
> >
> > /////////////////////////////////////////////////////////////
> > the config.boot used at 20.1.1.1:
> >
> > /* $XORP: xorp/rtrmgr/config/ospfv2.boot,v 1.1 2007/08/29 06:49:43
> > pavlin Exp $ */
> >
> > interfaces {
> >
> > interface eth0 {
> > disable: false
> > discard: false
> > vif eth0 {
> > disable: false
> > address 20.1.1.1 {
> > prefix-length: 24
> > broadcast: 20.1.1.255
> > disable: false
> > }
> > }
> > }
> >
> >
> > interface eth1 {
> > disable: false
> > discard: false
> > vif eth1 {
> > disable: false
> > address 30.1.1.1 {
> > prefix-length: 24
> > broadcast: 30.1.1.255
> > disable: false
> > }
> > }
> > }
> >
> > }
> >
> > fea {
> > unicast-forwarding4 {
> > disable: false
> > }
> > }
> >
> >
> > /*
> > plumbing{
> > mfea4{
> > disable: true
> > }
> > mfea6{
> > disable: true
> > }
> > }
> > */
> >
> >
> > protocols {
> >
> > ospf4 {
> > router-id: 30.1.1.1
> > area 0.0.0.0 {
> > interface eth0 {
> > link-type: "broadcast"
> > vif eth0 {
> > address 20.1.1.1 {
> > disable: false
> > }
> > }
> > }
> >
> > interface eth1 {
> > link-type: "broadcast"
> > vif eth1 {
> > address 30.1.1.1 {
> > disable: false
> > }
> > }
> > }
> >
> > }
> >
> >
> > traceoptions {
> > flag {
> > all {
> > disable: false
> > }
> > }
> > }
> > }
> > }
> > /////////////////////////////////////////////////////////////
> >
> >
> > I have also tried the script way, but failed either. The xorp_fea does
> > be invoked by the remote xorp_rtrmgr,but exit after about 20 seconds.
> >
> > I saved the following script as file xorp_fea and replaced the one at
> > xorp-1.5/fea/, and made sure that the fea.tp stay unchanged.
> >
> > #!/bin/sh
> > #
> > ssh 20.1.1.2 env XORP_FINDER_SERVER_ADDRESS=20.1.1.1
> > XORP_FINDER_CLIENT_ADDRESS=20.1.1.2 /home/Martin/xorp-1.5/fea/xorp_fea
> >
> >
> >
> >
> > -----Original Message-----
> > From: Pavlin Radoslavov [mailto:pavlin at ICSI.Berkeley.EDU]
> > Sent: Thursday, September 11, 2008 1:07 AM
> > To: Mingcy.Xu
> > Cc: Xorp-Users
> > Subject: Re: [Xorp-users] How to notify the OSPF process to use FEA on
> > a different machine?
> >
> > Mingcy.Xu <mingcy.xu at gmail.com> wrote:
> >
> > > Hi,
> > >
> > > As described in the FEA document, the forwarding plane may be
> > > distributed across multiple machines. So it must be possible to run
> > > the OSFP process on one machine with its FEA disabled, and to run
> > > its associated FEA on another machine.
> > >
> > > But how to configure this? How to write the configuration file? It
> > > seems that no XORP documents have covered this. Anybody can help me?
> >
> > You configure XORP as usual, and you need to do a bit of extra work to
> > start the FEA on a remote machine.
> >
> > Please see the following email for details:
> > http://mailman.icsi.berkeley.edu/pipermail/xorp-users/2007-October/002
> > 134.ht
> > ml
> >
> > Note that the example in that email is how to run static_routes on a
> > remote machine, but the solution is basically same for running the
> > FEA. A small clarification re. the instructions: the sample script
> > that is at the end of the above email should be named fea/xorp_fea,
> > and the real xorp_fea binary should be placed on the remote host.
> >
> > Please let us know how it goes.
> >
> > Pavlin
>
> _______________________________________________
> Xorp-users mailing list
> Xorp-users at xorp.org
> http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-users
More information about the Xorp-users
mailing list