mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-22 01:31:55 +00:00
BGP: Fix VRF for listening socket
Listening socket should be bound to specified interface and VRF. Thanks to Alexander Zubkov for the bugreport.
This commit is contained in:
parent
0ac9cb2c1f
commit
e19d08055a
@ -159,7 +159,8 @@ bgp_open(struct bgp_proto *p)
|
||||
/* We assume that cf->iface is defined iff cf->local_ip is link-local */
|
||||
|
||||
WALK_LIST(bs, bgp_sockets)
|
||||
if (ipa_equal(bs->sk->saddr, addr) && (bs->sk->iface == ifa) && (bs->sk->sport == port))
|
||||
if (ipa_equal(bs->sk->saddr, addr) && (bs->sk->sport == port) &&
|
||||
(bs->sk->iface == ifa) && (bs->sk->vrf == p->p.vrf))
|
||||
{
|
||||
bs->uc++;
|
||||
p->sock = bs;
|
||||
@ -171,6 +172,8 @@ bgp_open(struct bgp_proto *p)
|
||||
sk->ttl = 255;
|
||||
sk->saddr = addr;
|
||||
sk->sport = port;
|
||||
sk->iface = ifa;
|
||||
sk->vrf = p->p.vrf;
|
||||
sk->flags = 0;
|
||||
sk->tos = IP_PREC_INTERNET_CONTROL;
|
||||
sk->rbsize = BGP_RX_BUFFER_SIZE;
|
||||
|
Loading…
Reference in New Issue
Block a user