Hijacking this thread, cuZ now I am worried . . . .

> On Mon, Nov 28, 2005 at 11:46:56PM -0800, David Ulevitch wrote:
> > I'd like to hear how people are using OpenOSPFd

I will prbly use OpenOSPFd in the future, but at the moment, my question
is about using OpenBGPd and multiple lines from the same provider.

I am getting 4 T1s from a single provider.  Issues with local telco
"facilities" for T3's and other things are causing me problems with
getting anything different.

I am going to end up with something like this:
san0-\
san1-\\ all connected to a single provider 
san2-//
san3-/

Now, I assume I will have a single BGP session with them.  (I have very
little information for lines that are supposed to be installed tomorrow
morning at 9am).  

Right now I have a cisco 3640 that has 2 T1's from AT&T and 2 from
Sprint, it has enough trouble with those which is why I want to replace
it with an OpenBSD box.  I am going to have an iBGP session with the
3640 and an eBGP session with my new provider.  

I will be adding 20Mb over ethernet at some point in the fairly near future
(if they can ever get it installed) and will hopefully be getting rid of
the 3640 at that point.

The OpenBSD router will not be doing any NAT, it will be passing public IPs.


This is what has me worried:
On Tue, Nov 29, 2005 at 03:33:07PM +0100, Claudio Jeker wrote:
> There is no kernel support for multipath routing.


I want to load balancing across those 4 T1s and it is sounding like I
will not be able to do that and will have to figure out how to get these
4 new lines into my old cisco router.

Unfortunately trunk(4) doesn't work with san interfaces :-( and that is
how it looked possible to do the bonding/inverse muxing that I was going
for.  

$ ifconfig trunk0 trunkport san0 trunkport san1
ifconfig: SIOCSTRUNKPORT: Protocol not supported

It would be really kewl to use the trunk(4) interface for the BGP
peer address, since it now does failover, it would be up as long as any
individual lines were up.  It would be even kewler if it would be able
to change the weighting on that interface depending on the number of
lines in the trunk, but I guess I am dreaming again.  

I guess I am looking for something like 'ip load-sharing per-packet' in
cisco terms.  But my real question is:  How do I get OpenBSD to treat
those 4 T1s as a single line and share the load across them?  

or, how do I get a reasonable approximation from OpenBSD?


Also, with those 4 T1s, I want to make sure that in case any of the 4 go down,
the BGP session will stay up.  With a cisco box, I just bind the session
to a loopback address, add routes for each interface and it will choose
one of the interfaces that is up to get to the destination.  How do I do
this with OpenBSD?

Will the BGP session just work when I solve the load balancing issue?

or do I have to do weird things with ifstated(8) (like 16 states for the
4 lines and lots of route add/delete statements)?  

or something with 'route-to' in pf?
http://marc.theaimsgroup.com/?l=openbsd-misc&m=112831360613745&w=2

This seems to work in my test environment:
# t1s is an interface group containing all of the links to that provider
pass out on t1s route-to { \
        (san0 10.35.0.2) \
        (san1 10.35.1.2) \
        (san2 10.35.2.2) \
        (san3 10.35.3.2) \
} round-robin keep state
pass in  on san0 reply-to (san0 10.35.0.2) keep state
pass in  on san1 reply-to (san1 10.35.1.2) keep state
pass in  on san2 reply-to (san2 10.35.2.2) keep state
pass in  on san3 reply-to (san3 10.35.3.2) keep state


l8rZ,
-- 
andrew - ICQ# 253198 - JID: [EMAIL PROTECTED]
     Proud member: http://www.mad-techies.org

BOFH excuse of the day: telnet: Unable to connect to remote host:
    Connection refused

Reply via email to