diff options
Diffstat (limited to 'networking/libiproute')
-rw-r--r-- | networking/libiproute/iproute.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c index 9c3b87040..30d455602 100644 --- a/networking/libiproute/iproute.c +++ b/networking/libiproute/iproute.c @@ -353,6 +353,14 @@ static int iproute_modify(int cmd, unsigned flags, int argc, char **argv) invarg(*argv, "protocol"); req.r.rtm_protocol = prot; proto_ok =1; +#if ENABLE_FEATURE_IP_RULE + } else if (matches(*argv, "table") == 0) { + uint32_t tid; + NEXT_ARG(); + if (rtnl_rttable_a2n(&tid, *argv)) + invarg(*argv, "table"); + req.r.rtm_table = tid; +#endif } else if (strcmp(*argv, "dev") == 0 || strcmp(*argv, "oif") == 0) { NEXT_ARG(); @@ -540,9 +548,13 @@ static int iproute_list_or_flush(int argc, char **argv, int flush) NEXT_ARG(); if (matches(*argv, "cache") == 0) { filter.tb = -1; +#if 0 && ENABLE_FEATURE_IP_RULE + +#else } else if (matches(*argv, "main") != 0) { invarg(*argv, "table"); } +#endif } else if (matches(*argv, "cache") == 0) { filter.tb = -1; } else { |