diff options
author | Pavel Kotucek <pavel.kotucek@pantheon.tech> | 2018-11-28 07:42:11 +0100 |
---|---|---|
committer | Ole Trøan <otroan@employees.org> | 2018-12-07 12:24:52 +0000 |
commit | e88865d7bc9cd45b044f8aeadf1916c38e0eb165 (patch) | |
tree | a6dfb198549ff9f2335724e3ea7b0f942ad08540 /src/vnet/udp/udp_local.c | |
parent | e6b58cf86affdf434a15f8833e959cded6c15784 (diff) |
VPP-1506: dump local punts and registered punt sockets
Change-Id: If7835e9b80ec9402404bfc8d271eb11a10ef992b
Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
Diffstat (limited to 'src/vnet/udp/udp_local.c')
-rw-r--r-- | src/vnet/udp/udp_local.c | 16 |
1 files changed, 16 insertions, 0 deletions
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) { |