[Xorp-hackers] Re: XORP PIMSM6 and IPv6 multicast forwarding patch

Pavlin Radoslavov pavlin@icir.org
Mon, 31 Oct 2005 10:51:49 -0800


> This patch has been designed to reuse BSD PIM6 on Linux where you do not
> have linux/ directory !
> 
> So, you should not need to copy it into usr/include/linux

Understandable.
However, the patch as-is does not not put anything under
/usr/include, because it has been generated only as kernel patch.
Userland programs cannot be compiled without a header file that
defines the BSD-derived API, so there has to be a header file
under /usr/include that defines the new API.

If the BSD API is to be followed 100% percent, then the new header
file should be <netinet6/ip6_mroute.h>

By looking into the sample mroute6.c program that is in the tarball
with that patch, it includes header file <linux/mroute6.h> hence
this is why I adviced that the new file mroute6.h should be copied
to the /usr/include/linux directory.

Myself, I also don't like the fact that some header files on
Linux have to be included from <linux/...> (including the
<linux/mroute.h> IPv4 equivalent), but this is a different topic.

Pavlin