Commit b64da5a5 authored by Stephen Hemminger's avatar Stephen Hemminger

vxlan: only send group address if defined

Don't send 0 as group address.
parent 2d596120
...@@ -139,8 +139,10 @@ static int vxlan_parse_opt(struct link_util *lu, int argc, char **argv, ...@@ -139,8 +139,10 @@ static int vxlan_parse_opt(struct link_util *lu, int argc, char **argv,
return -1; return -1;
} }
addattr32(n, 1024, IFLA_VXLAN_ID, vni); addattr32(n, 1024, IFLA_VXLAN_ID, vni);
addattr_l(n, 1024, IFLA_VXLAN_GROUP, &gaddr, 4); if (gaddr)
addattr_l(n, 1024, IFLA_VXLAN_LOCAL, &saddr, 4); addattr_l(n, 1024, IFLA_VXLAN_GROUP, &gaddr, 4);
if (saddr)
addattr_l(n, 1024, IFLA_VXLAN_LOCAL, &saddr, 4);
if (link) if (link)
addattr32(n, 1024, IFLA_VXLAN_LINK, link); addattr32(n, 1024, IFLA_VXLAN_LINK, link);
addattr8(n, 1024, IFLA_VXLAN_TTL, ttl); addattr8(n, 1024, IFLA_VXLAN_TTL, ttl);
...@@ -179,16 +181,14 @@ static void vxlan_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) ...@@ -179,16 +181,14 @@ static void vxlan_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
fprintf(f, "id %u ", vni); fprintf(f, "id %u ", vni);
if (tb[IFLA_VXLAN_GROUP]) { if (tb[IFLA_VXLAN_GROUP]) {
__u32 addr = rta_getattr_u32(tb[IFLA_VXLAN_GROUP]); __be32 addr = rta_getattr_u32(tb[IFLA_VXLAN_GROUP]);
if (addr) if (addr)
fprintf(f, "group %s ", fprintf(f, "group %s ",
format_host(AF_INET, 4, &addr, s1, sizeof(s1))); format_host(AF_INET, 4, &addr, s1, sizeof(s1)));
} }
if (tb[IFLA_VXLAN_LOCAL]) { if (tb[IFLA_VXLAN_LOCAL]) {
unsigned addr = rta_getattr_u32(tb[IFLA_VXLAN_LOCAL]); __be32 addr = rta_getattr_u32(tb[IFLA_VXLAN_LOCAL]);
if (addr) if (addr)
fprintf(f, "local %s ", fprintf(f, "local %s ",
format_host(AF_INET, 4, &addr, s1, sizeof(s1))); format_host(AF_INET, 4, &addr, s1, sizeof(s1)));
......
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