udp_uri_main_t udp_uri_main;
u32
-udp_session_bind_ip4 (vlib_main_t * vm, u32 session_index,
- ip46_address_t * ip, u16 port_number_host_byte_order)
+udp_session_bind_ip4 (u32 session_index, transport_endpoint_t * lcl)
{
udp_uri_main_t *um = vnet_get_udp_main ();
udp_connection_t *listener;
pool_get (um->udp_listeners, listener);
memset (listener, 0, sizeof (udp_connection_t));
- listener->c_lcl_port = clib_host_to_net_u16 (port_number_host_byte_order);
- listener->c_lcl_ip4.as_u32 = ip->ip4.as_u32;
- listener->c_proto = SESSION_TYPE_IP4_UDP;
- udp_register_dst_port (um->vlib_main, port_number_host_byte_order,
- udp4_uri_input_node.index, 1 /* is_ipv4 */ );
+ listener->c_lcl_port = clib_host_to_net_u16 (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 */ );
return 0;
}
u32
-udp_session_bind_ip6 (vlib_main_t * vm, u32 session_index,
- ip46_address_t * ip, u16 port_number_host_byte_order)
+udp_session_bind_ip6 (u32 session_index, transport_endpoint_t * lcl)
{
udp_uri_main_t *um = vnet_get_udp_main ();
udp_connection_t *listener;
pool_get (um->udp_listeners, listener);
- listener->c_lcl_port = clib_host_to_net_u16 (port_number_host_byte_order);
- clib_memcpy (&listener->c_lcl_ip6, &ip->ip6, sizeof (ip6_address_t));
- listener->c_proto = SESSION_TYPE_IP6_UDP;
- udp_register_dst_port (um->vlib_main, port_number_host_byte_order,
+ 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_transport_proto = TRANSPORT_PROTO_UDP;
+ udp_register_dst_port (um->vlib_main, lcl->port,
udp4_uri_input_node.index, 0 /* is_ipv4 */ );
return 0;
}
u32
-udp_session_unbind_ip4 (vlib_main_t * vm, u32 listener_index)
+udp_session_unbind_ip4 (u32 listener_index)
{
+ vlib_main_t *vm = vlib_get_main ();
udp_connection_t *listener;
listener = udp_listener_get (listener_index);
}
u32
-udp_session_unbind_ip6 (vlib_main_t * vm, u32 listener_index)
+udp_session_unbind_ip6 (u32 listener_index)
{
+ vlib_main_t *vm = vlib_get_main ();
udp_connection_t *listener;
listener = udp_listener_get (listener_index);
}
int
-udp_open_connection (ip46_address_t * addr, u16 port)
+udp_open_connection (transport_endpoint_t * tep)
{
clib_warning ("Not implemented");
return 0;
/* 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