udp: remove connected udp transport proto
Type: refactor
To reproduce functionality, use udp in combination with
TRANSPORT_CFG_F_CONNECTED transport flag set in connect and listen
parameters.
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id88470c38326f8168b9646b0de49a674e0f4266f
diff --git a/src/vnet/session/session.api b/src/vnet/session/session.api
index f95abb9..b897ae0 100644
--- a/src/vnet/session/session.api
+++ b/src/vnet/session/session.api
@@ -13,7 +13,7 @@
* limitations under the License.
*/
-option version = "3.0.0";
+option version = "3.1.0";
import "vnet/interface_types.api";
import "vnet/ip/ip_types.api";
@@ -25,7 +25,6 @@
TRANSPORT_PROTO_API_UDP,
TRANSPORT_PROTO_API_NONE,
TRANSPORT_PROTO_API_TLS,
- TRANSPORT_PROTO_API_UDPC,
TRANSPORT_PROTO_API_QUIC,
};
diff --git a/src/vnet/session/session_api.c b/src/vnet/session/session_api.c
index 43ecf2b..3954537 100644
--- a/src/vnet/session/session_api.c
+++ b/src/vnet/session/session_api.c
@@ -66,8 +66,6 @@
return TRANSPORT_PROTO_UDP;
case TRANSPORT_PROTO_API_TLS:
return TRANSPORT_PROTO_TLS;
- case TRANSPORT_PROTO_API_UDPC:
- return TRANSPORT_PROTO_UDPC;
case TRANSPORT_PROTO_API_QUIC:
return TRANSPORT_PROTO_QUIC;
default:
@@ -86,8 +84,6 @@
return TRANSPORT_PROTO_API_UDP;
case TRANSPORT_PROTO_TLS:
return TRANSPORT_PROTO_API_TLS;
- case TRANSPORT_PROTO_UDPC:
- return TRANSPORT_PROTO_API_UDPC;
case TRANSPORT_PROTO_QUIC:
return TRANSPORT_PROTO_API_QUIC;
default:
diff --git a/src/vnet/session/transport_types.h b/src/vnet/session/transport_types.h
index e065ed1..2c4863a 100644
--- a/src/vnet/session/transport_types.h
+++ b/src/vnet/session/transport_types.h
@@ -159,7 +159,6 @@
_(UDP, "udp", "U") \
_(NONE, "ct", "C") \
_(TLS, "tls", "J") \
- _(UDPC, "udpc", "U") \
_(QUIC, "quic", "Q") \
typedef enum _transport_proto
diff --git a/src/vnet/udp/udp.c b/src/vnet/udp/udp.c
index 9c427a4..99fa2aa 100644
--- a/src/vnet/udp/udp.c
+++ b/src/vnet/udp/udp.c
@@ -463,62 +463,6 @@
};
/* *INDENT-ON* */
-int
-udpc_connection_open (transport_endpoint_cfg_t * rmt)
-{
- udp_connection_t *uc;
- /* Reproduce the logic of udp_open_connection to find the correct thread */
- u32 thread_index = vlib_num_workers ()? 1 : vlib_get_main ()->thread_index;
- u32 uc_index;
- uc_index = udp_open_connection (rmt);
- if (uc_index == (u32) ~ 0)
- return -1;
- uc = udp_connection_get (uc_index, thread_index);
- uc->flags |= UDP_CONN_F_CONNECTED;
- return uc_index;
-}
-
-u32
-udpc_connection_listen (u32 session_index, transport_endpoint_t * lcl)
-{
- udp_connection_t *listener;
- u32 li_index;
- li_index = udp_session_bind (session_index, lcl);
- if (li_index == (u32) ~ 0)
- 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;
-}
-
-/* *INDENT-OFF* */
-static const transport_proto_vft_t udpc_proto = {
- .start_listen = udpc_connection_listen,
- .stop_listen = udp_session_unbind,
- .connect = udpc_connection_open,
- .push_header = udp_push_header,
- .get_connection = udp_session_get,
- .get_listener = udp_session_get_listener,
- .get_half_open = udp_session_get_half_open,
- .close = udp_session_close,
- .cleanup = udp_session_cleanup,
- .send_params = udp_session_send_params,
- .format_connection = format_udp_session,
- .format_half_open = format_udp_half_open_session,
- .format_listener = format_udp_listener_session,
- .transport_options = {
- .name = "udpc",
- .short_name = "U",
- .tx_type = TRANSPORT_TX_DGRAM,
- .service_type = TRANSPORT_SERVICE_VC,
- .half_open_has_fifos = 1
- },
-};
-/* *INDENT-ON* */
-
static clib_error_t *
udp_init (vlib_main_t * vm)
{
@@ -545,10 +489,6 @@
FIB_PROTOCOL_IP4, ip4_lookup_node.index);
transport_register_protocol (TRANSPORT_PROTO_UDP, &udp_proto,
FIB_PROTOCOL_IP6, ip6_lookup_node.index);
- transport_register_protocol (TRANSPORT_PROTO_UDPC, &udpc_proto,
- FIB_PROTOCOL_IP4, ip4_lookup_node.index);
- transport_register_protocol (TRANSPORT_PROTO_UDPC, &udpc_proto,
- FIB_PROTOCOL_IP6, ip6_lookup_node.index);
/*
* Initialize data structures