flow_table 3174 drivers/infiniband/hw/mlx5/main.c mlx5_destroy_flow_table(prio->flow_table); flow_table 3175 drivers/infiniband/hw/mlx5/main.c prio->flow_table = NULL; flow_table 3252 drivers/infiniband/hw/mlx5/main.c prio->flow_table = ft; flow_table 3336 drivers/infiniband/hw/mlx5/main.c ft = prio->flow_table; flow_table 3521 drivers/infiniband/hw/mlx5/main.c struct mlx5_flow_table *ft = ft_prio->flow_table; flow_table 3637 drivers/infiniband/hw/mlx5/main.c ft_prio->flow_table = ft; flow_table 3995 drivers/infiniband/hw/mlx5/main.c if (prio->flow_table) flow_table 4014 drivers/infiniband/hw/mlx5/main.c struct mlx5_flow_table *ft = ft_prio->flow_table; flow_table 4043 drivers/infiniband/hw/mlx5/main.c ft_prio->flow_table = ft; flow_table 172 drivers/infiniband/hw/mlx5/mlx5_ib.h struct mlx5_flow_table *flow_table; flow_table 1248 drivers/net/ethernet/broadcom/bnxt/bnxt.h struct rhashtable flow_table; flow_table 1211 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c rc = rhashtable_remove_fast(&tc_info->flow_table, &flow_node->node, flow_table 1281 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c old_node = rhashtable_lookup_fast(&tc_info->flow_table, flow_table 1309 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c rc = rhashtable_insert_fast(&tc_info->flow_table, &new_node->node, flow_table 1339 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c flow_node = rhashtable_lookup_fast(&tc_info->flow_table, flow_table 1357 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c flow_node = rhashtable_lookup_fast(&tc_info->flow_table, flow_table 1543 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c num_flows = atomic_read(&tc_info->flow_table.nelems); flow_table 1547 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c rhashtable_walk_enter(&tc_info->flow_table, &tc_info->iter); flow_table 1635 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c rc = rhashtable_init(&tc_info->flow_table, &tc_info->flow_ht_params); flow_table 1675 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c rhashtable_destroy(&tc_info->flow_table); flow_table 1688 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c rhashtable_destroy(&tc_info->flow_table); flow_table 178 drivers/net/ethernet/netronome/nfp/flower/main.h struct rhashtable flow_table; flow_table 108 drivers/net/ethernet/netronome/nfp/flower/metadata.c return rhashtable_lookup_fast(&priv->flow_table, &flower_cmp_arg, flow_table 491 drivers/net/ethernet/netronome/nfp/flower/metadata.c err = rhashtable_init(&priv->flow_table, &nfp_flower_table_params); flow_table 546 drivers/net/ethernet/netronome/nfp/flower/metadata.c rhashtable_destroy(&priv->flow_table); flow_table 557 drivers/net/ethernet/netronome/nfp/flower/metadata.c rhashtable_free_and_destroy(&priv->flow_table, flow_table 972 drivers/net/ethernet/netronome/nfp/flower/offload.c err = rhashtable_insert_fast(&priv->flow_table, &merge_flow->fl_node, flow_table 988 drivers/net/ethernet/netronome/nfp/flower/offload.c WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, flow_table 1166 drivers/net/ethernet/netronome/nfp/flower/offload.c err = rhashtable_insert_fast(&priv->flow_table, &flow_pay->fl_node, flow_table 1192 drivers/net/ethernet/netronome/nfp/flower/offload.c WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, flow_table 1257 drivers/net/ethernet/netronome/nfp/flower/offload.c WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, flow_table 1333 drivers/net/ethernet/netronome/nfp/flower/offload.c WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, flow_table 93 include/net/netfilter/nf_flow_table.h int flow_offload_add(struct nf_flowtable *flow_table, struct flow_offload *flow); flow_table 94 include/net/netfilter/nf_flow_table.h struct flow_offload_tuple_rhash *flow_offload_lookup(struct nf_flowtable *flow_table, flow_table 98 include/net/netfilter/nf_flow_table.h int nf_flow_table_init(struct nf_flowtable *flow_table); flow_table 99 include/net/netfilter/nf_flow_table.h void nf_flow_table_free(struct nf_flowtable *flow_table); flow_table 3904 net/core/dev.c struct rps_dev_flow_table *flow_table; flow_table 3919 net/core/dev.c flow_table = rcu_dereference(rxqueue->rps_flow_table); flow_table 3920 net/core/dev.c if (!flow_table) flow_table 3922 net/core/dev.c flow_id = skb_get_hash(skb) & flow_table->mask; flow_table 3928 net/core/dev.c rflow = &flow_table->flows[flow_id]; flow_table 3952 net/core/dev.c struct rps_dev_flow_table *flow_table; flow_table 3973 net/core/dev.c flow_table = rcu_dereference(rxqueue->rps_flow_table); flow_table 3975 net/core/dev.c if (!flow_table && !map) flow_table 3984 net/core/dev.c if (flow_table && sock_flow_table) { flow_table 3999 net/core/dev.c rflow = &flow_table->flows[hash & flow_table->mask]; flow_table 4059 net/core/dev.c struct rps_dev_flow_table *flow_table; flow_table 4065 net/core/dev.c flow_table = rcu_dereference(rxqueue->rps_flow_table); flow_table 4066 net/core/dev.c if (flow_table && flow_id <= flow_table->mask) { flow_table 4067 net/core/dev.c rflow = &flow_table->flows[flow_id]; flow_table 4072 net/core/dev.c (int)(10 * flow_table->mask))) flow_table 769 net/core/net-sysfs.c struct rps_dev_flow_table *flow_table; flow_table 773 net/core/net-sysfs.c flow_table = rcu_dereference(queue->rps_flow_table); flow_table 774 net/core/net-sysfs.c if (flow_table) flow_table 775 net/core/net-sysfs.c val = (unsigned long)flow_table->mask + 1; flow_table 869 net/core/net-sysfs.c struct rps_dev_flow_table *flow_table; flow_table 877 net/core/net-sysfs.c flow_table = rcu_dereference_protected(queue->rps_flow_table, 1); flow_table 878 net/core/net-sysfs.c if (flow_table) { flow_table 880 net/core/net-sysfs.c call_rcu(&flow_table->rcu, rps_dev_flow_table_release); flow_table 201 net/netfilter/nf_flow_table_core.c int flow_offload_add(struct nf_flowtable *flow_table, struct flow_offload *flow) flow_table 207 net/netfilter/nf_flow_table_core.c err = rhashtable_insert_fast(&flow_table->rhashtable, flow_table 213 net/netfilter/nf_flow_table_core.c err = rhashtable_insert_fast(&flow_table->rhashtable, flow_table 217 net/netfilter/nf_flow_table_core.c rhashtable_remove_fast(&flow_table->rhashtable, flow_table 232 net/netfilter/nf_flow_table_core.c static void flow_offload_del(struct nf_flowtable *flow_table, flow_table 237 net/netfilter/nf_flow_table_core.c rhashtable_remove_fast(&flow_table->rhashtable, flow_table 240 net/netfilter/nf_flow_table_core.c rhashtable_remove_fast(&flow_table->rhashtable, flow_table 267 net/netfilter/nf_flow_table_core.c flow_offload_lookup(struct nf_flowtable *flow_table, flow_table 275 net/netfilter/nf_flow_table_core.c tuplehash = rhashtable_lookup(&flow_table->rhashtable, tuple, flow_table 294 net/netfilter/nf_flow_table_core.c nf_flow_table_iterate(struct nf_flowtable *flow_table, flow_table 303 net/netfilter/nf_flow_table_core.c rhashtable_walk_enter(&flow_table->rhashtable, &hti); flow_table 329 net/netfilter/nf_flow_table_core.c struct nf_flowtable *flow_table = data; flow_table 335 net/netfilter/nf_flow_table_core.c flow_offload_del(flow_table, flow); flow_table 340 net/netfilter/nf_flow_table_core.c struct nf_flowtable *flow_table; flow_table 342 net/netfilter/nf_flow_table_core.c flow_table = container_of(work, struct nf_flowtable, gc_work.work); flow_table 343 net/netfilter/nf_flow_table_core.c nf_flow_table_iterate(flow_table, nf_flow_offload_gc_step, flow_table); flow_table 344 net/netfilter/nf_flow_table_core.c queue_delayed_work(system_power_efficient_wq, &flow_table->gc_work, HZ); flow_table 520 net/netfilter/nf_flow_table_core.c void nf_flow_table_free(struct nf_flowtable *flow_table) flow_table 523 net/netfilter/nf_flow_table_core.c list_del(&flow_table->list); flow_table 525 net/netfilter/nf_flow_table_core.c cancel_delayed_work_sync(&flow_table->gc_work); flow_table 526 net/netfilter/nf_flow_table_core.c nf_flow_table_iterate(flow_table, nf_flow_table_do_cleanup, NULL); flow_table 527 net/netfilter/nf_flow_table_core.c nf_flow_table_iterate(flow_table, nf_flow_offload_gc_step, flow_table); flow_table 528 net/netfilter/nf_flow_table_core.c rhashtable_destroy(&flow_table->rhashtable); flow_table 241 net/netfilter/nf_flow_table_ip.c struct nf_flowtable *flow_table = priv; flow_table 257 net/netfilter/nf_flow_table_ip.c tuplehash = flow_offload_lookup(flow_table, &tuple); flow_table 472 net/netfilter/nf_flow_table_ip.c struct nf_flowtable *flow_table = priv; flow_table 487 net/netfilter/nf_flow_table_ip.c tuplehash = flow_offload_lookup(flow_table, &tuple); flow_table 69 net/openvswitch/datapath.h struct flow_table table; flow_table 210 net/openvswitch/flow.h } flow_table, ufid_table; flow_table 96 net/openvswitch/flow_table.c int ovs_flow_tbl_count(const struct flow_table *table) flow_table 167 net/openvswitch/flow_table.c int ovs_flow_tbl_init(struct flow_table *table) flow_table 220 net/openvswitch/flow_table.c hlist_for_each_entry_safe(flow, n, head, flow_table.node[ver]) { flow_table 221 net/openvswitch/flow_table.c hlist_del_rcu(&flow->flow_table.node[ver]); flow_table 241 net/openvswitch/flow_table.c void ovs_flow_tbl_destroy(struct flow_table *table) flow_table 261 net/openvswitch/flow_table.c hlist_for_each_entry_rcu(flow, head, flow_table.node[ver]) { flow_table 287 net/openvswitch/flow_table.c head = find_bucket(ti, flow->flow_table.hash); flow_table 288 net/openvswitch/flow_table.c hlist_add_head_rcu(&flow->flow_table.node[ti->node_ver], head); flow_table 320 net/openvswitch/flow_table.c flow_table.node[old_ver]) flow_table 341 net/openvswitch/flow_table.c int ovs_flow_tbl_flush(struct flow_table *flow_table) flow_table 353 net/openvswitch/flow_table.c old_ti = ovsl_dereference(flow_table->ti); flow_table 354 net/openvswitch/flow_table.c old_ufid_ti = ovsl_dereference(flow_table->ufid_ti); flow_table 356 net/openvswitch/flow_table.c rcu_assign_pointer(flow_table->ti, new_ti); flow_table 357 net/openvswitch/flow_table.c rcu_assign_pointer(flow_table->ufid_ti, new_ufid_ti); flow_table 358 net/openvswitch/flow_table.c flow_table->last_rehash = jiffies; flow_table 359 net/openvswitch/flow_table.c flow_table->count = 0; flow_table 360 net/openvswitch/flow_table.c flow_table->ufid_count = 0; flow_table 438 net/openvswitch/flow_table.c hlist_for_each_entry_rcu(flow, head, flow_table.node[ti->node_ver]) { flow_table 439 net/openvswitch/flow_table.c if (flow->mask == mask && flow->flow_table.hash == hash && flow_table 446 net/openvswitch/flow_table.c struct sw_flow *ovs_flow_tbl_lookup_stats(struct flow_table *tbl, flow_table 464 net/openvswitch/flow_table.c struct sw_flow *ovs_flow_tbl_lookup(struct flow_table *tbl, flow_table 472 net/openvswitch/flow_table.c struct sw_flow *ovs_flow_tbl_lookup_exact(struct flow_table *tbl, flow_table 511 net/openvswitch/flow_table.c struct sw_flow *ovs_flow_tbl_lookup_ufid(struct flow_table *tbl, flow_table 529 net/openvswitch/flow_table.c int ovs_flow_tbl_num_masks(const struct flow_table *table) flow_table 547 net/openvswitch/flow_table.c static void flow_mask_remove(struct flow_table *tbl, struct sw_flow_mask *mask) flow_table 565 net/openvswitch/flow_table.c void ovs_flow_tbl_remove(struct flow_table *table, struct sw_flow *flow) flow_table 571 net/openvswitch/flow_table.c hlist_del_rcu(&flow->flow_table.node[ti->node_ver]); flow_table 606 net/openvswitch/flow_table.c static struct sw_flow_mask *flow_mask_find(const struct flow_table *tbl, flow_table 622 net/openvswitch/flow_table.c static int flow_mask_insert(struct flow_table *tbl, struct sw_flow *flow, flow_table 645 net/openvswitch/flow_table.c static void flow_key_insert(struct flow_table *table, struct sw_flow *flow) flow_table 650 net/openvswitch/flow_table.c flow->flow_table.hash = flow_hash(&flow->key, &flow->mask->range); flow_table 669 net/openvswitch/flow_table.c static void flow_ufid_insert(struct flow_table *table, struct sw_flow *flow) flow_table 691 net/openvswitch/flow_table.c int ovs_flow_tbl_insert(struct flow_table *table, struct sw_flow *flow, flow_table 51 net/openvswitch/flow_table.h int ovs_flow_tbl_init(struct flow_table *); flow_table 52 net/openvswitch/flow_table.h int ovs_flow_tbl_count(const struct flow_table *table); flow_table 53 net/openvswitch/flow_table.h void ovs_flow_tbl_destroy(struct flow_table *table); flow_table 54 net/openvswitch/flow_table.h int ovs_flow_tbl_flush(struct flow_table *flow_table); flow_table 56 net/openvswitch/flow_table.h int ovs_flow_tbl_insert(struct flow_table *table, struct sw_flow *flow, flow_table 58 net/openvswitch/flow_table.h void ovs_flow_tbl_remove(struct flow_table *table, struct sw_flow *flow); flow_table 59 net/openvswitch/flow_table.h int ovs_flow_tbl_num_masks(const struct flow_table *table); flow_table 62 net/openvswitch/flow_table.h struct sw_flow *ovs_flow_tbl_lookup_stats(struct flow_table *, flow_table 65 net/openvswitch/flow_table.h struct sw_flow *ovs_flow_tbl_lookup(struct flow_table *, flow_table 67 net/openvswitch/flow_table.h struct sw_flow *ovs_flow_tbl_lookup_exact(struct flow_table *tbl, flow_table 69 net/openvswitch/flow_table.h struct sw_flow *ovs_flow_tbl_lookup_ufid(struct flow_table *,