Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 01 Apr 2007 11:48:59 +0100
From:      "Bruce M. Simpson" <bms@FreeBSD.org>
To:        Da Rock <rock_on_the_web@hotmail.com>
Cc:        freebsd-net@freebsd.org
Subject:   Re: intel 802.11 2200BG routing
Message-ID:  <460F8E1B.80904@FreeBSD.org>
In-Reply-To: <BAY143-F298A0135E27C4B5A976AF28D610@phx.gbl>
References:  <BAY143-F298A0135E27C4B5A976AF28D610@phx.gbl>

next in thread | previous in thread | raw e-mail | index | archive | help
Da Rock wrote:
>
> So I could use some guidance as to what I can do to rectifiy this 
> problem. I have 2 goals:
> 1. setup iwi to start on boot, and attach to my ap whenever its in range.
> 2. make sure iwi stays connected without manually monitoring it.
> 3. prioritise my routes via the rl0 and iwi if's so that cable is used 
> over wifi, but both can be used to access the network. 

Umm, that's 3 goals. :^) The short answer is, you can't do what you're 
trying to do, yet.

You can cut over without rebooting, you just need to remember to kill 
off all dhclient processes and manually remove the default route, as in 
FreeBSD all forwarding entries ('routes') reference an interface 
pointer, and the PRC_IFDOWN handler will not touch routes marked RTF_STATIC.

No one as far as I know has rolled a 'cutover' script. What would be 
really useful is a port which can do this cutover in a more general way 
until the stack is changed. This isn't that different from say Microsoft 
Windows where a manual cutover is needed, although the OS having a 
multipath FIB ('routing table') helps.

The long answer is, it's possible, and it requires some things in the 
network stack to be carefully reworked. I have looked at these issues in 
some depth; there are at least 3 items on the Network Stack Wiki which 
are directly relevant to making the kind of clean cut-over between 
wireless/wired interfaces possible.

Notably looking at the PRC_IFDOWN handler in netinet, making forwarding 
entry lookup skip interfaces marked down, and introducing route 
preference into the routing trie. There are historical reasons why the 
code is the way it is. It will take a while to get these issues 
addressed going forward.

Regards,
BMS

P.S. routed isn't going to help you at all in this situation, it's just 
an implementation of the RIPv2 routing protocol; it may have helped as 
the routes it introduces to the kernel are !RTF_STATIC.

One thing I haven't tried is IPv4 Router Discovery (rdisc), that may 
help update the default route quickly. The problem with this of course 
is the additional network configuration in the infrastructure itself.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?460F8E1B.80904>