Subject: Re: netlink NETLINK_ROUTE failure & Can the kernel really handle IPv6 properly

From: Ulf Samuelsson <[email-masked]>
Date: Mon, 6 Oct 2014 13:25:16 +0200

On 10/03/2014 08:49 PM, David Miller wrote:
> From: Ulf Samuelsson <[email-masked]>
> Date: Fri, 3 Oct 2014 09:59:39 +0200
>
>> The kernel module is a control module which collects information
>> both from the kernel and from H/W, and talks to a userspace interface
>> manager.
>>
>> There is a proprietary management application which is used to
>> configure the stack.
>> This talks to the interface manager to handle different operations for
>> IPv6.
>>
>> The kernel module needs to know when interfaces are ready to use,
>> I.E: know when it exits "tentative" mode to do its job properly,
>> so the kernel module has to listen for RTM_NEWADDR.
>>
>> In a simpler system, your approach would be OK.
> Sorry, we're not going to help you with a proprietary driver
> of this kind.
>
> They should really just follow our upstream efforts to design
> a usable kernel framework for bridge and routing hardware offloads.

Whether to use a kernel framework or not is not my decision,
and I don't even work with that code.

What should interest the community is that a lot of stuff is probably
not working properly, when IPv6 link-local addresses are used.

Listening for NETDEV_UP, which is used in many places in the kernel, 
seems incorrect,
since connection to the link-local address will fail until the 
link-local address is verified.
It is not immediately obvious, since after 1-2 seconds the problem 
disappears.

For that, listening to the RTM_NEWADDR seems mandatory, so
any framework would benefit from a solution as well.

Best Regards,
Ulf Samuelsson

'