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