Subject: Re: [RFC Patch net-next] vxlan: add ipv6 support

From: Vlad Yasevich <[email-masked]>
Date: Thu, 28 Feb 2013 16:07:41 -0500

On 02/28/2013 05:33 AM, Thomas Graf wrote:
> On 02/28/13 at 02:01pm, Cong Wang wrote:
>> WARNING: This is just an RFC patch, it only compiles!!
>>
>> This patch adds IPv6 support to vxlan device, as the new version
>> RFC already mentioned it:
>>
>> 	http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-03
>>
>> I am not sure if the following trick will work:
>>
>> 	+       if (nla_len(nla) == sizeof(__be32)) {
>> 	+               ip->ip4 = nla_get_be32(nla);
>> 	+               ip->proto = htons(ETH_P_IP);
>> 	+       }
>> 	+#if IS_ENABLED(CONFIG_IPV6)
>> 	+       else if (nla_len(nla) == sizeof(struct in6_addr)) {
>> 	+               nla_memcpy(&ip->ip6, nla, sizeof(struct in6_addr));
>> 	+               ip->proto = htons(ETH_P_IPV6);
>> 	+       }
>> 	+#endif
>>
>> otherwise we have to introduce some new netlink attributes for
>> IPv6 addresses? Any comments?
>
> How about setting ndm_family to AF_INET6 and parse NDA_DST based on
> that?
>

Not sure if you can do that without registering your own fdb netlink 
handler.  rtnl_fdb_add is registered for PF_BRIDGE family.

You could do that, or use NDA_DST similar to how neighbor table uses it.
There the data inside of NDA_DST holds an address family and other data.

-vlad

> Assuming that nla_len(NDA_DST) > 4 == ip6 is a bit weak as like with
> any Netlink attribute we only ever enforce a minimum length and never
> a maximum or exact length.
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to [email-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>