|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
26 #include <vnet/udp/udp.api_enum.h>
27 #include <vnet/udp/udp.api_types.h>
29 #define REPLY_MSG_ID_BASE udp_main.msg_id_base
118 rv = VNET_API_ERROR_NO_SUCH_TABLE;
132 rmp->
id = ntohl (uei);
141 vl_api_udp_encap_del_reply_t *rmp;
151 vl_api_udp_decap_next_proto_t iproto)
168 vl_api_udp_decap_add_del_reply_t *rmp;
177 rv = VNET_API_ERROR_INVALID_PROTOCOL;
188 #include <vnet/udp/udp.api.c>
fib_protocol_t fib_proto_from_ip46(ip46_type_t iproto)
Convert from ip46_type to fib_protocol.
@ UDP_API_DECAP_PROTO_IP4
static vl_api_registration_t * vl_api_client_index_to_registration(u32 index)
VLIB_API_INIT_FUNCTION(udp_api_hookup)
#define REPLY_MACRO2(t, body)
#define clib_memcpy(d, s, n)
u32 fib_table_get_table_id(u32 fib_index, fib_protocol_t proto)
Get the Table-ID of the FIB from protocol and index.
index_t ue_fib_index
The FIB index in which the encap destination resides.
static void vl_api_send_msg(vl_api_registration_t *rp, u8 *elem)
UDP encap details during dump.
udp_encap_t * udp_encap_pool
Pool of encaps.
static void vl_api_udp_decap_add_del_t_handler(vl_api_udp_decap_add_del_t *mp)
struct udp_encap_t_::@565::@566 ip4
vlib_main_t * vm
X-connect all packets from the HOST to the PHY.
struct udp_encap_t_::@565::@567 ip6
vl_api_udp_encap_t udp_encap
The UDP encap representation.
ip46_type_t ip_address_decode(const vl_api_address_t *in, ip46_address_t *out)
Decode/Encode for struct/union types.
#define pool_foreach(VAR, POOL)
Iterate through pool.
static void vl_api_udp_encap_del_t_handler(vl_api_udp_encap_del_t *mp)
An API client registration, only in vpp/vlib.
static void setup_message_id_table(api_main_t *am)
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
@ UDP_API_DECAP_PROTO_MPLS
void udp_register_dst_port(vlib_main_t *vm, udp_dst_port_t dst_port, u32 node_index, u8 is_ip4)
void udp_encap_unlock(index_t uei)
void udp_unregister_dst_port(vlib_main_t *vm, udp_dst_port_t dst_port, u8 is_ip4)
#define REPLY_MSG_ID_BASE
enum fib_protocol_t_ fib_protocol_t
Protocol Type.
static void send_udp_encap_details(const udp_encap_t *ue, vl_api_registration_t *reg, u32 context)
fib_protocol_t ue_ip_proto
the protocol of the IP header imposed
vl_api_address_family_t ip_address_family_encode(ip_address_family_t af)
static clib_error_t * udp_api_hookup(vlib_main_t *vm)
u32 udp_api_decap_proto_to_index(vlib_main_t *vm, vl_api_udp_decap_next_proto_t iproto)
static void vl_api_udp_encap_add_t_handler(vl_api_udp_encap_add_t *mp)
vlib_node_t * vlib_get_node_by_name(vlib_main_t *vm, u8 *name)
index_t udp_encap_add_and_lock(fib_protocol_t proto, index_t fib_index, const ip46_address_t *src_ip, const ip46_address_t *dst_ip, u16 src_port, u16 dst_port, udp_encap_fixup_flags_t flags)
vl_api_udp_encap_t udp_encap
union udp_encap_t_::@565 ue_hdrs
The headers to paint, in packet painting order.
clib_memset(h->entries, 0, sizeof(h->entries[0]) *entries)
static vlib_main_t * vlib_get_main(void)
@ UDP_API_DECAP_PROTO_IP6
vl_api_udp_decap_t udp_decap
#define INDEX_INVALID
Invalid index - used when no index is known blazoned capitals INVALID speak volumes where ~0 does not...
u32 fib_table_find(fib_protocol_t proto, u32 table_id)
Get the index of the FIB for a Table-ID.
static void vl_api_udp_encap_dump_t_handler(vl_api_udp_encap_dump_t *mp)
void * vl_msg_api_alloc(int nbytes)