Re: [2.4 PATCH] bugfix: ARP respond on all devices

From: Valdis . Kletnieks
Date: Tue Aug 19 2003 - 14:52:05 EST


On Tue, 19 Aug 2003 15:17:00 EDT, Daniel Gryniewicz said:

> So, changing your default route is a "hack"? That's all that's
> necessary. You can even do it with "route del/route add".

(trimming down a bit)

% ip link show
3: eth3: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:06:5b:ea:8e:4e brd ff:ff:ff:ff:ff:ff
6: eth1: <BROADCAST,MULTICAST,NOTRAILERS,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:02:2d:5c:11:48 brd ff:ff:ff:ff:ff:ff
% ip route sho
198.82.168.0/24 dev eth1 proto kernel scope link src 198.82.168.169
128.173.12.0/22 dev eth3 proto kernel scope link src 128.173.14.107
127.0.0.0/8 dev lo scope link
default via 128.173.12.1 dev eth3

eth1 is an 11mbit wireless on a fairly loaded net, eth3 is a 100mbit line.

If I try 'ip ro add default dev eth1 metric 1 via 198.82.168.1', things
actually work As Expected - if I'm in the docking station, traffic goes via
eth3 because it's lower cost, if I'm wandering it goes via wireless.

Until I fall out of the 128.173.12.1 ARP cache, it ARPS for my eth3 address,
and my laptop gratuitously answers via eth1 - and since that isn't even the
same router, it doesn't listen. Meanwhile, my laptop *doesnt* fall over to
using wireless because it still has a lower-cost default route for the 100mbit
side (and even if it did, any existing connections would still be hosed).

I can't believe I need to go beat my kernel over the head with 'arpfilter' or
other crap just to get 2 interfaces to each reliably say "here I am" on their
own damned subnet, not the OTHER subnet where nobody gives a rat's posterior
about the other interface....

Attachment: pgp00001.pgp
Description: PGP signature