IPv6 destination cache in Linux kernel

3 messages, 3 authors, 2011-07-05 · open the first message on its own page

IPv6 destination cache in Linux kernel

From: Mikhail Paremski <hidden>
Date: 2011-07-05 00:35:06

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. 

Re: IPv6 destination cache in Linux kernel

From: David Miller <davem@davemloft.net>
Date: 2011-07-05 00:46:26

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.

Re: IPv6 destination cache in Linux kernel

From: Chris Friesen <hidden>
Date: 2011-07-05 19:59:03

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help