summaryrefslogtreecommitdiffstats
path: root/pbrd/pbr_map.h
diff options
context:
space:
mode:
authorStephen Worley <sworley@cumulusnetworks.com>2020-07-02 02:02:37 +0200
committerStephen Worley <sworley@cumulusnetworks.com>2020-07-09 17:51:23 +0200
commit09813729c7625ff81056f24763d620f7d33251fa (patch)
tree60dc21084d8bc5a5364e1246c7b7bd9f45e88e1c /pbrd/pbr_map.h
parentpbrd: uninstall NHG route if not valid anymore (diff)
downloadfrr-09813729c7625ff81056f24763d620f7d33251fa.tar.xz
frr-09813729c7625ff81056f24763d620f7d33251fa.zip
pbrd: nhgc state improvements when installed/removed
Cleanup the marking of a nhc as installed/removed based on table route installation. We were not even handling the removal state at all. We saw some timing issues with the routes being installed/removed multiple times and then never resending the pbr map due to bad states on the nhgc. Dont worry about checking if its already marked installed before scheduling the policy walk. We have a check in `pbr_send_map()` to ensure we dont try to resend a map sequence already installed. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
Diffstat (limited to 'pbrd/pbr_map.h')
-rw-r--r--pbrd/pbr_map.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/pbrd/pbr_map.h b/pbrd/pbr_map.h
index 41f170395..704f1a036 100644
--- a/pbrd/pbr_map.h
+++ b/pbrd/pbr_map.h
@@ -194,7 +194,8 @@ extern void pbr_map_check(struct pbr_map_sequence *pbrms, bool changed);
extern void pbr_map_check_nh_group_change(const char *nh_group);
extern void pbr_map_reason_string(unsigned int reason, char *buf, int size);
-extern void pbr_map_schedule_policy_from_nhg(const char *nh_group);
+extern void pbr_map_schedule_policy_from_nhg(const char *nh_group,
+ bool installed);
extern void pbr_map_install(struct pbr_map *pbrm);