Home
last modified time | relevance | path

Searched refs:flow_table (Results 1 – 25 of 26) sorted by relevance

12

/Linux-v5.15/net/openvswitch/
Dflow_table.h62 struct flow_table { struct
80 int ovs_flow_tbl_init(struct flow_table *); argument
81 int ovs_flow_tbl_count(const struct flow_table *table);
82 void ovs_flow_tbl_destroy(struct flow_table *table);
83 int ovs_flow_tbl_flush(struct flow_table *flow_table);
85 int ovs_flow_tbl_insert(struct flow_table *table, struct sw_flow *flow,
87 void ovs_flow_tbl_remove(struct flow_table *table, struct sw_flow *flow);
88 int ovs_flow_tbl_num_masks(const struct flow_table *table);
89 u32 ovs_flow_tbl_masks_cache_size(const struct flow_table *table);
90 int ovs_flow_tbl_masks_cache_resize(struct flow_table *table, u32 size);
[all …]
Dflow_table.c102 int ovs_flow_tbl_count(const struct flow_table *table) in ovs_flow_tbl_count()
247 static int tbl_mask_array_realloc(struct flow_table *tbl, int size) in tbl_mask_array_realloc()
272 static int tbl_mask_array_add_mask(struct flow_table *tbl, in tbl_mask_array_add_mask()
300 static void tbl_mask_array_del_mask(struct flow_table *tbl, in tbl_mask_array_del_mask()
333 static void flow_mask_remove(struct flow_table *tbl, struct sw_flow_mask *mask) in flow_mask_remove()
391 int ovs_flow_tbl_masks_cache_resize(struct flow_table *table, u32 size) in ovs_flow_tbl_masks_cache_resize()
413 int ovs_flow_tbl_init(struct flow_table *table) in ovs_flow_tbl_init()
461 static void table_instance_flow_free(struct flow_table *table, in table_instance_flow_free()
466 hlist_del_rcu(&flow->flow_table.node[ti->node_ver]); in table_instance_flow_free()
478 void table_instance_flow_flush(struct flow_table *table, in table_instance_flow_flush()
[all …]
DMakefile14 flow_table.o \
Ddatapath.h89 struct flow_table table;
Dflow.h212 } flow_table, ufid_table; member
Ddatapath.c1839 struct flow_table *table = &dp->table; in __dp_destroy()
/Linux-v5.15/net/netfilter/
Dnf_flow_table_core.c293 int flow_offload_add(struct nf_flowtable *flow_table, struct flow_offload *flow) in flow_offload_add() argument
299 err = rhashtable_insert_fast(&flow_table->rhashtable, in flow_offload_add()
305 err = rhashtable_insert_fast(&flow_table->rhashtable, in flow_offload_add()
309 rhashtable_remove_fast(&flow_table->rhashtable, in flow_offload_add()
317 if (nf_flowtable_hw_offload(flow_table)) { in flow_offload_add()
319 nf_flow_offload_add(flow_table, flow); in flow_offload_add()
326 void flow_offload_refresh(struct nf_flowtable *flow_table, in flow_offload_refresh() argument
335 if (likely(!nf_flowtable_hw_offload(flow_table))) in flow_offload_refresh()
338 nf_flow_offload_add(flow_table, flow); in flow_offload_refresh()
347 static void flow_offload_del(struct nf_flowtable *flow_table, in flow_offload_del() argument
[all …]
Dnf_flow_table_ip.c332 struct nf_flowtable *flow_table = priv; in nf_flow_offload_ip_hook() local
351 tuplehash = flow_offload_lookup(flow_table, &tuple); in nf_flow_offload_ip_hook()
370 flow_offload_refresh(flow_table, flow); in nf_flow_offload_ip_hook()
381 if (flow_table->flags & NF_FLOWTABLE_COUNTER) in nf_flow_offload_ip_hook()
568 struct nf_flowtable *flow_table = priv; in nf_flow_offload_ipv6_hook() local
587 tuplehash = flow_offload_lookup(flow_table, &tuple); in nf_flow_offload_ipv6_hook()
606 flow_offload_refresh(flow_table, flow); in nf_flow_offload_ipv6_hook()
616 if (flow_table->flags & NF_FLOWTABLE_COUNTER) in nf_flow_offload_ipv6_hook()
/Linux-v5.15/include/net/netfilter/
Dnf_flow_table.h213 nf_flow_table_offload_add_cb(struct nf_flowtable *flow_table, in nf_flow_table_offload_add_cb() argument
216 struct flow_block *block = &flow_table->flow_block; in nf_flow_table_offload_add_cb()
220 down_write(&flow_table->flow_block_lock); in nf_flow_table_offload_add_cb()
236 up_write(&flow_table->flow_block_lock); in nf_flow_table_offload_add_cb()
241 nf_flow_table_offload_del_cb(struct nf_flowtable *flow_table, in nf_flow_table_offload_del_cb() argument
244 struct flow_block *block = &flow_table->flow_block; in nf_flow_table_offload_del_cb()
247 down_write(&flow_table->flow_block_lock); in nf_flow_table_offload_del_cb()
255 up_write(&flow_table->flow_block_lock); in nf_flow_table_offload_del_cb()
261 int flow_offload_add(struct nf_flowtable *flow_table, struct flow_offload *flow);
262 void flow_offload_refresh(struct nf_flowtable *flow_table,
[all …]
/Linux-v5.15/drivers/net/ethernet/mediatek/
Dmtk_ppe_offload.c189 if (rhashtable_lookup(&eth->flow_table, &f->cookie, mtk_flow_ht_params)) in mtk_flow_offload_replace()
346 err = rhashtable_insert_fast(&eth->flow_table, &entry->node, in mtk_flow_offload_replace()
364 entry = rhashtable_lookup(&eth->flow_table, &f->cookie, in mtk_flow_offload_destroy()
370 rhashtable_remove_fast(&eth->flow_table, &entry->node, in mtk_flow_offload_destroy()
384 entry = rhashtable_lookup(&eth->flow_table, &f->cookie, in mtk_flow_offload_stats()
497 return rhashtable_init(&eth->flow_table, &mtk_flow_ht_params); in mtk_eth_offload_init()
Dmtk_eth_soc.h969 struct rhashtable flow_table; member
/Linux-v5.15/drivers/net/ethernet/marvell/octeontx2/nic/
Dotx2_tc.c629 flow_node = rhashtable_lookup_fast(&tc_info->flow_table, in otx2_tc_del_flow()
661 WARN_ON(rhashtable_remove_fast(&nic->tc_info.flow_table, in otx2_tc_del_flow()
707 old_node = rhashtable_lookup_fast(&tc_info->flow_table, in otx2_tc_add_flow()
743 rc = rhashtable_insert_fast(&nic->tc_info.flow_table, &new_node->node, in otx2_tc_add_flow()
790 flow_node = rhashtable_lookup_fast(&tc_info->flow_table, in otx2_tc_get_flow_stats()
1053 return rhashtable_init(&tc->flow_table, &tc->flow_ht_params); in otx2_init_tc()
1061 rhashtable_destroy(&tc->flow_table); in otx2_shutdown_tc()
Dotx2_common.h302 struct rhashtable flow_table; member
/Linux-v5.15/drivers/net/ethernet/netronome/nfp/flower/
Dmetadata.c109 return rhashtable_lookup_fast(&priv->flow_table, &flower_cmp_arg, in nfp_flower_search_fl_table()
521 err = rhashtable_init(&priv->flow_table, &nfp_flower_table_params); in nfp_flower_metadata_init()
594 rhashtable_destroy(&priv->flow_table); in nfp_flower_metadata_init()
699 rhashtable_free_and_destroy(&priv->flow_table, in nfp_flower_metadata_cleanup()
Doffload.c1063 err = rhashtable_insert_fast(&priv->flow_table, &merge_flow->fl_node, in nfp_flower_merge_offloaded_flows()
1096 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_flower_merge_offloaded_flows()
1358 err = rhashtable_insert_fast(&priv->flow_table, &flow_pay->fl_node, in nfp_flower_add_offload()
1384 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_flower_add_offload()
1467 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_flower_remove_merge_flow()
1555 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_flower_del_offload()
Dconntrack.c815 err = rhashtable_insert_fast(&priv->flow_table, &flow_pay->fl_node, in nfp_fl_ct_add_offload()
834 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_fl_ct_add_offload()
891 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_fl_ct_del_offload()
1439 zt->nft = ct_act->ct.flow_table; in nfp_fl_ct_handle_pre_ct()
Dmain.h211 struct rhashtable flow_table; member
/Linux-v5.15/drivers/net/ethernet/broadcom/bnxt/
Dbnxt_tc.c1485 rc = rhashtable_remove_fast(&tc_info->flow_table, &flow_node->node, in __bnxt_tc_del_flow()
1556 old_node = rhashtable_lookup_fast(&tc_info->flow_table, in bnxt_tc_add_flow()
1584 rc = rhashtable_insert_fast(&tc_info->flow_table, &new_node->node, in bnxt_tc_add_flow()
1614 flow_node = rhashtable_lookup_fast(&tc_info->flow_table, in bnxt_tc_del_flow()
1632 flow_node = rhashtable_lookup_fast(&tc_info->flow_table, in bnxt_tc_get_flow_stats()
1824 num_flows = atomic_read(&tc_info->flow_table.nelems); in bnxt_tc_flow_stats_work()
1828 rhashtable_walk_enter(&tc_info->flow_table, &tc_info->iter); in bnxt_tc_flow_stats_work()
2027 rc = rhashtable_init(&tc_info->flow_table, &tc_info->flow_ht_params); in bnxt_init_tc()
2075 rhashtable_destroy(&tc_info->flow_table); in bnxt_init_tc()
2090 rhashtable_destroy(&tc_info->flow_table); in bnxt_shutdown_tc()
Dbnxt.h1383 struct rhashtable flow_table; member
/Linux-v5.15/net/core/
Dnet-sysfs.c850 struct rps_dev_flow_table *flow_table; in show_rps_dev_flow_table_cnt() local
854 flow_table = rcu_dereference(queue->rps_flow_table); in show_rps_dev_flow_table_cnt()
855 if (flow_table) in show_rps_dev_flow_table_cnt()
856 val = (unsigned long)flow_table->mask + 1; in show_rps_dev_flow_table_cnt()
950 struct rps_dev_flow_table *flow_table; in rx_queue_release() local
958 flow_table = rcu_dereference_protected(queue->rps_flow_table, 1); in rx_queue_release()
959 if (flow_table) { in rx_queue_release()
961 call_rcu(&flow_table->rcu, rps_dev_flow_table_release); in rx_queue_release()
Ddev.c4360 struct rps_dev_flow_table *flow_table; in set_rps_cpu() local
4375 flow_table = rcu_dereference(rxqueue->rps_flow_table); in set_rps_cpu()
4376 if (!flow_table) in set_rps_cpu()
4378 flow_id = skb_get_hash(skb) & flow_table->mask; in set_rps_cpu()
4384 rflow = &flow_table->flows[flow_id]; in set_rps_cpu()
4408 struct rps_dev_flow_table *flow_table; in get_rps_cpu() local
4429 flow_table = rcu_dereference(rxqueue->rps_flow_table); in get_rps_cpu()
4431 if (!flow_table && !map) in get_rps_cpu()
4440 if (flow_table && sock_flow_table) { in get_rps_cpu()
4455 rflow = &flow_table->flows[hash & flow_table->mask]; in get_rps_cpu()
[all …]
/Linux-v5.15/drivers/infiniband/hw/mlx5/
Dfs.c690 mlx5_destroy_flow_table(prio->flow_table); in put_flow_table()
691 prio->flow_table = NULL; in put_flow_table()
756 prio->flow_table = ft; in _get_prio()
842 ft = prio->flow_table; in get_flow_table()
909 struct mlx5_flow_table *ft = ft_prio->flow_table; in _create_flow_rule()
1026 ft_prio->flow_table = ft; in _create_flow_rule()
1377 if (prio->flow_table) in _get_flow_table()
1396 struct mlx5_flow_table *ft = ft_prio->flow_table; in _create_raw_flow_rule()
1425 ft_prio->flow_table = ft; in _create_raw_flow_rule()
Dmlx5_ib.h236 struct mlx5_flow_table *flow_table; member
/Linux-v5.15/include/net/
Dflow_offload.h245 struct nf_flowtable *flow_table; member
/Linux-v5.15/drivers/net/ethernet/mellanox/mlx5/core/en/
Dtc_ct.c1370 attr->ct_attr.nf_ft = act->ct.flow_table; in mlx5_tc_ct_parse_action()

12