diff options
author | vivek <vivek@cumulusnetworks.com> | 2015-10-21 06:38:38 +0200 |
---|---|---|
committer | vivek <vivek@cumulusnetworks.com> | 2015-10-21 06:38:38 +0200 |
commit | 5048fe14444fcbf27a1905e0f79f5e53af35cd29 (patch) | |
tree | c8bbb930a5649add14b095be0f1663cc422850e1 /lib/zclient.h | |
parent | Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga in... (diff) | |
download | frr-5048fe14444fcbf27a1905e0f79f5e53af35cd29.tar.xz frr-5048fe14444fcbf27a1905e0f79f5e53af35cd29.zip |
Zebra: Make redistribute do replace instead of del/add for better convergence
Ticket: CM-6768
Reviewed By: CCR-3207
Testing Done: bgpsmoke, smoke, topo to create failure
Redistributing routes goes through a del/add cycle whenever a redistributed
is updated. This del/add cycle causes disruption by causing traffic loss
for brief/long periods of time(6-8 s in case of OSPF). The modifications in
this patch remove the del/add cycle to ensure that this disruption doesn't
happen.
Also fixed sending no forwarding address when announcing IPv4 routes with IPv6
nexthops, and sending nexthop only when there is a single path.
Signed-off-by: Dinesh G Dutt <ddutt@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Diffstat (limited to 'lib/zclient.h')
-rw-r--r-- | lib/zclient.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/zclient.h b/lib/zclient.h index 1fbb80da9..8caf682d8 100644 --- a/lib/zclient.h +++ b/lib/zclient.h @@ -98,6 +98,10 @@ struct zclient int (*nexthop_update) (int, struct zclient *, uint16_t); int (*import_check_update) (int, struct zclient *, uint16_t); int (*bfd_dest_replay) (int, struct zclient *, uint16_t); + int (*redistribute_route_ipv4_add) (int, struct zclient *, uint16_t); + int (*redistribute_route_ipv4_del) (int, struct zclient *, uint16_t); + int (*redistribute_route_ipv6_add) (int, struct zclient *, uint16_t); + int (*redistribute_route_ipv6_del) (int, struct zclient *, uint16_t); }; /* Zebra API message flag. */ |