I am fresh to both ipv6 and linux kernel programming..I am trying to learn networking stack implementation of Linux kernel 2.4.7...Could someone please clarify a few doubts...
1. I find a few structure definitions related to IPV6 headers in both (a)/usr/include/netinet/ip6.h and /usr/include/linux/ipv6.h . For example, IPV6 Routing extension header is defined as struct ip6_rthdr in (a)
and struct ipv6_rt_hdr in (b). I think, similar duplication is there for many such protocol headers like icmp, tcp etc. Why do we have such duplication?
2. How are ipv6 headers getting getting filled, when a source sends a packet to a destination. Could someone direct me to an explanation of flow in the stack. Or even, a direction towards the functions to be explored to understand these concepts..
Thanks in advance
Regards,
Rajesh N