diff options
Diffstat (limited to 'bgpd/bgp_advertise.c')
| -rw-r--r-- | bgpd/bgp_advertise.c | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/bgpd/bgp_advertise.c b/bgpd/bgp_advertise.c index a7f72974ca..2c83de89e0 100644 --- a/bgpd/bgp_advertise.c +++ b/bgpd/bgp_advertise.c @@ -155,22 +155,24 @@ int bgp_adj_out_lookup(struct peer *peer, struct bgp_node *rn, int addpath_capable; for (adj = rn->adj_out; adj; adj = adj->next) - SUBGRP_FOREACH_PEER(adj->subgroup, paf) - if (paf->peer == peer) { - afi = SUBGRP_AFI(adj->subgroup); - safi = SUBGRP_SAFI(adj->subgroup); - addpath_capable = bgp_addpath_encode_tx(peer, afi, safi); - - /* Match on a specific addpath_tx_id if we are using addpath for - * this - * peer and if an addpath_tx_id was specified */ - if (addpath_capable && addpath_tx_id - && adj->addpath_tx_id != addpath_tx_id) - continue; - - return (adj->adv ? (adj->adv->baa ? 1 : 0) - : (adj->attr ? 1 : 0)); - } + SUBGRP_FOREACH_PEER (adj->subgroup, paf) + if (paf->peer == peer) { + afi = SUBGRP_AFI(adj->subgroup); + safi = SUBGRP_SAFI(adj->subgroup); + addpath_capable = + bgp_addpath_encode_tx(peer, afi, safi); + + /* Match on a specific addpath_tx_id if we are + * using addpath for + * this + * peer and if an addpath_tx_id was specified */ + if (addpath_capable && addpath_tx_id + && adj->addpath_tx_id != addpath_tx_id) + continue; + + return (adj->adv ? (adj->adv->baa ? 1 : 0) + : (adj->attr ? 1 : 0)); + } return 0; } |
