aboutsummaryrefslogtreecommitdiffstats
path: root/sysdep
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2019-01-02 16:01:21 +0100
committerOndrej Zajicek (work) <santiago@crfreenet.org>2019-01-02 16:01:21 +0100
commit470740f97bfa61c3c5c79d6f2d92f2014a119031 (patch)
tree9ca334919f8dd10268386693b59440f396f8f629 /sysdep
parente16b0aef31adf7000c22430adc3ceb9fc969ae14 (diff)
downloadbird-470740f97bfa61c3c5c79d6f2d92f2014a119031.tar.gz
BGP: Better dispatch of incoming connections
Since v2 we have multiple listening BGP sockets, and each BGP protocol has associated one of them. Use listening socket that accepted the incoming connection as a key in the dispatch process so only BGP protocols assocaited with that listening socket can be selected. This is necesary for proper dispatch when VRFs are used.
Diffstat (limited to 'sysdep')
-rw-r--r--sysdep/unix/io.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c
index a511e88e..d1d86e3b 100644
--- a/sysdep/unix/io.c
+++ b/sysdep/unix/io.c
@@ -1077,6 +1077,7 @@ sk_passive_connected(sock *s, int type)
sock *t = sk_new(s->pool);
t->type = type;
+ t->data = s->data;
t->af = s->af;
t->fd = fd;
t->ttl = s->ttl;