diff options
author | Stephen Worley <sworley@cumulusnetworks.com> | 2020-07-02 02:02:37 +0200 |
---|---|---|
committer | Stephen Worley <sworley@cumulusnetworks.com> | 2020-07-09 17:51:23 +0200 |
commit | 09813729c7625ff81056f24763d620f7d33251fa (patch) | |
tree | 60dc21084d8bc5a5364e1246c7b7bd9f45e88e1c /pbrd/pbr_map.h | |
parent | pbrd: uninstall NHG route if not valid anymore (diff) | |
download | frr-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.h | 3 |
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); |