Add get_endpoint in transport vft

This allows QUIC & TLS specific logic to be implemented, and meaningfull
IP/port to be returned when connection is overridden.

Change-Id: Id79c59fe4d7b16d36f0e96ad3e281c4026b5fe65
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c
index 58ec1c0..c1d02ab 100644
--- a/src/vnet/session/session.c
+++ b/src/vnet/session/session.c
@@ -1228,7 +1228,7 @@
 {
   svm_fifo_t *f;
 
-  if (s->session_state == SESSION_STATE_LISTENING)
+  if (!s->rx_fifo)
     return SESSION_INVALID_HANDLE;
 
   f = s->rx_fifo;
@@ -1291,6 +1291,20 @@
 				   s->connection_index);
 }
 
+void
+session_get_endpoint (session_t * s, ip46_address_t * ip, u16 * port,
+		      u8 * is_ip4, u8 is_lcl)
+{
+  if (s->session_state != SESSION_STATE_LISTENING)
+    return transport_get_endpoint (session_get_transport_proto (s),
+				   s->connection_index, s->thread_index, ip,
+				   port, is_ip4, is_lcl);
+  else
+    return transport_get_listener_endpoint (session_get_transport_proto (s),
+					    s->connection_index, ip, port,
+					    is_ip4, is_lcl);
+}
+
 transport_connection_t *
 listen_session_get_transport (session_t * s)
 {