From: Robert Shearman Date: Tue, 28 Nov 2017 11:16:50 +0000 (+0000) Subject: vxlan: Make id optional when modifying a link X-Git-Tag: v4.15.0~90 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b6fae7887ff061d092bb11515f99540ada49684e;p=thirdparty%2Fiproute2.git vxlan: Make id optional when modifying a link Specifying the IFLA_VXLAN_LINK attribute on a vxlan link modify is optional in the kernel, so make the id argument optional for "ip link set ..." to avoid a user needing to specify it when changing another attribute. Signed-off-by: Robert Shearman --- diff --git a/ip/iplink_vxlan.c b/ip/iplink_vxlan.c index a0530dda9..661eaa796 100644 --- a/ip/iplink_vxlan.c +++ b/ip/iplink_vxlan.c @@ -345,7 +345,7 @@ static int vxlan_parse_opt(struct link_util *lu, int argc, char **argv, return -1; } - if (!metadata && !VXLAN_ATTRSET(attrs, IFLA_VXLAN_ID)) { + if (!metadata && !VXLAN_ATTRSET(attrs, IFLA_VXLAN_ID) && !set_op) { fprintf(stderr, "vxlan: missing virtual network identifier\n"); return -1; } @@ -367,7 +367,8 @@ static int vxlan_parse_opt(struct link_util *lu, int argc, char **argv, "Use 'dstport 0' to get default and quiet this message\n"); } - addattr32(n, 1024, IFLA_VXLAN_ID, vni); + if (VXLAN_ATTRSET(attrs, IFLA_VXLAN_ID)) + addattr32(n, 1024, IFLA_VXLAN_ID, vni); if (gaddr) addattr_l(n, 1024, IFLA_VXLAN_GROUP, &gaddr, 4); else if (daddr)