mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 17:18:56 +00:00
Merge pull request #6872 from vincentbernat/fix/bgp4mib-vrf
bgpd: implement bgpPeerTable accross VRFs
This commit is contained in:
commit
940bb755fc
@ -356,11 +356,9 @@ static struct peer *peer_lookup_addr_ipv4(struct in_addr *src)
|
|||||||
struct bgp *bgp;
|
struct bgp *bgp;
|
||||||
struct peer *peer;
|
struct peer *peer;
|
||||||
struct listnode *node;
|
struct listnode *node;
|
||||||
|
struct listnode *bgpnode;
|
||||||
|
|
||||||
bgp = bgp_get_default();
|
for (ALL_LIST_ELEMENTS_RO(bm->bgp, bgpnode, bgp)) {
|
||||||
if (!bgp)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
for (ALL_LIST_ELEMENTS_RO(bgp->peer, node, peer)) {
|
for (ALL_LIST_ELEMENTS_RO(bgp->peer, node, peer)) {
|
||||||
if (sockunion_family(&peer->su) != AF_INET)
|
if (sockunion_family(&peer->su) != AF_INET)
|
||||||
continue;
|
continue;
|
||||||
@ -368,6 +366,7 @@ static struct peer *peer_lookup_addr_ipv4(struct in_addr *src)
|
|||||||
if (sockunion2ip(&peer->su) == src->s_addr)
|
if (sockunion2ip(&peer->su) == src->s_addr)
|
||||||
return peer;
|
return peer;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -378,11 +377,9 @@ static struct peer *bgp_peer_lookup_next(struct in_addr *src)
|
|||||||
struct peer *peer;
|
struct peer *peer;
|
||||||
struct peer *next_peer = NULL;
|
struct peer *next_peer = NULL;
|
||||||
struct listnode *node;
|
struct listnode *node;
|
||||||
|
struct listnode *bgpnode;
|
||||||
|
|
||||||
bgp = bgp_get_default();
|
for (ALL_LIST_ELEMENTS_RO(bm->bgp, bgpnode, bgp)) {
|
||||||
if (!bgp)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
for (ALL_LIST_ELEMENTS_RO(bgp->peer, node, peer)) {
|
for (ALL_LIST_ELEMENTS_RO(bgp->peer, node, peer)) {
|
||||||
if (sockunion_family(&peer->su) != AF_INET)
|
if (sockunion_family(&peer->su) != AF_INET)
|
||||||
continue;
|
continue;
|
||||||
@ -395,6 +392,7 @@ static struct peer *bgp_peer_lookup_next(struct in_addr *src)
|
|||||||
next_peer = peer;
|
next_peer = peer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (next_peer) {
|
if (next_peer) {
|
||||||
src->s_addr = sockunion2ip(&next_peer->su);
|
src->s_addr = sockunion2ip(&next_peer->su);
|
||||||
|
Loading…
Reference in New Issue
Block a user