summaryrefslogtreecommitdiffstats
path: root/src/vnet/session/session_api.c
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2017-11-27 03:12:00 -0800
committerDave Wallace <dwallacelf@gmail.com>2017-11-27 20:35:37 +0000
commitc3ddea8fa9b959956fd8df66c8d3c4dbe99e0a77 (patch)
tree894853fb1f292e0bb6bb9ace89106392ecdc0620 /src/vnet/session/session_api.c
parent2d36ed2fac5c8eea5311e0eb8a3aaa7dc75f59ee (diff)
session: return bound listener for proxy accepts
This, if such a listener exists. Change-Id: I974cc858c1e2fee50189c3c67e4abb76be32a98a Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet/session/session_api.c')
-rwxr-xr-xsrc/vnet/session/session_api.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/vnet/session/session_api.c b/src/vnet/session/session_api.c
index f15d2f6e830..c54e635d534 100755
--- a/src/vnet/session/session_api.c
+++ b/src/vnet/session/session_api.c
@@ -106,6 +106,16 @@ send_session_accept_callback (stream_session_t * s)
tp_vft = transport_protocol_get_vft (s->session_type);
tc = tp_vft->get_connection (s->connection_index, s->thread_index);
mp->listener_handle = listen_session_get_handle (listener);
+
+ if (application_is_proxy (server))
+ {
+ listener =
+ application_first_listener (server,
+ transport_connection_fib_proto (tc),
+ tc->proto);
+ if (listener)
+ mp->listener_handle = listen_session_get_handle (listener);
+ }
mp->handle = session_handle (s);
mp->server_rx_fifo = pointer_to_uword (s->server_rx_fifo);
mp->server_tx_fifo = pointer_to_uword (s->server_tx_fifo);