diff options
Diffstat (limited to 'extra/quagga/quagga-0.99.11-del-routes.patch')
-rw-r--r-- | extra/quagga/quagga-0.99.11-del-routes.patch | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/extra/quagga/quagga-0.99.11-del-routes.patch b/extra/quagga/quagga-0.99.11-del-routes.patch deleted file mode 100644 index 72ee8992..00000000 --- a/extra/quagga/quagga-0.99.11-del-routes.patch +++ /dev/null @@ -1,44 +0,0 @@ -From http://lists.quagga.net/pipermail/quagga-dev/2009-January/006362.html - -If there are two paralell PtP links to the same router: - C * 192.168.101.112/32 is directly connected, p1-4-19-4-20 - C>* 192.168.101.112/32 is directly connected, p1-4-17-4-18 -and the cable is to one of the ppp links is pulled, Zebra -deletes both routes instead of just the one that got yanked. -This fixes it to only delete the route to the interface that -got yanked. ---- -This fix was suggested by lsorense at csclub.uwaterloo.ca (Lennart Sorensen) -who had a similar problem. See [quagga-dev 6355] - - zebra/zebra_rib.c | 9 ++++++++- - 1 files changed, 8 insertions(+), 1 deletions(-) - -diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c -index 90db932..7a37387 100644 ---- a/zebra/zebra_rib.c -+++ b/zebra/zebra_rib.c -@@ -1896,6 +1896,13 @@ rib_delete_ipv4 (int type, int flags, struct prefix_ipv4 *p, - inet_ntoa (*gate), - ifindex); - -+ if (IS_ZEBRA_DEBUG_KERNEL && !gate) -+ zlog_debug ("rib_delete_ipv4(): route delete %s/%d directly, %s ifindex %d", -+ inet_ntop (AF_INET, &p->prefix, buf1, BUFSIZ), -+ p->prefixlen, -+ ifindex2ifname(ifindex), -+ ifindex); -+ - /* Lookup route node. */ - rn = route_node_lookup (table, (struct prefix *) p); - if (! rn) -@@ -1942,7 +1949,7 @@ rib_delete_ipv4 (int type, int flags, struct prefix_ipv4 *p, - break; - } - /* Make sure that the route found has the same gateway. */ -- else if (gate == NULL || -+ else if (gate != NULL && - ((nexthop = rib->nexthop) && - (IPV4_ADDR_SAME (&nexthop->gate.ipv4, gate) || - IPV4_ADDR_SAME (&nexthop->rgate.ipv4, gate)))) - |