[Click] Linux kernel header

Roman Chertov rchertov at cs.ucsb.edu
Mon Nov 10 13:06:27 EST 2008


Eddie Kohler wrote:
> Hi Roman,
> 
> These files need to be patched, unfortunately.  What are the exact 
> errors (just to make sure)?

   CXX [M] fromhost6.o
include/net/ipv6.h: In function ‘int __ipv6_addr_diff(const void*, const
void*, int)’:
include/net/ipv6.h:409: error: invalid conversion from ‘const void*’ to
‘const __be32*’
include/net/ipv6.h:409: error: invalid conversion from ‘const void*’ to
‘const __be32*’
include/net/addrconf.h: In function ‘inet6_dev* __in6_dev_get(net_device*)’:
include/net/addrconf.h:134: error: invalid conversion from ‘void*’ to
‘inet6_dev*’

I abandoned trying to self-configure the interface in the module itself, 
as I can't find an in kernel API call to add IPv6 addresses to a 
netdevice.  The calls exposed by addrconf.c are for user level apps to 
manipulate the kernel routing tables.  Writing a bash script that 
installs click and then configures the newly created interface seems to 
work fine.  Although, I think this issue will need to be revisited in 
the future as more people start using IPv6.

Roman


> 
> Eddie
> 
> 
> Roman Chertov wrote:
>> Hello,
>>     I have never dealt with a situation where including a Linux header 
>> file resulted in errors in Click.  I need to include 
>> <include/net/addrconf.h> and <include/net/ipv6.h>  These files 
>> generate errors due to pointer conversions in C++.  So do I need to 
>> patch those files to compile, or is there another way?  Since this is 
>> not an issue of scope or naming using cxxprotect/cxxunprotect would 
>> not help.
>>
>> Thanks in advance,
>>
>> Roman
>> _______________________________________________
>> click mailing list
>> click at amsterdam.lcs.mit.edu
>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
> 



More information about the click mailing list