Re: Kernel Routing sequence
From: Meelis Roos
Date: Sun Aug 14 2005 - 07:09:52 EST
AB> I agree! And this is the problem; it should be smarter than just
AB> blindly follow the routing table.
Nope. Just do the reading and learn how Internet routing works. Routing
is a network layer operation that works on single packet level and
routing table is _the_ definitive source of information for routing
decisions. And routing tables use the destination address of the packet.
There are system-specific extensions to plain routing tables. In Linux
there is policy routing and multiple routing tables (ip rule ... and ip
route ... table X ... - nothing to do with iptables, it's the standard
iproute package that provides the ip tool). But these still only look at
other fields of the _packet_ (like source address etc) and do not tie it
with previous packets. Routing is a process that takes a packet and
chooses its outgoing interface using routing tables.
>> No, it's part of the 10.0.1.0/24 network, since that's the more
>> specific route.
AB> It's part of 10.0.0.0/8 because it came in on eth0.
Your terminology is clearly different than the networking people here
use - try to use the same terminology or expect to never get a sensible
IP address being a part of a IP network is just plain bitwise
calculation and has nothing to do with interfaces.
AB> You are right! The Kernel is not actively rerouting, but it is
AB> rerouting passively by blindly following the route table.
It is following the routing table because that's how people expect it to
behave. Just set up your routing tables as you like.
There is one additional thing you might want to have a look at when you
are building routers with asymmetric routing: rp_filter. You might to
want to turn it off for the interfaces in questions.
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html