[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20190409194425.38063-1-antony@phenome.org>
Date:   Tue,  9 Apr 2019 21:44:25 +0200
From:   Antony Antony <antony@...nome.org>
To:     netdev@...r.kernel.org
Cc:     Stephen Hemminger <stephen@...workplumber.org>,
        Matt Ellison <matt@...oyo.io>,
        Antony Antony <antony@...nome.org>
Subject: [PATCH] ip: xfrm if_id -ve value is error
if_id is u32, error on -ve values instead of setting to 0
after :
ip link add ipsec0 type xfrm dev enp0s5 if_id -10
Error: argument "-10" is wrong: if_id value is invalid
before :
ip link add ipsec0 type xfrm dev enp0s5 if_id -10
ip -d  link show dev ipsec0
67: ipsec0@...0s5: <NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/none 00:1c:42:55:d6:ab brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 68 maxmtu 1500
    xfrm if_id 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
Fixes: 286446c1e8c error on -ve if_id
Signed-off-by: Antony Antony <antony@...nome.org>
---
 ip/link_xfrm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/ip/link_xfrm.c b/ip/link_xfrm.c
index 79a902fd..7f66bad6 100644
--- a/ip/link_xfrm.c
+++ b/ip/link_xfrm.c
@@ -34,7 +34,9 @@ static int xfrm_parse_opt(struct link_util *lu, int argc, char **argv,
 				exit(nodev(*argv));
 		} else if (!matches(*argv, "if_id")) {
 			NEXT_ARG();
-			if (!get_u32(&if_id, *argv, 0))
+			if (get_u32(&if_id, *argv, 0))
+				invarg("if_id value is invalid", *argv);
+			else
 				addattr32(n, 1024, IFLA_XFRM_IF_ID, if_id);
 		} else {
 			xfrm_print_help(lu, argc, argv, stderr);
-- 
2.17.2
Powered by blists - more mailing lists
 
