Commit 7bbe33ff authored by John W. Linville's avatar John W. Linville Committed by David S. Miller

geneve: use network byte order for destination port config parameter

This is primarily for consistancy with vxlan and other tunnels which
use network byte order for similar parameters.
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 41b97641
...@@ -815,7 +815,7 @@ static struct geneve_dev *geneve_find_dev(struct geneve_net *gn, ...@@ -815,7 +815,7 @@ static struct geneve_dev *geneve_find_dev(struct geneve_net *gn,
static int geneve_configure(struct net *net, struct net_device *dev, static int geneve_configure(struct net *net, struct net_device *dev,
__be32 rem_addr, __u32 vni, __u8 ttl, __u8 tos, __be32 rem_addr, __u32 vni, __u8 ttl, __u8 tos,
__u16 dst_port, bool metadata) __be16 dst_port, bool metadata)
{ {
struct geneve_net *gn = net_generic(net, geneve_net_id); struct geneve_net *gn = net_generic(net, geneve_net_id);
struct geneve_dev *t, *geneve = netdev_priv(dev); struct geneve_dev *t, *geneve = netdev_priv(dev);
...@@ -840,10 +840,10 @@ static int geneve_configure(struct net *net, struct net_device *dev, ...@@ -840,10 +840,10 @@ static int geneve_configure(struct net *net, struct net_device *dev,
geneve->ttl = ttl; geneve->ttl = ttl;
geneve->tos = tos; geneve->tos = tos;
geneve->dst_port = htons(dst_port); geneve->dst_port = dst_port;
geneve->collect_md = metadata; geneve->collect_md = metadata;
t = geneve_find_dev(gn, htons(dst_port), rem_addr, geneve->vni, t = geneve_find_dev(gn, dst_port, rem_addr, geneve->vni,
&tun_on_same_port, &tun_collect_md); &tun_on_same_port, &tun_collect_md);
if (t) if (t)
return -EBUSY; return -EBUSY;
...@@ -867,7 +867,7 @@ static int geneve_configure(struct net *net, struct net_device *dev, ...@@ -867,7 +867,7 @@ static int geneve_configure(struct net *net, struct net_device *dev,
static int geneve_newlink(struct net *net, struct net_device *dev, static int geneve_newlink(struct net *net, struct net_device *dev,
struct nlattr *tb[], struct nlattr *data[]) struct nlattr *tb[], struct nlattr *data[])
{ {
__u16 dst_port = GENEVE_UDP_PORT; __be16 dst_port = htons(GENEVE_UDP_PORT);
__u8 ttl = 0, tos = 0; __u8 ttl = 0, tos = 0;
bool metadata = false; bool metadata = false;
__be32 rem_addr; __be32 rem_addr;
...@@ -886,7 +886,7 @@ static int geneve_newlink(struct net *net, struct net_device *dev, ...@@ -886,7 +886,7 @@ static int geneve_newlink(struct net *net, struct net_device *dev,
tos = nla_get_u8(data[IFLA_GENEVE_TOS]); tos = nla_get_u8(data[IFLA_GENEVE_TOS]);
if (data[IFLA_GENEVE_PORT]) if (data[IFLA_GENEVE_PORT])
dst_port = nla_get_u16(data[IFLA_GENEVE_PORT]); dst_port = nla_get_be16(data[IFLA_GENEVE_PORT]);
if (data[IFLA_GENEVE_COLLECT_METADATA]) if (data[IFLA_GENEVE_COLLECT_METADATA])
metadata = true; metadata = true;
...@@ -909,7 +909,7 @@ static size_t geneve_get_size(const struct net_device *dev) ...@@ -909,7 +909,7 @@ static size_t geneve_get_size(const struct net_device *dev)
nla_total_size(sizeof(struct in_addr)) + /* IFLA_GENEVE_REMOTE */ nla_total_size(sizeof(struct in_addr)) + /* IFLA_GENEVE_REMOTE */
nla_total_size(sizeof(__u8)) + /* IFLA_GENEVE_TTL */ nla_total_size(sizeof(__u8)) + /* IFLA_GENEVE_TTL */
nla_total_size(sizeof(__u8)) + /* IFLA_GENEVE_TOS */ nla_total_size(sizeof(__u8)) + /* IFLA_GENEVE_TOS */
nla_total_size(sizeof(__u16)) + /* IFLA_GENEVE_PORT */ nla_total_size(sizeof(__be16)) + /* IFLA_GENEVE_PORT */
nla_total_size(0) + /* IFLA_GENEVE_COLLECT_METADATA */ nla_total_size(0) + /* IFLA_GENEVE_COLLECT_METADATA */
0; 0;
} }
...@@ -931,7 +931,7 @@ static int geneve_fill_info(struct sk_buff *skb, const struct net_device *dev) ...@@ -931,7 +931,7 @@ static int geneve_fill_info(struct sk_buff *skb, const struct net_device *dev)
nla_put_u8(skb, IFLA_GENEVE_TOS, geneve->tos)) nla_put_u8(skb, IFLA_GENEVE_TOS, geneve->tos))
goto nla_put_failure; goto nla_put_failure;
if (nla_put_u16(skb, IFLA_GENEVE_PORT, ntohs(geneve->dst_port))) if (nla_put_be16(skb, IFLA_GENEVE_PORT, geneve->dst_port))
goto nla_put_failure; goto nla_put_failure;
if (geneve->collect_md) { if (geneve->collect_md) {
...@@ -971,7 +971,7 @@ struct net_device *geneve_dev_create_fb(struct net *net, const char *name, ...@@ -971,7 +971,7 @@ struct net_device *geneve_dev_create_fb(struct net *net, const char *name,
if (IS_ERR(dev)) if (IS_ERR(dev))
return dev; return dev;
err = geneve_configure(net, dev, 0, 0, 0, 0, dst_port, true); err = geneve_configure(net, dev, 0, 0, 0, 0, htons(dst_port), true);
if (err) { if (err) {
free_netdev(dev); free_netdev(dev);
return ERR_PTR(err); return ERR_PTR(err);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment