Date: Wed, 1 Oct 2003 14:21:52 -0700 (PDT) From: Shon Elliott <shon@misproductions.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: i386/57479: FreeBSD Not in compliance with RFC 1122, Cannot have multiple 0.0.0.0 gateways. This breaks programs like Zebra. Message-ID: <200310012121.h91LLqHr047498@tsunami.misproductions.com> Resent-Message-ID: <200310012130.h91LUB0w089636@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 57479 >Category: i386 >Synopsis: FreeBSD Not in compliance with RFC 1122, Cannot have multiple 0.0.0.0 gateways. This breaks programs like Zebra. >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-i386 >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Oct 01 14:30:11 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Shon Elliott >Release: FreeBSD 4.8-RELEASE-p4 i386 >Organization: MiS Productions >Environment: System: FreeBSD tsunami.misproductions.com 4.8-RELEASE-p4 FreeBSD 4.8-RELEASE-p4 #23: Thu Sep 11 10:26:11 PDT 2003 root@tsunami.misproductions.com:/usr/obj/usr/src/sys/TSUNAMI i386 >Description: FreeBSD will not let you support multiple 0.0.0.0/0 gateways in the kernel routing table. This breaks programs like Zebra, when using BGP to automatically adjust default gateway in case a link goes down on a multi-connected system. This also effects things such as how FreeBSD responds to incoming IP packets. For example, you have two different network addresses for the machine 10.1.1.2/29 and 10.23.1.2/29. Whichever default gateway is set to, the other block will not answer. >How-To-Repeat: Get a multi-homed machine on a network, say one ethernet card to a ADSL line, and one ethernet card to a cable line. Set the default gateway to the DSL Gateway. Try to come in on the cable IP from outside the network. You will not be able to, as it is trying to send the information back out the DSL gateway when it can't. trying to add more than one Default route to the kernel routing table makes "add net 0.0.0.0: gateway 10.23.1.1: File exists" type messages. according to RFC 1122 an OS >MUST< be able to support multiple 0.0.0.0/0 paths. FreeBSD fails on this. See section 3.3.1.2 from RFC 1122. Excerpt from RFC states: When there is no route cache entry for the destination host address (and the destination is not on the connected network), the IP layer MUST pick a gateway from its list of "default" gateways. The IP layer >MUST< support multiple default gateways. and excerpt from 1.3.2 Requirements: In this document, the words that are used to define the significance of each particular requirement are capitalized. * "MUST" This word or the adjective "REQUIRED" means that the item is an absolute requirement of the specification. >Fix: There is no known workaround that I know of for FreeBSD. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200310012121.h91LLqHr047498>