diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-05-20 03:04:16 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-05-20 03:04:16 +0200 |
commit | c5f7794faa51344e4b83dfd4a1fe83cccb2fa968 (patch) | |
tree | 1bdc7163a0bd1d29ee887891ee822654f8d5d331 /zebra/zebra_rnh.h | |
parent | Zebra: Static NHT fixes (diff) | |
download | frr-c5f7794faa51344e4b83dfd4a1fe83cccb2fa968.tar.xz frr-c5f7794faa51344e4b83dfd4a1fe83cccb2fa968.zip |
Zebra: Ensure we compare prefix and NHs when checking if NH changed
In nexthop tracking, the code currently compares the nexthop state of the
resolved_route for a prefix with the previous nexthop state. However, if
the resolved route itself changes, we can end up comparing the RIBs of
unrelated prefixes and assuming that nothing has changed. To fix this, we
need to store and compare the new resolved route with the previously
resolved route. If this has changed, assume the NH associated with a route
has changed.
Signed-off-by: Dinesh G Dutt <ddutt@cumulusnetworks.com>
Reviewed-by: Vivek Venkataraman <vivek@cumulusnetworks.com>
Diffstat (limited to 'zebra/zebra_rnh.h')
-rw-r--r-- | zebra/zebra_rnh.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/zebra/zebra_rnh.h b/zebra/zebra_rnh.h index af56d36aa..f18679dad 100644 --- a/zebra/zebra_rnh.h +++ b/zebra/zebra_rnh.h @@ -33,6 +33,7 @@ struct rnh #define ZEBRA_NHT_CONNECTED 0x1 #define ZEBRA_NHT_DELETED 0x2 struct rib *state; + struct prefix resolved_route; struct list *client_list; struct list *zebra_static_route_list; /* static routes dependent on this NH */ struct route_node *node; |