mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-13 14:42:06 +00:00
BGP: Ensure default-originate works with update-groups
Ticket: CM-7113 Reviewed By: CCR-3458 Testing Done: Manual testing, failed test, bgpsmoke (on 2.5-br) This is a port of patch bgpd-update-groups-fix-default-originate.patch from 2.5-br. Even though default origination is configured for a BGP neighbor through "neighbor default-originate" or "peer-group default-originate", the neighbor may sometimes not receive the default route in some situations. Change to ensure update subgroups also differentiate on default-originate sent status. Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com> Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com> Reviewed-by: Vipin Kumar <vipin@cumulusnetworks.com>
This commit is contained in:
parent
d1d16a965e
commit
f910ef58c5
@ -973,7 +973,8 @@ update_subgroup_find (struct update_group *updgrp, struct peer_af *paf)
|
||||
|
||||
UPDGRP_FOREACH_SUBGRP (updgrp, subgrp)
|
||||
{
|
||||
if (subgrp->version != version)
|
||||
if (subgrp->version != version ||
|
||||
CHECK_FLAG(subgrp->sflags, SUBGRP_STATUS_DEFAULT_ORIGINATE))
|
||||
continue;
|
||||
|
||||
/*
|
||||
@ -1044,6 +1045,10 @@ update_subgroup_can_merge_into (struct update_subgroup *subgrp,
|
||||
if (subgrp->version != target->version)
|
||||
return 0;
|
||||
|
||||
if (CHECK_FLAG(subgrp->sflags, SUBGRP_STATUS_DEFAULT_ORIGINATE) !=
|
||||
CHECK_FLAG(target->sflags, SUBGRP_STATUS_DEFAULT_ORIGINATE))
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* If there are any adv entries on the target, then its adj-out (the
|
||||
* set of advertised routes) does not match that of the other
|
||||
|
Loading…
Reference in New Issue
Block a user