aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/udp/udp.c
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2019-12-30 21:53:19 -0800
committerDave Barach <openvpp@barachs.net>2020-01-02 16:34:33 +0000
commit95cd864382965292df9c2ffbd61285c5d45cfb50 (patch)
tree7fe915ab069ad430ba49d6de485a9541137a7a6f /src/vnet/udp/udp.c
parent4ed2598562b1fe65efe69ae53397dfe9f1f07be8 (diff)
session: fix listener global endpoint lookup
Type: fix Ensure listeners for app transport protocols are added to lookup tables using their session endpoints instead of their transport connections, which can override the network connection id in the transport connection. Change-Id: I56fa3666bb1422c0799fc7143cd099751ff6e2e6 Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet/udp/udp.c')
-rw-r--r--src/vnet/udp/udp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/vnet/udp/udp.c b/src/vnet/udp/udp.c
index fbd9e980181..c2d6830bd7f 100644
--- a/src/vnet/udp/udp.c
+++ b/src/vnet/udp/udp.c
@@ -394,6 +394,9 @@ udpc_connection_listen (u32 session_index, transport_endpoint_t * lcl)
return -1;
listener = udp_listener_get (li_index);
listener->flags |= UDP_CONN_F_CONNECTED;
+ /* Fake udp listener, i.e., make sure session layer adds a udp instead of
+ * udpc listener to the lookup table */
+ ((session_endpoint_cfg_t *) lcl)->transport_proto = TRANSPORT_PROTO_UDP;
return li_index;
}