/linux/net/openvswitch/ |
A D | flow_table.h | 62 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); 88 int ovs_flow_tbl_num_masks(const struct flow_table *table); 93 struct sw_flow *ovs_flow_tbl_lookup_stats(struct flow_table *, 98 struct sw_flow *ovs_flow_tbl_lookup(struct flow_table *, 102 struct sw_flow *ovs_flow_tbl_lookup_ufid(struct flow_table *, 110 void ovs_flow_masks_rebalance(struct flow_table *table); [all …]
|
A D | flow_table.c | 102 int ovs_flow_tbl_count(const struct flow_table *table) in ovs_flow_tbl_count() 413 int ovs_flow_tbl_init(struct flow_table *table) in ovs_flow_tbl_init() 466 hlist_del_rcu(&flow->flow_table.node[ti->node_ver]); in table_instance_flow_free() 490 flow_table.node[ti->node_ver]) { in table_instance_flow_flush() 515 void ovs_flow_tbl_destroy(struct flow_table *table) in ovs_flow_tbl_destroy() 565 head = find_bucket(ti, flow->flow_table.hash); in table_instance_insert() 599 flow_table.node[old_ver], in flow_table_copy_flows() 619 int ovs_flow_tbl_flush(struct flow_table *flow_table) in ovs_flow_tbl_flush() argument 631 old_ti = ovsl_dereference(flow_table->ti); in ovs_flow_tbl_flush() 634 rcu_assign_pointer(flow_table->ti, new_ti); in ovs_flow_tbl_flush() [all …]
|
A D | Makefile | 14 flow_table.o \
|
A D | datapath.h | 89 struct flow_table table;
|
A D | flow.h | 212 } flow_table, ufid_table; member
|
A D | datapath.c | 1839 struct flow_table *table = &dp->table; in __dp_destroy()
|
/linux/net/netfilter/ |
A D | nf_flow_table_core.c | 319 nf_flow_offload_add(flow_table, flow); in flow_offload_add() 338 nf_flow_offload_add(flow_table, flow); in flow_offload_refresh() 456 struct nf_flowtable *flow_table = data; in nf_flow_offload_gc_step() local 468 flow_offload_del(flow_table, flow); in nf_flow_offload_gc_step() 470 flow_offload_del(flow_table, flow); in nf_flow_offload_gc_step() 479 struct nf_flowtable *flow_table; in nf_flow_offload_work_gc() local 482 nf_flow_table_iterate(flow_table, nf_flow_offload_gc_step, flow_table); in nf_flow_offload_work_gc() 635 list_del(&flow_table->list); in nf_flow_table_free() 640 nf_flow_table_iterate(flow_table, nf_flow_offload_gc_step, flow_table); in nf_flow_table_free() 641 nf_flow_table_offload_flush(flow_table); in nf_flow_table_free() [all …]
|
A D | nf_flow_table_ip.c | 332 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/include/net/netfilter/ |
A D | nf_flow_table.h | 213 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() 262 void flow_offload_refresh(struct nf_flowtable *flow_table, 271 int nf_flow_table_init(struct nf_flowtable *flow_table); [all …]
|
/linux/drivers/net/ethernet/mediatek/ |
A D | mtk_ppe_offload.c | 189 if (rhashtable_lookup(ð->flow_table, &f->cookie, mtk_flow_ht_params)) in mtk_flow_offload_replace() 346 err = rhashtable_insert_fast(ð->flow_table, &entry->node, in mtk_flow_offload_replace() 364 entry = rhashtable_lookup(ð->flow_table, &f->cookie, in mtk_flow_offload_destroy() 370 rhashtable_remove_fast(ð->flow_table, &entry->node, in mtk_flow_offload_destroy() 384 entry = rhashtable_lookup(ð->flow_table, &f->cookie, in mtk_flow_offload_stats() 497 return rhashtable_init(ð->flow_table, &mtk_flow_ht_params); in mtk_eth_offload_init()
|
A D | mtk_eth_soc.h | 969 struct rhashtable flow_table; member
|
/linux/drivers/net/ethernet/marvell/octeontx2/nic/ |
A D | otx2_tc.c | 629 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()
|
A D | otx2_common.h | 311 struct rhashtable flow_table; member
|
/linux/drivers/net/ethernet/netronome/nfp/flower/ |
A D | metadata.c | 109 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()
|
A D | offload.c | 1063 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()
|
A D | conntrack.c | 815 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()
|
A D | main.h | 211 struct rhashtable flow_table; member
|
/linux/drivers/net/ethernet/broadcom/bnxt/ |
A D | bnxt_tc.c | 1485 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()
|
A D | bnxt.h | 1392 struct rhashtable flow_table; member
|
/linux/net/core/ |
A D | net-sysfs.c | 899 struct rps_dev_flow_table *flow_table; in show_rps_dev_flow_table_cnt() local 903 flow_table = rcu_dereference(queue->rps_flow_table); in show_rps_dev_flow_table_cnt() 904 if (flow_table) in show_rps_dev_flow_table_cnt() 905 val = (unsigned long)flow_table->mask + 1; in show_rps_dev_flow_table_cnt() 999 struct rps_dev_flow_table *flow_table; in rx_queue_release() local 1007 flow_table = rcu_dereference_protected(queue->rps_flow_table, 1); in rx_queue_release() 1008 if (flow_table) { in rx_queue_release() 1010 call_rcu(&flow_table->rcu, rps_dev_flow_table_release); in rx_queue_release()
|
A D | dev.c | 4380 struct rps_dev_flow_table *flow_table; in set_rps_cpu() local 4396 if (!flow_table) in set_rps_cpu() 4404 rflow = &flow_table->flows[flow_id]; in set_rps_cpu() 4428 struct rps_dev_flow_table *flow_table; in get_rps_cpu() local 4451 if (!flow_table && !map) in get_rps_cpu() 4460 if (flow_table && sock_flow_table) { in get_rps_cpu() 4475 rflow = &flow_table->flows[hash & flow_table->mask]; in get_rps_cpu() 4535 struct rps_dev_flow_table *flow_table; in rps_may_expire_flow() local 4542 if (flow_table && flow_id <= flow_table->mask) { in rps_may_expire_flow() 4543 rflow = &flow_table->flows[flow_id]; in rps_may_expire_flow() [all …]
|
/linux/drivers/infiniband/hw/mlx5/ |
A D | fs.c | 692 mlx5_destroy_flow_table(prio->flow_table); in put_flow_table() 693 prio->flow_table = NULL; in put_flow_table() 758 prio->flow_table = ft; in _get_prio() 844 ft = prio->flow_table; in get_flow_table() 988 if (!prio->flow_table) { in mlx5_ib_fs_add_op_fc() 1004 opfc->rule[i] = mlx5_add_flow_rules(prio->flow_table, &spec[i], in mlx5_ib_fs_add_op_fc() 1096 struct mlx5_flow_table *ft = ft_prio->flow_table; in _create_flow_rule() 1213 ft_prio->flow_table = ft; in _create_flow_rule() 1564 if (prio->flow_table) in _get_flow_table() 1583 struct mlx5_flow_table *ft = ft_prio->flow_table; in _create_raw_flow_rule() [all …]
|
A D | mlx5_ib.h | 236 struct mlx5_flow_table *flow_table; member
|
/linux/include/net/ |
A D | flow_offload.h | 245 struct nf_flowtable *flow_table; member
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
A D | tc_ct.c | 1374 attr->ct_attr.nf_ft = act->ct.flow_table; in mlx5_tc_ct_parse_action()
|