diff options
| author | stephen hemminger <stephen@networkplumber.org> | 2013-04-27 11:31:55 +0000 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2013-04-29 11:53:12 -0400 | 
| commit | 5d174dd80ce94b7ed0950e31fc9a0122c689523b (patch) | |
| tree | 2443bbececf273f52bf0f9e5ba96794596fdfe70 | |
| parent | 73cf3317065a6bc1536b4fb6f51bff4d3138f8ac (diff) | |
| download | olio-linux-3.10-5d174dd80ce94b7ed0950e31fc9a0122c689523b.tar.xz olio-linux-3.10-5d174dd80ce94b7ed0950e31fc9a0122c689523b.zip  | |
vxlan: source compatiablity with IFLA_VXLAN_GROUP (v2)
Source compatiability for build iproute2 was broken by:
  commit c7995c43facc6e5dea4de63fa9d283a337aabeb1
  Author: Atzm Watanabe <atzm@stratosphere.co.jp>
    vxlan: Allow setting destination to unicast address.
Since this commit has not made it upstream (still net-next),
and better to avoid gratitious changes to exported API's;
go back to original definition, and add a comment.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/vxlan.c | 10 | ||||
| -rw-r--r-- | include/uapi/linux/if_link.h | 2 | 
2 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index e6ac16cd9ba..d8de8a1303e 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -1324,7 +1324,7 @@ static void vxlan_setup(struct net_device *dev)  static const struct nla_policy vxlan_policy[IFLA_VXLAN_MAX + 1] = {  	[IFLA_VXLAN_ID]		= { .type = NLA_U32 }, -	[IFLA_VXLAN_REMOTE]	= { .len = FIELD_SIZEOF(struct iphdr, daddr) }, +	[IFLA_VXLAN_GROUP]	= { .len = FIELD_SIZEOF(struct iphdr, daddr) },  	[IFLA_VXLAN_LINK]	= { .type = NLA_U32 },  	[IFLA_VXLAN_LOCAL]	= { .len = FIELD_SIZEOF(struct iphdr, saddr) },  	[IFLA_VXLAN_TOS]	= { .type = NLA_U8 }, @@ -1406,8 +1406,8 @@ static int vxlan_newlink(struct net *net, struct net_device *dev,  	}  	dst->remote_vni = vni; -	if (data[IFLA_VXLAN_REMOTE]) -		dst->remote_ip = nla_get_be32(data[IFLA_VXLAN_REMOTE]); +	if (data[IFLA_VXLAN_GROUP]) +		dst->remote_ip = nla_get_be32(data[IFLA_VXLAN_GROUP]);  	if (data[IFLA_VXLAN_LOCAL])  		vxlan->saddr = nla_get_be32(data[IFLA_VXLAN_LOCAL]); @@ -1488,7 +1488,7 @@ static size_t vxlan_get_size(const struct net_device *dev)  {  	return nla_total_size(sizeof(__u32)) +	/* IFLA_VXLAN_ID */ -		nla_total_size(sizeof(__be32)) +/* IFLA_VXLAN_REMOTE */ +		nla_total_size(sizeof(__be32)) +/* IFLA_VXLAN_GROUP */  		nla_total_size(sizeof(__u32)) +	/* IFLA_VXLAN_LINK */  		nla_total_size(sizeof(__be32))+	/* IFLA_VXLAN_LOCAL */  		nla_total_size(sizeof(__u8)) +	/* IFLA_VXLAN_TTL */ @@ -1516,7 +1516,7 @@ static int vxlan_fill_info(struct sk_buff *skb, const struct net_device *dev)  	if (nla_put_u32(skb, IFLA_VXLAN_ID, dst->remote_vni))  		goto nla_put_failure; -	if (dst->remote_ip && nla_put_be32(skb, IFLA_VXLAN_REMOTE, dst->remote_ip)) +	if (dst->remote_ip && nla_put_be32(skb, IFLA_VXLAN_GROUP, dst->remote_ip))  		goto nla_put_failure;  	if (dst->remote_ifindex && nla_put_u32(skb, IFLA_VXLAN_LINK, dst->remote_ifindex)) diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h index e3163544f33..5346131524e 100644 --- a/include/uapi/linux/if_link.h +++ b/include/uapi/linux/if_link.h @@ -297,7 +297,7 @@ enum macvlan_mode {  enum {  	IFLA_VXLAN_UNSPEC,  	IFLA_VXLAN_ID, -	IFLA_VXLAN_REMOTE, +	IFLA_VXLAN_GROUP,	/* group or remote address */  	IFLA_VXLAN_LINK,  	IFLA_VXLAN_LOCAL,  	IFLA_VXLAN_TTL,  |