[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