} udp_error_t;
#define foreach_udp4_dst_port \
+_ (53, dns) \
_ (67, dhcp_to_server) \
_ (68, dhcp_to_client) \
_ (500, ikev2) \
+_ (2152, GTPU) \
_ (3784, bfd4) \
_ (3785, bfd_echo4) \
_ (4341, lisp_gpe) \
_ (4739, ipfix) \
_ (4789, vxlan) \
_ (4789, vxlan6) \
-_ (4790, vxlan_gpe) \
-_ (6633, vpath_3)
+_ (4790, VXLAN_GPE) \
+_ (6633, vpath_3) \
+_ (6081, geneve) \
+_ (53053, dns_reply)
#define foreach_udp6_dst_port \
+_ (53, dns6) \
_ (547, dhcpv6_to_server) \
_ (546, dhcpv6_to_client) \
+_ (2152, GTPU6) \
_ (3784, bfd6) \
_ (3785, bfd_echo6) \
_ (4341, lisp_gpe6) \
_ (4342, lisp_cp6) \
-_ (4790, vxlan6_gpe) \
-_ (6633, vpath6_3)
+_ (4790, VXLAN6_GPE) \
+_ (6633, vpath6_3) \
+_ (6081, geneve6) \
+_ (53053, dns_reply6)
typedef enum
{
uword *dst_port_info_by_name[N_UDP_AF];
uword *dst_port_info_by_dst_port[N_UDP_AF];
+ /* Sparse vector mapping udp dst_port in network byte order
+ to next index. */
+ u16 *next_by_dst_port4;
+ u16 *next_by_dst_port6;
+ u8 punt_unknown4;
+ u8 punt_unknown6;
+
/* convenience */
vlib_main_t *vlib_main;
} udp_main_t;