Multiple routing tables in action...

Max Laier max at love2party.net
Tue Apr 29 18:47:26 UTC 2008


On Tuesday 29 April 2008 20:19:14 Julian Elischer wrote:
> Paul wrote:
> > I've been waiting for something like this.  Linux has done policy
> > routing for many many years and is very good at it.  I prefer to use
> > FreeBSD for routing though and this is a feature I have been waiting
> > for :) Mainly to use with BGP , having multiple BGP routing tables.  
> > I would like it to be similar to Cisco's VRF or Juniper's routing
> > instance, but maybe that's asking too much.  We use it on our
> > hardware routers for implementations such as having multiple bgp
> > route tables and having customer bandwidth pricing change based on
> > which routing table their traffic gets , say.. value customers,
> > premium customers, customers who want only certain carriers in their
> > bandwidth mix, etc.   Would be fun to have support for FBSD with
> > quagga/openbgpd etc.. and be able to use dscp for marking or any
> > other policy based rule (source ip for instance).
> >
> > Thanks Julian.. This is a step forward in the right direction :)
>
> The interaction with routing daemons is something I don't know
> enough about. I need someone who knows routing daemons to tell
> how to correctly tweek code that sends routing events.
>
> I think it is possible that events from a particular FIB should only
> be reported to routing sockets that are associated with that FIB.
> but I'm not sure about this.
>
> This would mean running a separate instance of the routing daemon for
> each FIB (VRF?).  Does this sound right to people?

OpenBSD "added"[1] a field to the rt_msghdr to indicate/select the 
source/destination table.  If we were to do the same at least OpenBGPB 
should work with fairly minimal changes.

I think it's a sensible approach, too.  A routing daemon wouldn't have to 
select over a dozen sockets to do what is needed and it will be much 
easier as well.  If easily done, a way to "bind" a route socket to a 
table id would also be nice as it would easily make things work with 
multi table oblivious daemons.

[1]http://www.openbsd.org/cgi-bin/cvsweb/src/sys/net/route.h.diff?r1=1.44&r2=1.45&f=h

> > Julian Elischer wrote:
> >> Wilkinson, Alex wrote:
> >>>     0n Sat, Apr 26, 2008 at 08:44:30AM -0700, Julian Elischer wrote:
> >>>     >A little progress report
> >>>     >From a recently installed (6.3) machine.... (plus patches)
> >>>
> >>> Ok, being ignorant to this, possibly a silly question:
> >>>
> >>>   Why would i want or need multiple routing tables ?
> >>
> >> any time you wnat to base a route upon something other than just
> >> the destination address.  It's basically called "Policy based
> >> routing".
> >>
> >>
> >> Trivial examples:
> >> You have two ISPs and you want to send all SMTP via one link and
> >> all other traffic via the other.
> >>
> >> You have 3 ISPs and want all traffic from the accounting department
> >> to go via a particular path (that is encrypted) but regular office
> >> chatter to go via another.
> >>
> >> I have other more complex examples in my work.
> >>
> >> I'm sure others have more solid examples as well.
> >>
> >> google for policy routing.
> >> _______________________________________________
> >> freebsd-net at freebsd.org mailing list
> >> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> >> To unsubscribe, send any mail to
> >> "freebsd-net-unsubscribe at freebsd.org"
>
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"



-- 
/"\  Best regards,                      | mlaier at freebsd.org
\ /  Max Laier                          | ICQ #67774661
 X   http://pf4freebsd.love2party.net/  | mlaier at EFnet
/ \  ASCII Ribbon Campaign              | Against HTML Mail and News


More information about the freebsd-net mailing list