summaryrefslogtreecommitdiffstats
path: root/src/vnet/udp
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2017-07-24 17:40:28 -0700
committerDave Barach <openvpp@barachs.net>2017-07-30 15:04:26 +0000
commit68810624f84467503482b82662c980e8f0e36deb (patch)
treee2365cc66a5b6d28700e6b167e0e7038fdafbda0 /src/vnet/udp
parent03a6213fb5022d37ea92f974a1814db1c70bcbdf (diff)
Make tcp active open data structures thread safe
- Cleanup half-open connections and timers on the right thread - Ensure half-open connection and transport endpoint pools are thread safe - Enqueue TX events to the correct vpp thread in the builtin client - Use transport proto in transport connections instead of session type Change-Id: Id13239a206afbff6f34a38afa510fe014e4b2049 Signed-off-by: Florin Coras <fcoras@cisco.com> Signed-off-by: Dave Barach <dave@barachs.net>
Diffstat (limited to 'src/vnet/udp')
-rw-r--r--src/vnet/udp/udp.c8
-rw-r--r--src/vnet/udp/udp_input.c2
2 files changed, 5 insertions, 5 deletions
diff --git a/src/vnet/udp/udp.c b/src/vnet/udp/udp.c
index ff76a82e4a4..fedf2cc0224 100644
--- a/src/vnet/udp/udp.c
+++ b/src/vnet/udp/udp.c
@@ -34,7 +34,7 @@ udp_session_bind_ip4 (u32 session_index, transport_endpoint_t * lcl)
memset (listener, 0, sizeof (udp_connection_t));
listener->c_lcl_port = clib_host_to_net_u16 (lcl->port);
listener->c_lcl_ip4.as_u32 = lcl->ip.ip4.as_u32;
- listener->c_proto = SESSION_TYPE_IP4_UDP;
+ listener->c_transport_proto = TRANSPORT_PROTO_UDP;
udp_register_dst_port (um->vlib_main, lcl->port, udp4_uri_input_node.index,
1 /* is_ipv4 */ );
return 0;
@@ -49,7 +49,7 @@ udp_session_bind_ip6 (u32 session_index, transport_endpoint_t * lcl)
pool_get (um->udp_listeners, listener);
listener->c_lcl_port = clib_host_to_net_u16 (lcl->port);
clib_memcpy (&listener->c_lcl_ip6, &lcl->ip.ip6, sizeof (ip6_address_t));
- listener->c_proto = SESSION_TYPE_IP6_UDP;
+ listener->c_transport_proto = TRANSPORT_PROTO_UDP;
udp_register_dst_port (um->vlib_main, lcl->port,
udp4_uri_input_node.index, 0 /* is_ipv4 */ );
return 0;
@@ -318,8 +318,8 @@ udp_init (vlib_main_t * vm)
/* Register as transport with URI */
- session_register_transport (SESSION_TYPE_IP4_UDP, &udp4_proto);
- session_register_transport (SESSION_TYPE_IP6_UDP, &udp6_proto);
+ session_register_transport (TRANSPORT_PROTO_UDP, 1, &udp4_proto);
+ session_register_transport (TRANSPORT_PROTO_UDP, 0, &udp6_proto);
/*
* Initialize data structures
diff --git a/src/vnet/udp/udp_input.c b/src/vnet/udp/udp_input.c
index 9a8ff076fb1..6ccb1e52942 100644
--- a/src/vnet/udp/udp_input.c
+++ b/src/vnet/udp/udp_input.c
@@ -179,7 +179,7 @@ udp4_uri_input_node_fn (vlib_main_t * vm,
us->c_rmt_ip4.as_u32 = ip0->src_address.as_u32;
us->c_lcl_port = udp0->dst_port;
us->c_rmt_port = udp0->src_port;
- us->c_proto = SESSION_TYPE_IP4_UDP;
+ us->c_transport_proto = TRANSPORT_PROTO_UDP;
us->c_c_index = us - um->udp_sessions[my_thread_index];
/*