aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/igmp/igmp_api.c
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2018-06-10 18:01:49 -0700
committerNeale Ranns <nranns@cisco.com>2018-06-11 02:08:30 -0400
commita652002ffe1c16fead656c5b57b240e73dc496e3 (patch)
tree696eb9c20ac2a28be170a29bb6cd3864c2708e9b /src/plugins/igmp/igmp_api.c
parent98ee17424bb9483cbf21d8f218f970001ba68adf (diff)
IGMP: use simple u32 bit hash key
some IGMP hashse use only a u32 key, which is not stored in the object, so don't use memory based hash Change-Id: Iaa4eddf568ea0164bc2a812da4cc502f1811b93c Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/plugins/igmp/igmp_api.c')
-rw-r--r--src/plugins/igmp/igmp_api.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/plugins/igmp/igmp_api.c b/src/plugins/igmp/igmp_api.c
index 5da733b1f6a..87c57c8ebf6 100644
--- a/src/plugins/igmp/igmp_api.c
+++ b/src/plugins/igmp/igmp_api.c
@@ -196,7 +196,7 @@ igmp_api_client_lookup (igmp_main_t * im, u32 client_index)
uword *p;
vpe_client_registration_t *api_client = NULL;
- p = hash_get_mem (im->igmp_api_client_by_client_index, &client_index);
+ p = hash_get (im->igmp_api_client_by_client_index, client_index);
if (p)
api_client = vec_elt_at_index (im->api_clients, p[0]);
@@ -219,8 +219,8 @@ vl_api_want_igmp_events_t_handler (vl_api_want_igmp_events_t * mp)
rv = VNET_API_ERROR_INVALID_REGISTRATION;
goto done;
}
- hash_unset_mem (im->igmp_api_client_by_client_index,
- &api_client->client_index);
+ hash_unset (im->igmp_api_client_by_client_index,
+ api_client->client_index);
pool_put (im->api_clients, api_client);
goto done;
}
@@ -230,8 +230,8 @@ vl_api_want_igmp_events_t_handler (vl_api_want_igmp_events_t * mp)
memset (api_client, 0, sizeof (vpe_client_registration_t));
api_client->client_index = mp->client_index;
api_client->client_pid = mp->pid;
- hash_set_mem (im->igmp_api_client_by_client_index,
- &mp->client_index, api_client - im->api_clients);
+ hash_set (im->igmp_api_client_by_client_index,
+ mp->client_index, api_client - im->api_clients);
goto done;
}
rv = VNET_API_ERROR_INVALID_REGISTRATION;
@@ -257,13 +257,13 @@ want_igmp_events_reaper (u32 client_index)
vpe_client_registration_t *api_client;
uword *p;
- p = hash_get_mem (im->igmp_api_client_by_client_index, &client_index);
+ p = hash_get (im->igmp_api_client_by_client_index, client_index);
if (p)
{
api_client = pool_elt_at_index (im->api_clients, p[0]);
pool_put (im->api_clients, api_client);
- hash_unset_mem (im->igmp_api_client_by_client_index, &client_index);
+ hash_unset (im->igmp_api_client_by_client_index, client_index);
}
return (NULL);
}
@@ -308,8 +308,7 @@ igmp_event (igmp_main_t * im, igmp_config_t * config, igmp_sg_t * sg)
pool_put (config->sg, sg);
if (pool_elts (config->sg) == 0)
{
- hash_unset_mem (im->igmp_config_by_sw_if_index,
- &config->sw_if_index);
+ hash_unset (im->igmp_config_by_sw_if_index, config->sw_if_index);
pool_put (im->configs, config);
}
}