From owner-freebsd-mobile Thu Aug 23 10:16:37 2001 Delivered-To: freebsd-mobile@freebsd.org Received: from ns.yogotech.com (ns.yogotech.com [206.127.123.66]) by hub.freebsd.org (Postfix) with ESMTP id 42F2C37B401; Thu, 23 Aug 2001 10:16:18 -0700 (PDT) (envelope-from nate@yogotech.com) Received: from nomad.yogotech.com (nomad.yogotech.com [206.127.123.131]) by ns.yogotech.com (8.9.3/8.9.3) with ESMTP id LAA19053; Thu, 23 Aug 2001 11:16:14 -0600 (MDT) (envelope-from nate@nomad.yogotech.com) Received: (from nate@localhost) by nomad.yogotech.com (8.8.8/8.8.8) id LAA16671; Thu, 23 Aug 2001 11:16:14 -0600 (MDT) (envelope-from nate) From: Nate Williams MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15237.14941.939157.115769@nomad.yogotech.com> Date: Thu, 23 Aug 2001 11:16:13 -0600 To: Toshihiko ARAI Cc: nate@yogotech.com (Nate Williams), freebsd-mobile@FreeBSD.org, imp@FreeBSD.org Subject: Re: Documentation for rc.conf's removable_interfaces? In-Reply-To: <200108231653.f7NGrO802605.toshi@jp.FreeBSD.org> References: <15228.2988.181554.313833@nomad.yogotech.com> <200108200357.f7K3vMn18594.toshi@jp.FreeBSD.org> <15233.22136.524384.459698@nomad.yogotech.com> <200108211348.f7LDmTh30188.toshi@jp.FreeBSD.org> <15234.48176.6699.983659@nomad.yogotech.com> <200108231653.f7NGrO802605.toshi@jp.FreeBSD.org> X-Mailer: VM 6.95 under 21.1 (patch 12) "Channel Islands" XEmacs Lucid Reply-To: nate@yogotech.com (Nate Williams) Sender: owner-freebsd-mobile@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org > > This is good. However, there is still one more problem with the file as > > it exists. If a default_router exists, it will not be used because of > > the following lines. > > > # Add default route into $static_routes > > case ${defaultrouter} in > > [Nn][Oo] | '') > > ;; > > *) > > static_routes="default ${static_routes}" > > route_default="default ${defaultrouter}" > > ;; > > esac > > > However, I'm not sure what the purpose of adding 'default' to > > static_routes is, and unfortunately 'route_default' is not used anywhere > > in the file. > > > Can you explain what is intended here? > > 'route_default' variable is used with following eval line. > Because '${i}' is element of '${static_routes}', > in this case 'route_${i}' is substituted for 'route_default'. > I referred to 'network_pass1' function of /etc/rc.network, > it is around 330th line. > > # Set up any static routes if specified > if [ -n "${static_routes}" ]; then > for i in ${static_routes}; do > eval route_args=\$route_${i} > route add ${route_args} > done > fi *lightbulb goes on* Thanks for the clarification. I understand much better now. Now, I need to figure out why it doesn't work on my box. > > ps. The below patch is good, although it may be necessary to do a route > > flush in certain cases. > > When I do hot-plug of PC-card Ethernet and USB Ethernet with > more than one environment, former route is left and may become > a problem. The same problem exists with me. > Therefore I was able to control it with > 'removable_route_flush' variable. > There is a method to add 'removable_route_flush=NO' to > /etc/defaults/rc.conf, but which is better compared with below patch? > > >> - # Clean the routing table > >> - case ${removable_route_flush} in > >> - [Nn][Oo]) > >> - ;; > >> - *) > >> - # flush beforehand, just in case.... > >> - route -n flush -inet > >> - ;; > >> - esac This means we have the potential for two new variables not (yet) in -stable. removable_interfaces (which I still don't know what it's supposed to do), and removable_route_flush, which is still not generic enough to work in all cases. In particular, in one situation, I have 2 network cards in my computer. If one type of card is removed (my test network), the routes should not be touched. However, if I remove/insert one the other cards (wireless and/or ethernet for connection to the net), I need the route added and/or removed. Having the route explicitly removed/added when I insert/remove cards does not work. However, I suspect this is not a 'common' situation, so I don't believe the code needs to support it. The code *does* need to support normal activities for laptops, and for most people I suspect that means adding/removing the default route when a network card is inserted/removed. Do others have an opinion on this? What is the default behavior 'out-of-the-box' that FreeBSD should support when a network card is inserted? For 4.4, I don't think we have time to get it working in all cases, but the current setup doesn't work in the normal case. Insertion: 1) DHCP should be supported (of course) 2) If DHCP is not used, should FreeBSD add a default route Removal 1) DHCP leases are lost 2) Should the default route be flushed (I'm not sure DHCP does this for us)? Nate To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message