summaryrefslogtreecommitdiffstats
path: root/bgpd/bgpd.c
diff options
context:
space:
mode:
authorQuentin Young <qlyoung@nvidia.com>2021-05-11 22:58:38 +0200
committerQuentin Young <qlyoung@nvidia.com>2021-05-11 22:58:38 +0200
commit5b083e4e95d5e2f2301d72165b2faf2baf94c21f (patch)
tree527125fd78353a5f497930b1745452233126a274 /bgpd/bgpd.c
parentMerge pull request #8634 from idryzhov/ospf-vrf-redist (diff)
downloadfrr-5b083e4e95d5e2f2301d72165b2faf2baf94c21f.tar.xz
frr-5b083e4e95d5e2f2301d72165b2faf2baf94c21f.zip
bgpd: fix deconfig of conditional advertisement
Deconfiguring conditional advertisement resulted in all other policy settings on the peer getting removed due to an excessively large memset. This also created a desync with the northbound config tree, which caused its own set of problems... Fix the memset to just remove the conditional advertisement config. Signed-off-by: Quentin Young <qlyoung@nvidia.com>
Diffstat (limited to '')
-rw-r--r--bgpd/bgpd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index 21abfeb00..1778645e9 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -6891,7 +6891,7 @@ static void peer_advertise_map_filter_update(struct peer *peer, afi_t afi,
/* Removed advertise-map configuration */
if (!set) {
- memset(filter, 0, sizeof(struct bgp_filter));
+ memset(&filter->advmap, 0, sizeof(filter->advmap));
/* decrement condition_filter_count delete timer if
* this is the last advertise-map to be removed.