summaryrefslogtreecommitdiffstats
path: root/bgpd/bgpd.c
diff options
context:
space:
mode:
authorDon Slice <dslice@cumulusnetworks.com>2019-03-02 20:40:17 +0100
committerDon Slice <dslice@cumulusnetworks.com>2019-03-02 20:44:10 +0100
commit390485fdc96dbdd56c42d1db5d73c985411f8b4b (patch)
treeb0a8cd4804bc75b11d07ac87bd00ba7dcecf669d /bgpd/bgpd.c
parentMerge pull request #3894 from donaldsharp/install_replace (diff)
downloadfrr-390485fdc96dbdd56c42d1db5d73c985411f8b4b.tar.xz
frr-390485fdc96dbdd56c42d1db5d73c985411f8b4b.zip
bpgd: resolve more neighbor peer-group issues
Found in testing that in a certain sequence, a neighbor's peer-group membership would be lost. This fix resolves that issue. Additionally found that "no neighbor swp1 remote-as 2" would sometimes leave the config with "neighbor swp1 remote-as 0" rather than removing from the config. That one is also resolved. Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Diffstat (limited to 'bgpd/bgpd.c')
-rw-r--r--bgpd/bgpd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index a920cfeee..1a73301e4 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -2722,7 +2722,7 @@ int peer_group_bind(struct bgp *bgp, union sockunion *su, struct peer *peer,
peer->sort = group->conf->sort;
}
- if (!group->conf->as) {
+ if (!group->conf->as && peer_sort(peer)) {
if (peer_sort(group->conf) != BGP_PEER_INTERNAL
&& peer_sort(group->conf) != peer_sort(peer)) {
if (as)