From e88865d7bc9cd45b044f8aeadf1916c38e0eb165 Mon Sep 17 00:00:00 2001 From: Pavel Kotucek Date: Wed, 28 Nov 2018 07:42:11 +0100 Subject: VPP-1506: dump local punts and registered punt sockets Change-Id: If7835e9b80ec9402404bfc8d271eb11a10ef992b Signed-off-by: Pavel Kotucek --- src/vnet/udp/udp_local.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/vnet/udp/udp_local.c') diff --git a/src/vnet/udp/udp_local.c b/src/vnet/udp/udp_local.c index bb7305d8d03..a16ba22cf27 100644 --- a/src/vnet/udp/udp_local.c +++ b/src/vnet/udp/udp_local.c @@ -549,6 +549,22 @@ udp_unregister_dst_port (vlib_main_t * vm, udp_dst_port_t dst_port, u8 is_ip4) n[0] = SPARSE_VEC_INVALID_INDEX; } +bool +udp_is_valid_dst_port (udp_dst_port_t dst_port, u8 is_ip4) +{ + udp_main_t *um = &udp_main; + u16 *n; + + if (is_ip4) + n = sparse_vec_validate (um->next_by_dst_port4, + clib_host_to_net_u16 (dst_port)); + else + n = sparse_vec_validate (um->next_by_dst_port6, + clib_host_to_net_u16 (dst_port)); + + return (n[0] != SPARSE_VEC_INVALID_INDEX); +} + void udp_punt_unknown (vlib_main_t * vm, u8 is_ip4, u8 is_add) { -- cgit 1.2.3-korg