ip: lwtunnel: seg6: bail out if table ids are invalid
When table and vrftable are used in SRv6, ip should bail out if table ids are not valid, and return a proper error message to the user. Achieve this simply checking rtnl_rttable_a2n return value, as we already do in the rest of iproute. Fixes:0486388a87("add support for table name in SRv6 End.DT* behaviors") Fixes:69629b4e43("seg6: add support for vrftable attribute in SRv6 End.DT4/DT6 behaviors") Signed-off-by: Andrea Claudi <aclaudi@redhat.com> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
parent
546f738220
commit
e833dbe140
|
|
@ -891,13 +891,15 @@ static int parse_encap_seg6local(struct rtattr *rta, size_t len, int *argcp,
|
|||
NEXT_ARG();
|
||||
if (table_ok++)
|
||||
duparg2("table", *argv);
|
||||
rtnl_rttable_a2n(&table, *argv);
|
||||
if (rtnl_rttable_a2n(&table, *argv))
|
||||
invarg("invalid table id\n", *argv);
|
||||
ret = rta_addattr32(rta, len, SEG6_LOCAL_TABLE, table);
|
||||
} else if (strcmp(*argv, "vrftable") == 0) {
|
||||
NEXT_ARG();
|
||||
if (vrftable_ok++)
|
||||
duparg2("vrftable", *argv);
|
||||
rtnl_rttable_a2n(&vrftable, *argv);
|
||||
if (rtnl_rttable_a2n(&vrftable, *argv))
|
||||
invarg("invalid vrf table id\n", *argv);
|
||||
ret = rta_addattr32(rta, len, SEG6_LOCAL_VRFTABLE,
|
||||
vrftable);
|
||||
} else if (strcmp(*argv, "nh4") == 0) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue