X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fsession_lookup.c;h=927922e7e645f928ab87943bdc209622d64e0a9f;hb=5a7ca7bde104b12f8dc4a751fd911819d4bd6c8e;hp=3a313526b4945d0634d0379a6c1f85427e17570d;hpb=9679c81b64a5da48932ec0b6aebfb473d3e0410b;p=vpp.git diff --git a/src/vnet/session/session_lookup.c b/src/vnet/session/session_lookup.c index 3a313526b49..927922e7e64 100644 --- a/src/vnet/session/session_lookup.c +++ b/src/vnet/session/session_lookup.c @@ -380,7 +380,8 @@ session_lookup_app_listen_session (u32 app_index, u8 fib_proto, if (!app) return 0; - return application_first_listener (app, fib_proto, transport_proto); + return app_worker_first_listener (application_get_default_worker (app), + fib_proto, transport_proto); } static stream_session_t * @@ -459,7 +460,7 @@ session_lookup_endpoint_listener (u32 table_index, session_endpoint_t * sep, return kv4.value; if (use_rules) { - memset (&lcl4, 0, sizeof (lcl4)); + clib_memset (&lcl4, 0, sizeof (lcl4)); srt = &st->session_rules[sep->transport_proto]; ai = session_rules_table_lookup4 (srt, &lcl4, &sep->ip.ip4, 0, sep->port); @@ -480,7 +481,7 @@ session_lookup_endpoint_listener (u32 table_index, session_endpoint_t * sep, if (use_rules) { - memset (&lcl6, 0, sizeof (lcl6)); + clib_memset (&lcl6, 0, sizeof (lcl6)); srt = &st->session_rules[sep->transport_proto]; ai = session_rules_table_lookup6 (srt, &lcl6, &sep->ip.ip6, 0, sep->port); @@ -528,7 +529,7 @@ session_lookup_local_endpoint (u32 table_index, session_endpoint_t * sep) /* * Check if endpoint has special rules associated */ - memset (&lcl4, 0, sizeof (lcl4)); + clib_memset (&lcl4, 0, sizeof (lcl4)); srt = &st->session_rules[sep->transport_proto]; ai = session_rules_table_lookup4 (srt, &lcl4, &sep->ip.ip4, 0, sep->port); @@ -573,7 +574,7 @@ session_lookup_local_endpoint (u32 table_index, session_endpoint_t * sep) session_kv6_t kv6; ip6_address_t lcl6; - memset (&lcl6, 0, sizeof (lcl6)); + clib_memset (&lcl6, 0, sizeof (lcl6)); srt = &st->session_rules[sep->transport_proto]; ai = session_rules_table_lookup6 (srt, &lcl6, &sep->ip.ip6, 0, sep->port); @@ -1266,7 +1267,7 @@ vnet_session_rule_add_del (session_rule_add_del_args_t * args) } if (args->scope & SESSION_RULE_SCOPE_LOCAL) { - memset (&args->table_args.lcl, 0, sizeof (args->table_args.lcl)); + clib_memset (&args->table_args.lcl, 0, sizeof (args->table_args.lcl)); args->table_args.lcl.fp_proto = args->table_args.rmt.fp_proto; args->table_args.lcl_port = 0; st = app_namespace_get_local_table (app_ns); @@ -1299,15 +1300,17 @@ u8 * format_ip4_session_lookup_kvp (u8 * s, va_list * args) { clib_bihash_kv_16_8_t *kvp = va_arg (*args, clib_bihash_kv_16_8_t *); - u32 is_local = va_arg (*args, u32); + u32 is_local = va_arg (*args, u32), app_wrk_index, session_index; + v4_connection_key_t *key = (v4_connection_key_t *) kvp->key; u8 *app_name, *str = 0; stream_session_t *session; - v4_connection_key_t *key = (v4_connection_key_t *) kvp->key; + app_worker_t *app_wrk; if (!is_local) { session = session_get_from_handle (kvp->value); - app_name = application_name_from_index (session->app_index); + app_wrk = app_worker_get (session->app_wrk_index); + app_name = application_name_from_index (app_wrk->app_index); str = format (0, "[%U] %U:%d->%U:%d", format_transport_proto_short, key->proto, format_ip4_address, &key->src, clib_net_to_host_u16 (key->src_port), format_ip4_address, @@ -1316,7 +1319,9 @@ format_ip4_session_lookup_kvp (u8 * s, va_list * args) } else { - app_name = application_name_from_index (kvp->value); + local_session_parse_handle (kvp->value, &app_wrk_index, &session_index); + app_wrk = app_worker_get (app_wrk_index); + app_name = application_name_from_index (app_wrk->app_index); str = format (0, "[%U] %U:%d", format_transport_proto_short, key->proto, format_ip4_address, &key->src, clib_net_to_host_u16 (key->src_port)); @@ -1378,8 +1383,8 @@ session_rule_command_fn (vlib_main_t * vm, unformat_input_t * input, app_namespace_t *app_ns; clib_error_t *error; - memset (&lcl_ip, 0, sizeof (lcl_ip)); - memset (&rmt_ip, 0, sizeof (rmt_ip)); + clib_memset (&lcl_ip, 0, sizeof (lcl_ip)); + clib_memset (&rmt_ip, 0, sizeof (rmt_ip)); while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) { if (unformat (input, "del")) @@ -1525,8 +1530,8 @@ show_session_rules_command_fn (vlib_main_t * vm, unformat_input_t * input, session_table_t *st; u8 *ns_id = 0, fib_proto; - memset (&lcl_ip, 0, sizeof (lcl_ip)); - memset (&rmt_ip, 0, sizeof (rmt_ip)); + clib_memset (&lcl_ip, 0, sizeof (lcl_ip)); + clib_memset (&rmt_ip, 0, sizeof (rmt_ip)); while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) { if (unformat (input, "%U", unformat_transport_proto, &transport_proto))