diff options
Diffstat (limited to 'src/vnet/session/session_lookup.c')
-rw-r--r-- | src/vnet/session/session_lookup.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/vnet/session/session_lookup.c b/src/vnet/session/session_lookup.c index d7e932a96e4..1d9662caf0f 100644 --- a/src/vnet/session/session_lookup.c +++ b/src/vnet/session/session_lookup.c @@ -723,6 +723,27 @@ session_lookup_listener (u32 table_index, session_endpoint_t * sep) return 0; } +/** + * Lookup listener wildcard match + */ +session_t * +session_lookup_listener_wildcard (u32 table_index, session_endpoint_t * sep) +{ + session_table_t *st; + st = session_table_get (table_index); + if (!st) + return 0; + if (sep->is_ip4) + return session_lookup_listener4_i (st, &sep->ip.ip4, sep->port, + sep->transport_proto, + 1 /* use_wildcard */ ); + else + return session_lookup_listener6_i (st, &sep->ip.ip6, sep->port, + sep->transport_proto, + 1 /* use_wildcard */ ); + return 0; +} + int session_lookup_add_half_open (transport_connection_t * tc, u64 value) { |