ip: make numeric table work: "ip route list table 255". closes bug 3664.
authorDenis Vlasenko <vda.linux@googlemail.com>
Sun, 8 Jun 2008 00:25:55 +0000 (00:25 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Sun, 8 Jun 2008 00:25:55 +0000 (00:25 -0000)
function                                             old     new   delta
iproute_list_or_flush                               1270    1300     +30

networking/libiproute/iproute.c

index 1f64794..59cbf80 100644 (file)
@@ -576,8 +576,16 @@ static int iproute_list_or_flush(char **argv, int flush)
                                filter.tb = -1;
                        else if (parm == KW_all)
                                filter.tb = 0;
-                       else if (parm != KW_main)
+                       else if (parm != KW_main) {
+#if ENABLE_FEATURE_IP_RULE
+                               uint32_t tid;
+                               if (rtnl_rttable_a2n(&tid, *argv))
+                                       invarg(*argv, "table");
+                               filter.tb = tid;
+#else                          
                                invarg(*argv, "table");
+#endif
+                       }
                } else if (arg == KW_cache) {
                        /* The command 'ip route flush cache' is used by OpenSWAN.
                         * Assuming it's a synonym for 'ip route flush table cache' */