Hello,
I'm trying to understand how Linux kernel routes IPv6 datagrams. It looks it does it much different from IPv4. While IPv4 uses Destination cache to find out what is the destination IP, MAC and interface index to send packet out, in IPv6 case it uses some destination tree to do that. It also does not uses that tree in case, if destination address is not on a local network. Is it correct?So, I have a few questions:
1. What are the reasons to rout datagrams differently fromIPv4?
2. Where I could get details how IPv6 stack routes datagrams?
3. Are there around books like "IPv6 Core Protocols Implementation" but with Linux specific details?
4. Any other sources of information about this topic?
Thank you very much,
Mikhail.
From: Mikhail Paremski <redacted>
Date: Mon, 4 Jul 2011 17:35:04 -0700
1. What are the reasons to rout datagrams differently fromIPv4?
It was just a design decision made when the ipv6 routing code
was implemented.
2. Where I could get details how IPv6 stack routes datagrams?
By reading the source code.
On 07/04/2011 06:46 PM, David Miller wrote:
From: Mikhail Paremski<redacted>
Date: Mon, 4 Jul 2011 17:35:04 -0700
quoted
1. What are the reasons to rout datagrams differently fromIPv4?
It was just a design decision made when the ipv6 routing code
was implemented.
Presumably there was some rationale for doing it differently than the
existing IPv4 code. Or was it just for fun?
quoted
2. Where I could get details how IPv6 stack routes datagrams?
By reading the source code.
While the source code has the final say, for someone new to a given part
of the kernel it is helpful to have a high-level view of the overall
flow. It's a lot easier to understand something if you can place it in
the overall scheme of of things.
Chris
--
Chris Friesen
Software Developer
GENBAND
chris.friesen@genband.com
www.genband.com