/kernel/linux/linux-5.10/net/openvswitch/ |
H A D | flow_table.h | 62 struct flow_table { struct 80 int ovs_flow_tbl_init(struct flow_table *); 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 *tabl [all...] |
H A D | flow_table.c | 102 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 *tabl 619 ovs_flow_tbl_flush(struct flow_table *flow_table) ovs_flow_tbl_flush() argument [all...] |
H A D | Makefile | 14 flow_table.o \
|
H A D | datapath.h | 19 #include "flow_table.h" 73 struct flow_table table;
|
H A D | flow.h | 212 } flow_table, ufid_table; member
|
/kernel/linux/linux-6.6/net/openvswitch/ |
H A D | flow_table.h | 62 struct flow_table { struct 80 int ovs_flow_tbl_init(struct flow_table *); 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 *tabl [all...] |
H A D | flow_table.c | 103 int ovs_flow_tbl_count(const struct flow_table *table) in ovs_flow_tbl_count() 248 static int tbl_mask_array_realloc(struct flow_table *tbl, int size) in tbl_mask_array_realloc() 273 static int tbl_mask_array_add_mask(struct flow_table *tbl, in tbl_mask_array_add_mask() 301 static void tbl_mask_array_del_mask(struct flow_table *tbl, in tbl_mask_array_del_mask() 334 static void flow_mask_remove(struct flow_table *tbl, struct sw_flow_mask *mask) in flow_mask_remove() 392 int ovs_flow_tbl_masks_cache_resize(struct flow_table *table, u32 size) in ovs_flow_tbl_masks_cache_resize() 414 int ovs_flow_tbl_init(struct flow_table *table) in ovs_flow_tbl_init() 462 static void table_instance_flow_free(struct flow_table *table, in table_instance_flow_free() 467 hlist_del_rcu(&flow->flow_table.node[ti->node_ver]); in table_instance_flow_free() 479 void table_instance_flow_flush(struct flow_table *tabl 620 ovs_flow_tbl_flush(struct flow_table *flow_table) ovs_flow_tbl_flush() argument [all...] |
H A D | Makefile | 14 flow_table.o \
|
H A D | datapath.h | 19 #include "flow_table.h" 89 struct flow_table table;
|
/kernel/linux/linux-6.6/net/netfilter/ |
H A D | nf_flow_table_core.c | 279 int flow_offload_add(struct nf_flowtable *flow_table, struct flow_offload *flow) in flow_offload_add() argument 285 err = rhashtable_insert_fast(&flow_table->rhashtable, in flow_offload_add() 291 err = rhashtable_insert_fast(&flow_table->rhashtable, in flow_offload_add() 295 rhashtable_remove_fast(&flow_table->rhashtable, in flow_offload_add() 303 if (nf_flowtable_hw_offload(flow_table)) { in flow_offload_add() 305 nf_flow_offload_add(flow_table, flow); in flow_offload_add() 312 void flow_offload_refresh(struct nf_flowtable *flow_table, in flow_offload_refresh() argument 323 if (likely(!nf_flowtable_hw_offload(flow_table))) in flow_offload_refresh() 326 nf_flow_offload_add(flow_table, flow); in flow_offload_refresh() 335 static void flow_offload_del(struct nf_flowtable *flow_table, in flow_offload_del() argument 356 flow_offload_lookup(struct nf_flowtable *flow_table, struct flow_offload_tuple *tuple) flow_offload_lookup() argument 381 nf_flow_table_iterate(struct nf_flowtable *flow_table, void (*iter)(struct nf_flowtable *flowtable, struct flow_offload *flow, void *data), void *data) nf_flow_table_iterate() argument 415 nf_flow_custom_gc(struct nf_flowtable *flow_table, const struct flow_offload *flow) nf_flow_custom_gc() argument 421 nf_flow_offload_gc_step(struct nf_flowtable *flow_table, struct flow_offload *flow, void *data) nf_flow_offload_gc_step() argument 443 nf_flow_table_gc_run(struct nf_flowtable *flow_table) nf_flow_table_gc_run() argument 450 struct nf_flowtable *flow_table; nf_flow_offload_work_gc() local 569 nf_flow_table_do_cleanup(struct nf_flowtable *flow_table, struct flow_offload *flow, void *data) nf_flow_table_do_cleanup() argument 604 nf_flow_table_free(struct nf_flowtable *flow_table) nf_flow_table_free() argument [all...] |
H A D | nf_flow_table_ip.c | 347 struct nf_flowtable *flow_table, struct sk_buff *skb) in nf_flow_offload_lookup() 358 return flow_offload_lookup(flow_table, &tuple); in nf_flow_offload_lookup() 362 struct nf_flowtable *flow_table, in nf_flow_offload_forward() 391 flow_offload_refresh(flow_table, flow, false); in nf_flow_offload_forward() 402 if (flow_table->flags & NF_FLOWTABLE_COUNTER) in nf_flow_offload_forward() 413 struct nf_flowtable *flow_table = priv; in nf_flow_offload_ip_hook() local 424 tuplehash = nf_flow_offload_lookup(&ctx, flow_table, skb); in nf_flow_offload_ip_hook() 428 ret = nf_flow_offload_forward(&ctx, flow_table, tuplehash, skb); in nf_flow_offload_ip_hook() 641 struct nf_flowtable *flow_table, in nf_flow_offload_ipv6_forward() 670 flow_offload_refresh(flow_table, flo in nf_flow_offload_ipv6_forward() 346 nf_flow_offload_lookup(struct nf_flowtable_ctx *ctx, struct nf_flowtable *flow_table, struct sk_buff *skb) nf_flow_offload_lookup() argument 361 nf_flow_offload_forward(struct nf_flowtable_ctx *ctx, struct nf_flowtable *flow_table, struct flow_offload_tuple_rhash *tuplehash, struct sk_buff *skb) nf_flow_offload_forward() argument 640 nf_flow_offload_ipv6_forward(struct nf_flowtable_ctx *ctx, struct nf_flowtable *flow_table, struct flow_offload_tuple_rhash *tuplehash, struct sk_buff *skb) nf_flow_offload_ipv6_forward() argument 687 nf_flow_offload_ipv6_lookup(struct nf_flowtable_ctx *ctx, struct nf_flowtable *flow_table, struct sk_buff *skb) nf_flow_offload_ipv6_lookup() argument 708 struct nf_flowtable *flow_table = priv; nf_flow_offload_ipv6_hook() local [all...] |
/kernel/linux/linux-5.10/net/netfilter/ |
H A D | nf_flow_table_core.c | 224 int flow_offload_add(struct nf_flowtable *flow_table, struct flow_offload *flow) in flow_offload_add() argument 230 err = rhashtable_insert_fast(&flow_table->rhashtable, in flow_offload_add() 236 err = rhashtable_insert_fast(&flow_table->rhashtable, in flow_offload_add() 240 rhashtable_remove_fast(&flow_table->rhashtable, in flow_offload_add() 248 if (nf_flowtable_hw_offload(flow_table)) { in flow_offload_add() 250 nf_flow_offload_add(flow_table, flow); in flow_offload_add() 257 void flow_offload_refresh(struct nf_flowtable *flow_table, in flow_offload_refresh() argument 262 if (likely(!nf_flowtable_hw_offload(flow_table))) in flow_offload_refresh() 265 nf_flow_offload_add(flow_table, flow); in flow_offload_refresh() 274 static void flow_offload_del(struct nf_flowtable *flow_table, in flow_offload_del() argument 303 flow_offload_lookup(struct nf_flowtable *flow_table, struct flow_offload_tuple *tuple) flow_offload_lookup() argument 328 nf_flow_table_iterate(struct nf_flowtable *flow_table, void (*iter)(struct flow_offload *flow, void *data), void *data) nf_flow_table_iterate() argument 363 struct nf_flowtable *flow_table = data; nf_flow_offload_gc_step() local 384 struct nf_flowtable *flow_table; nf_flow_offload_work_gc() local 562 nf_flow_table_free(struct nf_flowtable *flow_table) nf_flow_table_free() argument [all...] |
H A D | nf_flow_table_ip.c | 246 struct nf_flowtable *flow_table = priv; in nf_flow_offload_ip_hook() local 262 tuplehash = flow_offload_lookup(flow_table, &tuple); in nf_flow_offload_ip_hook() 281 flow_offload_refresh(flow_table, flow); in nf_flow_offload_ip_hook() 295 if (flow_table->flags & NF_FLOWTABLE_COUNTER) in nf_flow_offload_ip_hook() 488 struct nf_flowtable *flow_table = priv; in nf_flow_offload_ipv6_hook() local 503 tuplehash = flow_offload_lookup(flow_table, &tuple); in nf_flow_offload_ipv6_hook() 519 flow_offload_refresh(flow_table, flow); in nf_flow_offload_ipv6_hook() 536 if (flow_table->flags & NF_FLOWTABLE_COUNTER) in nf_flow_offload_ipv6_hook()
|
/kernel/linux/linux-6.6/include/net/netfilter/ |
H A D | nf_flow_table.h | 224 nf_flow_table_offload_add_cb(struct nf_flowtable *flow_table, in nf_flow_table_offload_add_cb() argument 227 struct flow_block *block = &flow_table->flow_block; in nf_flow_table_offload_add_cb() 231 down_write(&flow_table->flow_block_lock); in nf_flow_table_offload_add_cb() 245 up_write(&flow_table->flow_block_lock); in nf_flow_table_offload_add_cb() 247 if (flow_table->type->get) in nf_flow_table_offload_add_cb() 248 flow_table->type->get(flow_table); in nf_flow_table_offload_add_cb() 252 up_write(&flow_table->flow_block_lock); in nf_flow_table_offload_add_cb() 257 nf_flow_table_offload_del_cb(struct nf_flowtable *flow_table, in nf_flow_table_offload_del_cb() argument 260 struct flow_block *block = &flow_table in nf_flow_table_offload_del_cb() [all...] |
/kernel/linux/linux-5.10/include/net/netfilter/ |
H A D | nf_flow_table.h | 164 nf_flow_table_offload_add_cb(struct nf_flowtable *flow_table, in nf_flow_table_offload_add_cb() argument 167 struct flow_block *block = &flow_table->flow_block; in nf_flow_table_offload_add_cb() 171 down_write(&flow_table->flow_block_lock); in nf_flow_table_offload_add_cb() 187 up_write(&flow_table->flow_block_lock); in nf_flow_table_offload_add_cb() 192 nf_flow_table_offload_del_cb(struct nf_flowtable *flow_table, in nf_flow_table_offload_del_cb() argument 195 struct flow_block *block = &flow_table->flow_block; in nf_flow_table_offload_del_cb() 198 down_write(&flow_table->flow_block_lock); in nf_flow_table_offload_del_cb() 206 up_write(&flow_table->flow_block_lock); in nf_flow_table_offload_del_cb() 212 int flow_offload_add(struct nf_flowtable *flow_table, struct flow_offload *flow); 213 void flow_offload_refresh(struct nf_flowtable *flow_table, [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
H A D | macsec_fs.c | 399 struct mlx5_flow_table *flow_table; in macsec_fs_tx_create() local 429 flow_table = mlx5_create_flow_table(ns, &ft_attr); in macsec_fs_tx_create() 430 if (IS_ERR(flow_table)) { in macsec_fs_tx_create() 431 err = PTR_ERR(flow_table); in macsec_fs_tx_create() 435 ft_crypto->t = flow_table; in macsec_fs_tx_create() 473 flow_table = macsec_fs_auto_group_table_create(ns, 0, TX_CHECK_TABLE_LEVEL, in macsec_fs_tx_create() 475 if (IS_ERR(flow_table)) { in macsec_fs_tx_create() 476 err = PTR_ERR(flow_table); in macsec_fs_tx_create() 480 tx_tables->ft_check = flow_table; in macsec_fs_tx_create() 484 MLX5_SET(create_flow_group_in, flow_group_in, start_flow_index, flow_table in macsec_fs_tx_create() 1504 struct mlx5_flow_table *flow_table; macsec_fs_rx_create() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/mediatek/ |
H A D | mtk_ppe_offload.c | 256 if (rhashtable_lookup(ð->flow_table, &f->cookie, mtk_flow_ht_params)) in mtk_flow_offload_replace() 464 err = rhashtable_insert_fast(ð->flow_table, &entry->node, in mtk_flow_offload_replace() 485 entry = rhashtable_lookup(ð->flow_table, &f->cookie, in mtk_flow_offload_destroy() 491 rhashtable_remove_fast(ð->flow_table, &entry->node, in mtk_flow_offload_destroy() 507 entry = rhashtable_lookup(ð->flow_table, &f->cookie, in mtk_flow_offload_stats() 634 return rhashtable_init(ð->flow_table, &mtk_flow_ht_params); in mtk_eth_offload_init()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/netronome/nfp/flower/ |
H A D | metadata.c | 108 return rhashtable_lookup_fast(&priv->flow_table, &flower_cmp_arg, in nfp_flower_search_fl_table() 507 err = rhashtable_init(&priv->flow_table, &nfp_flower_table_params); in nfp_flower_metadata_init() 568 rhashtable_destroy(&priv->flow_table); in nfp_flower_metadata_init() 579 rhashtable_free_and_destroy(&priv->flow_table, in nfp_flower_metadata_cleanup()
|
/kernel/linux/linux-6.6/drivers/net/ethernet/netronome/nfp/flower/ |
H A D | metadata.c | 111 return rhashtable_lookup_fast(&priv->flow_table, &flower_cmp_arg, in nfp_flower_search_fl_table() 519 err = rhashtable_init(&priv->flow_table, &nfp_flower_table_params); in nfp_flower_metadata_init() 603 rhashtable_destroy(&priv->flow_table); in nfp_flower_metadata_init() 708 rhashtable_free_and_destroy(&priv->flow_table, in nfp_flower_metadata_cleanup()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/broadcom/bnxt/ |
H A D | bnxt_tc.c | 1477 rc = rhashtable_remove_fast(&tc_info->flow_table, &flow_node->node, in __bnxt_tc_del_flow() 1548 old_node = rhashtable_lookup_fast(&tc_info->flow_table, in bnxt_tc_add_flow() 1576 rc = rhashtable_insert_fast(&tc_info->flow_table, &new_node->node, in bnxt_tc_add_flow() 1606 flow_node = rhashtable_lookup_fast(&tc_info->flow_table, in bnxt_tc_del_flow() 1624 flow_node = rhashtable_lookup_fast(&tc_info->flow_table, in bnxt_tc_get_flow_stats() 1810 num_flows = atomic_read(&tc_info->flow_table.nelems); in bnxt_tc_flow_stats_work() 1814 rhashtable_walk_enter(&tc_info->flow_table, &tc_info->iter); in bnxt_tc_flow_stats_work() 2013 rc = rhashtable_init(&tc_info->flow_table, &tc_info->flow_ht_params); in bnxt_init_tc() 2061 rhashtable_destroy(&tc_info->flow_table); in bnxt_init_tc() 2077 rhashtable_destroy(&tc_info->flow_table); in bnxt_shutdown_tc() [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/broadcom/bnxt/ |
H 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() 2091 rhashtable_destroy(&tc_info->flow_table); in bnxt_shutdown_tc() [all...] |
/kernel/linux/linux-6.6/drivers/infiniband/hw/mlx5/ |
H A D | fs.c | 632 mlx5_destroy_flow_table(prio->flow_table); in put_flow_table() 633 prio->flow_table = NULL; in put_flow_table() 706 prio->flow_table = ft; in _get_prio() 792 ft = prio->flow_table; in get_flow_table() 936 if (!prio->flow_table) { in mlx5_ib_fs_add_op_fc() 952 opfc->rule[i] = mlx5_add_flow_rules(prio->flow_table, &spec[i], in mlx5_ib_fs_add_op_fc() 1044 struct mlx5_flow_table *ft = ft_prio->flow_table; in _create_flow_rule() 1155 ft_prio->flow_table = ft; in _create_flow_rule() 1506 if (prio->flow_table) in _get_flow_table() 1525 struct mlx5_flow_table *ft = ft_prio->flow_table; in _create_raw_flow_rule() [all...] |
/kernel/linux/linux-5.10/net/core/ |
H A D | net-sysfs.c | 859 struct rps_dev_flow_table *flow_table; in show_rps_dev_flow_table_cnt() local 863 flow_table = rcu_dereference(queue->rps_flow_table); in show_rps_dev_flow_table_cnt() 864 if (flow_table) in show_rps_dev_flow_table_cnt() 865 val = (unsigned long)flow_table->mask + 1; in show_rps_dev_flow_table_cnt() 959 struct rps_dev_flow_table *flow_table; in rx_queue_release() local 967 flow_table = rcu_dereference_protected(queue->rps_flow_table, 1); in rx_queue_release() 968 if (flow_table) { in rx_queue_release() 970 call_rcu(&flow_table->rcu, rps_dev_flow_table_release); in rx_queue_release()
|
/kernel/linux/linux-6.6/net/core/ |
H A D | net-sysfs.c | 917 struct rps_dev_flow_table *flow_table; in show_rps_dev_flow_table_cnt() local 921 flow_table = rcu_dereference(queue->rps_flow_table); in show_rps_dev_flow_table_cnt() 922 if (flow_table) in show_rps_dev_flow_table_cnt() 923 val = (unsigned long)flow_table->mask + 1; in show_rps_dev_flow_table_cnt() 1017 struct rps_dev_flow_table *flow_table; in rx_queue_release() local 1025 flow_table = rcu_dereference_protected(queue->rps_flow_table, 1); in rx_queue_release() 1026 if (flow_table) { in rx_queue_release() 1028 call_rcu(&flow_table->rcu, rps_dev_flow_table_release); in rx_queue_release()
|
/kernel/linux/linux-5.10/drivers/infiniband/hw/mlx5/ |
H A D | fs.c | 690 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() 1378 if (prio->flow_table) in _get_flow_table() 1397 struct mlx5_flow_table *ft = ft_prio->flow_table; in _create_raw_flow_rule() 1426 ft_prio->flow_table = ft; in _create_raw_flow_rule()
|