[Xorp-hackers] [Xorp-cvs] XORP cvs commit: xorp/etc/templatesxorp/static_routes xorp/xrl/interfaces xorp/xrl/targets

Pavlin Radoslavov pavlin at icir.org
Tue Jan 23 15:22:45 PST 2007


> Pavlin - thanks for enhancing XORP!  I do agree with Hasso that the current
> implementation seems overly complex, plus I haven't heard the "term"
> qualified route used in this context, so that may be confusing to users.

I just sent a reply to Hasso's email which addresses the front-end
changes and the reason that "qualified-next-hop" was used.

> Another issue is that this solution appears to only work for a static route
> backing up another static route.  Most implementations use admin cost for
> the static route metric which allows a static route to be created with a
> higher admin cost than say OSPF.  This is important for features like
> dial-on-demand for failover protection.

To have something like this we need to be able to change the admin
distance per protocol (inside the RIB). Accidentally, few days ago
Bruce added a patch to the relevant Bugzilla entry:

http://www.xorp.org/bugzilla/show_bug.cgi?id=536

Note that this patch doesn't contain the rib rtrmgr template
changes, because we need to be very careful how we provide the interface
to the user. Also, with this patch the admin distance can be changed only
before the particular protocol has started. E.g., the user won't be
able to change the OSPF admin distance after the OSPF protocol has
been started. After the current patch is committed and tested we can
think of addressing this issue as well.

Regards,
Pavlin

> 
> -mike
> 
> > -----Original Message-----
> > From: xorp-hackers-bounces at icir.org 
> > [mailto:xorp-hackers-bounces at icir.org] On Behalf Of Hasso Tepper
> > Sent: Tuesday, January 23, 2007 2:52 AM
> > To: xorp-hackers at icir.org
> > Cc: Pavlin Radoslavov
> > Subject: Re: [Xorp-hackers] [Xorp-cvs] XORP cvs commit: 
> > xorp/etc/templatesxorp/static_routes xorp/xrl/interfaces 
> > xorp/xrl/targets
> > 
> > Pavlin Radoslavov wrote:
> > > Log message:
> > > 	Implement support for floating static routes (i.e., 
> > static routes
> > > 	for the same prefix with different next hop and metrics).
> > > 	
> > > 	A floating static route (also called "qualified" by some router
> > > 	vendors) can be added with a configuration like:
> > > 	
> > > 	protocols {
> > > 	    static {
> > > 	        route 10.10.0.0/16 {
> > > 	            next-hop: 1.1.1.1
> > > 	            metric: 1
> > > 	            qualified-next-hop 1.1.1.2 {
> > > 	                metric: 10
> > > 	            }
> > > 	        }
> > > 	        interface-route 10.30.30.0/24 {
> > > 	            next-hop-interface: "rl0"
> > > 	            next-hop-vif: "rl0"
> > > 	            next-hop-router: 1.2.3.4
> > > 	            metric: 1
> > > 	            qualified-next-hop-interface rl0 {
> > > 	                qualified-next-hop-vif rl0 {
> > > 	                    next-hop-router: 5.6.7.8
> > > 	                    metric: 10
> > > 	                }
> > > 	            }
> > > 	        }
> > > 	    }
> > > 	}
> > 
> > Why so complicated? It's already UI nightmare, you shouldn't 
> > make it worse.
> > 
> > protocols {
> >     static {
> >         route 10.10.0.0/16 {
> >             next-hop 1.1.1.1 {
> >                 metric: 1
> >             }
> >             next-hop 1.1.1.2 {
> >                 metric: 10
> >             }
> >         }
> >         interface-route 10.30.30.0/24 {
> >             next-hop 1.2.3.4 {
> >                 next-hop-interface: "rl0"
> >                 next-hop-vif: "rl0"
> >                 metric: 1
> >             }
> >             next-hop 5.6.7.8 {
> >                 next-hop-interface: "rl0"
> >                 next-hop-vif: "rl0"
> >                 metric: 1
> >             }
> >         }
> >     }
> > }
> > 
> > Note, that I actually don't understand why there is separate 
> > interface route node at all. It should be same route note 
> > just handled in the backend - if there is interface 
> > specified, it's interface route, if there isn't interface 
> > specified, it isn't interface route.
> > 
> > protocols {
> >     static {
> >         route 10.10.0.0/16 {
> >             next-hop 1.1.1.1 {
> >                 metric: 1
> >             }
> >             next-hop 1.1.1.2 {
> >                 interface "rl0" {
> >                     vif: "rl0"
> >                 }
> >                 metric: 10
> >             }
> >         }
> >     }
> > }
> > 
> > 
> > with my best wishes,
> > 
> > --
> > Hasso Tepper
> > 
> > _______________________________________________
> > Xorp-hackers mailing list
> > Xorp-hackers at icir.org
> > http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers
> > 
> 
> 
> _______________________________________________
> Xorp-hackers mailing list
> Xorp-hackers at icir.org
> http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers



More information about the Xorp-hackers mailing list