session: store tep port in net order
Change-Id: Ie3a99f09f44ec081d9b88a213bdb8d987fb462de
Signed-off-by: Florin Coras <fcoras@cisco.com>
diff --git a/src/vnet/session/application_interface.c b/src/vnet/session/application_interface.c
index 8dbc3a1..7e7449a 100644
--- a/src/vnet/session/application_interface.c
+++ b/src/vnet/session/application_interface.c
@@ -92,9 +92,7 @@
return VNET_API_ERROR_APPLICATION_NOT_ATTACHED;
}
- listener = stream_session_lookup_listener (&tep->ip,
- clib_host_to_net_u16 (tep->port),
- sst);
+ listener = stream_session_lookup_listener (&tep->ip, tep->port, sst);
if (listener)
return VNET_API_ERROR_ADDRESS_IN_USE;
@@ -131,9 +129,7 @@
/*
* Figure out if connecting to a local server
*/
- listener = stream_session_lookup_listener (&tep->ip,
- clib_host_to_net_u16 (tep->port),
- sst);
+ listener = stream_session_lookup_listener (&tep->ip, tep->port, sst);
if (listener)
{
server = application_get (listener->app_index);
@@ -181,6 +177,7 @@
&tep->port))
{
*sst = SESSION_TYPE_IP4_TCP;
+ tep->port = clib_host_to_net_u16 (tep->port);
tep->is_ip4 = 1;
return 1;
}
@@ -188,6 +185,7 @@
&tep->port))
{
*sst = SESSION_TYPE_IP4_UDP;
+ tep->port = clib_host_to_net_u16 (tep->port);
tep->is_ip4 = 1;
return 1;
}
@@ -195,12 +193,14 @@
&tep->port))
{
*sst = SESSION_TYPE_IP6_UDP;
+ tep->port = clib_host_to_net_u16 (tep->port);
return 1;
}
if (unformat (input, "tcp://%U/%d", unformat_ip6_address, &tep->ip.ip6,
&tep->port))
{
*sst = SESSION_TYPE_IP6_TCP;
+ tep->port = clib_host_to_net_u16 (tep->port);
return 1;
}
diff --git a/src/vnet/session/transport.h b/src/vnet/session/transport.h
index e56be33..e2c4794 100644
--- a/src/vnet/session/transport.h
+++ b/src/vnet/session/transport.h
@@ -78,7 +78,7 @@
typedef struct _transport_endpoint
{
ip46_address_t ip; /** ip address */
- u16 port; /** port in host order */
+ u16 port; /** port in net order */
u8 is_ip4; /** 1 if ip4 */
u32 vrf; /** fib table the endpoint is associated with */
} transport_endpoint_t;
diff --git a/src/vnet/tcp/tcp.c b/src/vnet/tcp/tcp.c
index d43fb14..38a21db 100644
--- a/src/vnet/tcp/tcp.c
+++ b/src/vnet/tcp/tcp.c
@@ -38,7 +38,7 @@
memset (listener, 0, sizeof (*listener));
listener->c_c_index = listener - tm->listener_pool;
- listener->c_lcl_port = clib_host_to_net_u16 (lcl->port);
+ listener->c_lcl_port = lcl->port;
if (lcl->is_ip4)
{
@@ -701,7 +701,7 @@
tc = tcp_half_open_connection_new ();
clib_memcpy (&tc->c_rmt_ip, &rmt->ip, sizeof (ip46_address_t));
clib_memcpy (&tc->c_lcl_ip, &lcl_addr, sizeof (ip46_address_t));
- tc->c_rmt_port = clib_host_to_net_u16 (rmt->port);
+ tc->c_rmt_port = rmt->port;
tc->c_lcl_port = clib_host_to_net_u16 (lcl_port);
tc->c_is_ip4 = rmt->is_ip4;
tc->c_transport_proto = TRANSPORT_PROTO_TCP;
diff --git a/src/vnet/udp/udp.c b/src/vnet/udp/udp.c
index fedf2cc..0e0336b 100644
--- a/src/vnet/udp/udp.c
+++ b/src/vnet/udp/udp.c
@@ -32,11 +32,11 @@
pool_get (um->udp_listeners, listener);
memset (listener, 0, sizeof (udp_connection_t));
- listener->c_lcl_port = clib_host_to_net_u16 (lcl->port);
+ listener->c_lcl_port = lcl->port;
listener->c_lcl_ip4.as_u32 = lcl->ip.ip4.as_u32;
listener->c_transport_proto = TRANSPORT_PROTO_UDP;
- udp_register_dst_port (um->vlib_main, lcl->port, udp4_uri_input_node.index,
- 1 /* is_ipv4 */ );
+ udp_register_dst_port (um->vlib_main, clib_net_to_host_u16 (lcl->port),
+ udp4_uri_input_node.index, 1 /* is_ipv4 */ );
return 0;
}
@@ -47,10 +47,10 @@
udp_connection_t *listener;
pool_get (um->udp_listeners, listener);
- listener->c_lcl_port = clib_host_to_net_u16 (lcl->port);
+ listener->c_lcl_port = lcl->port;
clib_memcpy (&listener->c_lcl_ip6, &lcl->ip.ip6, sizeof (ip6_address_t));
listener->c_transport_proto = TRANSPORT_PROTO_UDP;
- udp_register_dst_port (um->vlib_main, lcl->port,
+ udp_register_dst_port (um->vlib_main, clib_net_to_host_u16 (lcl->port),
udp4_uri_input_node.index, 0 /* is_ipv4 */ );
return 0;
}