Re: IPv6 over Firewire
From: Stephan Gatzka <hidden>
Date: 2012-12-23 11:13:10
net/ipv6/ndisc.c SHOULD build full NDP messages for IPv6 over IEEE1394 as we do it for Infiniband. Please, please do not try to mangle them in the driver.
As far as I understand the code for Infiniband (and the corresponding RFC4391) I just see the introduction of two pad bytes. Moreover, I see that ndisc_build_skb calls ndisc_fill_addr_option which copies dev->dev_addr. Maybe the so called Queue Pair Number (QPN) is already included in dev->dev_addr. If not, I guess the Infiniband driver will also mangle the QPN into the link layer option. If not, this seems only possible because the format for IPv6 link layer option (IB) and IPv4/ARP (IB) has the same format. This is not true IPv4/ARP and IPv6 link layer option for firewire. Moreover, firewire link layer address mapping (IPv4 and IPv6) requires some very firewire specific information like speed, max_rec and especially the so called unicast fifo address. From my point of view the generic ndisc code shall not cope with these nasty details of the specific link layers. I also haven't found a driver specific hook that might fill these information in. That's why I think I _have_ to mangle the NDP stuff in the driver. Stephan