From: David Ahern Date: Tue, 8 Dec 2015 20:24:44 +0000 (-0800) Subject: vrf: Add support for table names X-Git-Tag: v4.4.0~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8a23f820457b309fc30d093109ef1e6aa57842c1;p=thirdparty%2Fiproute2.git vrf: Add support for table names Currently, the table id for VRF devices requires an integer. Convert it to use rtnl_rttable_a2n which handles table names from the iproute2 directory. This also fixes a bug in the original commit where table name are not properly handled. Fixes: 15faa0a30bed ("add support for VRF device") Signed-off-by: David Ahern --- diff --git a/ip/iplink_vrf.c b/ip/iplink_vrf.c index 913a2892c..9b4b7728c 100644 --- a/ip/iplink_vrf.c +++ b/ip/iplink_vrf.c @@ -28,12 +28,6 @@ static void explain(void) vrf_explain(stderr); } -static int table_arg(void) -{ - fprintf(stderr,"Error: argument of \"table\" must be 0-32767 and currently unused\n"); - return -1; -} - static int vrf_parse_opt(struct link_util *lu, int argc, char **argv, struct nlmsghdr *n) { @@ -43,9 +37,8 @@ static int vrf_parse_opt(struct link_util *lu, int argc, char **argv, NEXT_ARG(); - table = atoi(*argv); - if (table > 32767) - return table_arg(); + if (rtnl_rttable_a2n(&table, *argv)) + invarg("invalid table ID\n", *argv); addattr32(n, 1024, IFLA_VRF_TABLE, table); } else if (matches(*argv, "help") == 0) { explain();