i386/57479: FreeBSD Not in compliance with RFC 1122, Cannot have multiple 0.0.0.0 gateways. This breaks programs like Zebra.

Pawel Malachowski pawmal-posting at freebsd.lublin.pl
Fri Oct 3 03:10:20 PDT 2003


The following reply was made to PR i386/57479; it has been noted by GNATS.

From: Pawel Malachowski <pawmal-posting at freebsd.lublin.pl>
To: Shon Elliott <shon at misproductions.com>
Cc: FreeBSD-gnats-submit at freebsd.org
Subject: Re: i386/57479: FreeBSD Not in compliance with RFC 1122, Cannot have multiple 0.0.0.0 gateways. This breaks programs like Zebra.
Date: Fri, 3 Oct 2003 12:03:26 +0200

 On Wed, Oct 01, 2003 at 02:21:52PM -0700, Shon Elliott wrote:
 
 > >Description:
 > 	FreeBSD will not let you support multiple 0.0.0.0/0 gateways in the kernel routing table. This breaks programs
 
 Actually, it is not possible to assign two identical routes with different
 gateways:
 
 # route add 10/8 x.x.x.x
 add net 10: gateway x.x.x.x
 # route add 10/8 y.y.y.y
 route: writing to routing socket: File exists
 add net 10: gateway y.y.y.y: File exists
 
 
 One can only try with more specific route:
 
 # route add 10/9 y.y.y.y
 add net 10: gateway y.y.y.y
 
 So, that's why it is also not possible to set two 0/0 routes.
 
 >         like Zebra, when using BGP to automatically adjust default gateway in case a link goes down on a multi-connected
 
 I know there are people forced to use Linux on their multihomed gateways
 because of such behaviour.
 
 I think it should be not only possible to set two or more equal routes,
 but also to load-balance traffic, like this:
 
 	route add 10/8 x.x.x.x
 	route add 10/8 x.x.x.x
 	route add 10/8 y.y.y.y
 	// to send 33% of trafic to 10/8 via y.y.y.y and 67% via x.x.x.x
 	// and 100% of traffic to 10/8 via y.y.y.y if x.x.x.x fails.
 
 
 Step behind, having more than one routing table to easy deal with source
 based policy routing would be great. Some kind of this can be implemented
 using ipfw(8) `fwd', but this can't be integrated with routing daemons. ;)
 And using ipfw(8) classifiers to hook packages to different routing tables
 is like a dream. ;)
 
 
 -- 
 Pawe³ Ma³achowski


More information about the freebsd-i386 mailing list