Lines Matching defs:efx
33 struct efx_nic *efx = zone->efx;
35 netif_err(efx, drv, efx->net_dev,
46 struct efx_nic *efx = arg;
48 netif_err(efx, drv, efx->net_dev,
55 efx_tc_flower_release_counter(efx, conn->cnt);
59 int efx_tc_init_conntrack(struct efx_nic *efx)
63 rc = rhashtable_init(&efx->tc->ct_zone_ht, &efx_tc_ct_zone_ht_params);
66 rc = rhashtable_init(&efx->tc->ct_ht, &efx_tc_ct_ht_params);
71 rhashtable_destroy(&efx->tc->ct_zone_ht);
79 void efx_tc_destroy_conntrack(struct efx_nic *efx)
81 rhashtable_destroy(&efx->tc->ct_ht);
82 rhashtable_destroy(&efx->tc->ct_zone_ht);
85 void efx_tc_fini_conntrack(struct efx_nic *efx)
87 rhashtable_free_and_destroy(&efx->tc->ct_zone_ht, efx_tc_ct_zone_free, NULL);
88 rhashtable_free_and_destroy(&efx->tc->ct_ht, efx_tc_ct_free, efx);
93 static int efx_tc_ct_parse_match(struct efx_nic *efx, struct flow_rule *fr,
118 netif_dbg(efx, drv, efx->net_dev,
131 netif_dbg(efx, drv, efx->net_dev,
142 netif_dbg(efx, drv, efx->net_dev,
150 netif_dbg(efx, drv, efx->net_dev,
156 netif_dbg(efx, drv, efx->net_dev,
169 netif_dbg(efx, drv, efx->net_dev,
175 netif_dbg(efx, drv, efx->net_dev,
185 netif_dbg(efx, drv, efx->net_dev,
192 netif_dbg(efx, drv, efx->net_dev,
203 netif_dbg(efx, drv, efx->net_dev,
210 netif_dbg(efx, drv, efx->net_dev,
217 netif_dbg(efx, drv, efx->net_dev,
227 netif_dbg(efx, drv, efx->net_dev,
234 netif_dbg(efx, drv, efx->net_dev,
241 netif_dbg(efx, drv, efx->net_dev, "Conntrack missing L4 ports\n");
250 netif_dbg(efx, drv, efx->net_dev,
262 netif_dbg(efx, drv, efx->net_dev,
269 netif_dbg(efx, drv, efx->net_dev,
284 struct efx_nic *efx = ct_zone->efx;
289 if (WARN_ON(!efx->tc))
291 if (WARN_ON(!efx->tc->up))
298 old = rhashtable_lookup_get_insert_fast(&efx->tc->ct_ht,
305 netif_dbg(efx, drv, efx->net_dev,
313 rc = efx_tc_ct_parse_match(efx, fr, conn);
323 netif_dbg(efx, drv, efx->net_dev,
330 netif_dbg(efx, drv, efx->net_dev,
341 cnt = efx_tc_flower_allocate_counter(efx, EFX_TC_COUNTER_TYPE_CT);
348 rc = efx_mae_insert_ct(efx, conn);
350 netif_dbg(efx, drv, efx->net_dev,
360 efx_tc_flower_release_counter(efx, conn->cnt);
362 rhashtable_remove_fast(&efx->tc->ct_ht, &conn->linkage,
369 static void efx_tc_ct_remove(struct efx_nic *efx, struct efx_tc_ct_entry *conn)
374 rc = efx_mae_remove_ct(efx, conn);
376 rhashtable_remove_fast(&efx->tc->ct_ht, &conn->linkage,
379 netif_err(efx, drv, efx->net_dev,
383 netif_dbg(efx, drv, efx->net_dev, "Removed conntrack %lx\n",
388 static void efx_tc_ct_remove_finish(struct efx_nic *efx, struct efx_tc_ct_entry *conn)
394 efx_tc_flower_release_counter(efx, conn->cnt);
401 struct efx_nic *efx = ct_zone->efx;
404 conn = rhashtable_lookup_fast(&efx->tc->ct_ht, &tc->cookie,
407 netif_warn(efx, drv, efx->net_dev,
414 efx_tc_ct_remove(efx, conn);
417 efx_tc_ct_remove_finish(efx, conn);
424 struct efx_nic *efx = ct_zone->efx;
429 conn = rhashtable_lookup_fast(&efx->tc->ct_ht, &tc->cookie,
432 netif_warn(efx, drv, efx->net_dev,
472 struct efx_tc_ct_zone *efx_tc_ct_register_zone(struct efx_nic *efx, u16 zone,
482 old = rhashtable_lookup_get_insert_fast(&efx->tc->ct_zone_ht,
494 netif_dbg(efx, drv, efx->net_dev,
499 ct_zone->efx = efx;
503 netif_dbg(efx, drv, efx->net_dev, "Adding new ct_zone for %u, rc %d\n",
510 rhashtable_remove_fast(&efx->tc->ct_zone_ht, &ct_zone->linkage,
516 void efx_tc_ct_unregister_zone(struct efx_nic *efx,
524 rhashtable_remove_fast(&efx->tc->ct_zone_ht, &ct_zone->linkage,
528 efx_tc_ct_remove(efx, conn);
532 efx_tc_ct_remove_finish(efx, conn);
535 netif_dbg(efx, drv, efx->net_dev, "Removed ct_zone for %u\n",