]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
route: label externally offloaded routes
authorScott Feldman <sfeldma@gmail.com>
Sun, 8 Mar 2015 06:15:35 +0000 (22:15 -0800)
committerStephen Hemminger <shemming@brocade.com>
Tue, 24 Mar 2015 22:45:23 +0000 (15:45 -0700)
On ip route print dump, label externally offloaded routes with "external".
Offloaded routes are flagged with RTNH_F_EXTERNAL, a recent additon to
net-next.  For example:

$ ip route
default via 192.168.0.2 dev eth0
11.0.0.0/30 dev swp1  proto kernel  scope link  src 11.0.0.2 external
11.0.0.4/30 via 11.0.0.1 dev swp1  proto zebra  metric 20 external
11.0.0.8/30 dev swp2  proto kernel  scope link  src 11.0.0.10 external
11.0.0.12/30 via 11.0.0.9 dev swp2  proto zebra  metric 20 external
12.0.0.2  proto zebra  metric 30 external
        nexthop via 11.0.0.1  dev swp1 weight 1
        nexthop via 11.0.0.9  dev swp2 weight 1
12.0.0.3 via 11.0.0.1 dev swp1  proto zebra  metric 20 external
12.0.0.4 via 11.0.0.9 dev swp2  proto zebra  metric 20 external
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.15

Signed-off-by: Scott Feldman <sfeldma@gmail.com>
Reviewed-by: Jiri Pirko <jiri@resnulli.us>
ip/iproute.c

index 024d401cf2e01b69b5c029da64feb301895b9783..35418af364427b2e29c6725eae8d2d93672449c0 100644 (file)
@@ -412,6 +412,8 @@ int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
                fprintf(fp, "onlink ");
        if (r->rtm_flags & RTNH_F_PERVASIVE)
                fprintf(fp, "pervasive ");
+       if (r->rtm_flags & RTNH_F_EXTERNAL)
+               fprintf(fp, "external ");
        if (r->rtm_flags & RTM_F_NOTIFY)
                fprintf(fp, "notify ");
        if (tb[RTA_MARK]) {