mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-07-24 22:50:43 +00:00
Merge pull request #9673 from donaldsharp/bgp_paf
This commit is contained in:
commit
bd4aed8555
@ -337,11 +337,13 @@ static void bgp_write_proceed_actions(struct peer *peer)
|
||||
struct peer_af *paf;
|
||||
struct bpacket *next_pkt;
|
||||
struct update_subgroup *subgrp;
|
||||
enum bgp_af_index index;
|
||||
|
||||
FOREACH_AFI_SAFI (afi, safi) {
|
||||
paf = peer_af_find(peer, afi, safi);
|
||||
for (index = BGP_AF_START; index < BGP_AF_MAX; index++) {
|
||||
paf = peer->peer_af_array[index];
|
||||
if (!paf)
|
||||
continue;
|
||||
|
||||
subgrp = paf->subgroup;
|
||||
if (!subgrp)
|
||||
continue;
|
||||
@ -364,6 +366,9 @@ static void bgp_write_proceed_actions(struct peer *peer)
|
||||
return;
|
||||
}
|
||||
|
||||
afi = paf->afi;
|
||||
safi = paf->safi;
|
||||
|
||||
/* No packets to send, see if EOR is pending */
|
||||
if (CHECK_FLAG(peer->cap, PEER_CAP_RESTART_RCV)) {
|
||||
if (!subgrp->t_coalesce && peer->afc_nego[afi][safi]
|
||||
@ -415,11 +420,16 @@ int bgp_generate_updgrp_packets(struct thread *thread)
|
||||
return 0;
|
||||
|
||||
do {
|
||||
enum bgp_af_index index;
|
||||
|
||||
s = NULL;
|
||||
FOREACH_AFI_SAFI (afi, safi) {
|
||||
paf = peer_af_find(peer, afi, safi);
|
||||
for (index = BGP_AF_START; index < BGP_AF_MAX; index++) {
|
||||
paf = peer->peer_af_array[index];
|
||||
if (!paf || !PAF_SUBGRP(paf))
|
||||
continue;
|
||||
|
||||
afi = paf->afi;
|
||||
safi = paf->safi;
|
||||
next_pkt = paf->next_pkt_to_send;
|
||||
|
||||
/*
|
||||
|
@ -912,13 +912,19 @@ static int bgp_peer_clear(struct peer *peer, afi_t afi, safi_t safi,
|
||||
if ((afi == AFI_UNSPEC) && (safi == SAFI_UNSPEC)) {
|
||||
afi_t tmp_afi;
|
||||
safi_t tmp_safi;
|
||||
enum bgp_af_index index;
|
||||
|
||||
for (index = BGP_AF_START; index < BGP_AF_MAX; index++) {
|
||||
paf = peer->peer_af_array[index];
|
||||
if (!paf)
|
||||
continue;
|
||||
|
||||
FOREACH_AFI_SAFI (tmp_afi, tmp_safi) {
|
||||
paf = peer_af_find(peer, tmp_afi, tmp_safi);
|
||||
if (paf && paf->subgroup)
|
||||
SET_FLAG(paf->subgroup->sflags,
|
||||
SUBGRP_STATUS_FORCE_UPDATES);
|
||||
|
||||
tmp_afi = paf->afi;
|
||||
tmp_safi = paf->safi;
|
||||
if (!peer->afc[tmp_afi][tmp_safi])
|
||||
continue;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user