Browse Source

zebra: make static routes respect table setting

Make static routes respect non-default routing tables.

BEFORE PATCH
------------

! in zebra.conf
table 1

! add static route
vtysh> ip route 10.0.0.0/30 eth0

cumulus@net-top0:~$ ip route
default via 192.168.0.2 dev eth0
10.0.0.0/30 dev eth0  proto zebra
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.15

! nothing in table 1
cumulus@net-top0:~$ ip route show table 1

AFTER PATCH
-----------

! in zebra.conf
table 1

! add static route
vtysh> ip route 10.0.0.0/30 eth0

cumulus@net-top0:~$ ip route
default via 192.168.0.2 dev eth0
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.15

! static route in table 1
cumulus@net-top0:~$ ip route show table 1
10.0.0.0/30 dev eth0  proto zebra

Signed-off-by: Nolan Leake <nolan@cumulusnetworks.com>
Reviewed-by: Scott Feldman <sfeldma@cumulusnetworks.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Nolan Leake 9 years ago
parent
commit
b0145ddb4b
1 changed files with 1 additions and 0 deletions
  1. 1 0
      zebra/zebra_rib.c

+ 1 - 0
zebra/zebra_rib.c

@@ -2036,6 +2036,7 @@ static_install_ipv4 (struct prefix *p, struct static_ipv4 *si)
       rib->type = ZEBRA_ROUTE_STATIC;
       rib->distance = si->distance;
       rib->metric = 0;
+      rib->table = zebrad.rtm_table_default;
       rib->nexthop_num = 0;
 
       switch (si->type)