Subject: Re: [RFC:] struct net_device_ops: Add function pointer to fill device specific ndisc information

From: YOSHIFUJI Hideaki <[email-masked]>
Date: Mon, 21 Jan 2013 21:16:32 +0900

Stephan Gatzka wrote:
>> [ARP and NDISC]
>> - both can be handled in more natural way.
>> -- You will not need to mangle those packets when
>>     sending/receiving.
> 
> This is also true if we introduce a function pointer. My last implementation does not mangle packets in the driver.
> 
>> -- You do not need to inspect ARP/NDISC packet.
>>     By using netevent notification mechanism, you can
>>     learn peer parameters.
> 
> That is worth to investigate. Will I get notifications when a ARP/NDISC will be send or only if the stack received ARP/NDISC packets? However, I can't see how this will help to get the firewire specific information into the ARP/NDISC packet. This has to be done either via the suggested function pointer or your extension of the mac address.

Netevent example: drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c:netevent_cb().
It will be notified when NCE has been updated (by ARP/NDP, in most cases).

Yes, it is for learning Uniq-ID and FIFO from peer.

To send our Uniq-ID and FIFO to peer via ARP/NDP, I am proposing to use
extended MAC.  This will also help MCAP implementation, without big change
in IPv4/IPv6 or even whole net stack.

--yoshfuji