| /linux-6.15/net/openvswitch/ |
| H 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 …]
|
| H A D | flow_table.c | 103 int ovs_flow_tbl_count(const struct flow_table *table) in ovs_flow_tbl_count() 411 int ovs_flow_tbl_init(struct flow_table *table) in ovs_flow_tbl_init() 464 hlist_del_rcu(&flow->flow_table.node[ti->node_ver]); in table_instance_flow_free() 488 flow_table.node[ti->node_ver]) { in table_instance_flow_flush() 513 void ovs_flow_tbl_destroy(struct flow_table *table) in ovs_flow_tbl_destroy() 563 head = find_bucket(ti, flow->flow_table.hash); in table_instance_insert() 597 flow_table.node[old_ver], in flow_table_copy_flows() 617 int ovs_flow_tbl_flush(struct flow_table *flow_table) in ovs_flow_tbl_flush() argument 629 old_ti = ovsl_dereference(flow_table->ti); in ovs_flow_tbl_flush() 632 rcu_assign_pointer(flow_table->ti, new_ti); in ovs_flow_tbl_flush() [all …]
|
| H A D | Makefile | 14 flow_table.o \
|
| H A D | datapath.h | 92 struct flow_table table;
|
| H A D | flow.h | 226 } flow_table, ufid_table; member
|
| H A D | datapath.c | 1892 struct flow_table *table = &dp->table; in __dp_destroy()
|
| /linux-6.15/include/net/netfilter/ |
| H A D | nf_flow_table.h | 229 struct flow_block *block = &flow_table->flow_block; in nf_flow_table_offload_add_cb() 233 down_write(&flow_table->flow_block_lock); in nf_flow_table_offload_add_cb() 247 up_write(&flow_table->flow_block_lock); in nf_flow_table_offload_add_cb() 249 if (flow_table->type->get) in nf_flow_table_offload_add_cb() 250 flow_table->type->get(flow_table); in nf_flow_table_offload_add_cb() 254 up_write(&flow_table->flow_block_lock); in nf_flow_table_offload_add_cb() 262 struct flow_block *block = &flow_table->flow_block; in nf_flow_table_offload_del_cb() 265 down_write(&flow_table->flow_block_lock); in nf_flow_table_offload_del_cb() 273 up_write(&flow_table->flow_block_lock); in nf_flow_table_offload_del_cb() 275 if (flow_table->type->put) in nf_flow_table_offload_del_cb() [all …]
|
| /linux-6.15/net/netfilter/ |
| H A D | nf_flow_table_core.c | 345 nf_flow_offload_add(flow_table, flow); in flow_offload_add() 367 nf_flow_offload_add(flow_table, flow); in flow_offload_refresh() 443 iter(flow_table, flow, data); in nf_flow_table_iterate() 454 return flow_table->type->gc && flow_table->type->gc(flow); in nf_flow_custom_gc() 573 flow_offload_del(flow_table, flow); in nf_flow_offload_gc_step() 575 flow_offload_del(flow_table, flow); in nf_flow_offload_gc_step() 580 nf_flow_offload_del(flow_table, flow); in nf_flow_offload_gc_step() 593 struct nf_flowtable *flow_table; in nf_flow_offload_work_gc() local 596 nf_flow_table_gc_run(flow_table); in nf_flow_offload_work_gc() 750 list_del(&flow_table->list); in nf_flow_table_free() [all …]
|
| H A D | nf_flow_table_ip.c | 367 return flow_offload_lookup(flow_table, &tuple); in nf_flow_offload_lookup() 371 struct nf_flowtable *flow_table, in nf_flow_offload_forward() argument 400 flow_offload_refresh(flow_table, flow, false); in nf_flow_offload_forward() 411 if (flow_table->flags & NF_FLOWTABLE_COUNTER) in nf_flow_offload_forward() 422 struct nf_flowtable *flow_table = priv; in nf_flow_offload_ip_hook() local 650 struct nf_flowtable *flow_table, in nf_flow_offload_ipv6_forward() argument 679 flow_offload_refresh(flow_table, flow, false); in nf_flow_offload_ipv6_forward() 689 if (flow_table->flags & NF_FLOWTABLE_COUNTER) in nf_flow_offload_ipv6_forward() 697 struct nf_flowtable *flow_table, in nf_flow_offload_ipv6_lookup() argument 709 return flow_offload_lookup(flow_table, &tuple); in nf_flow_offload_ipv6_lookup() [all …]
|
| /linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
| H A D | macsec_fs.c | 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() 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() 1539 if (IS_ERR(flow_table)) { in macsec_fs_rx_create() 1540 err = PTR_ERR(flow_table); in macsec_fs_rx_create() 1544 ft_crypto->t = flow_table; in macsec_fs_rx_create() 1571 if (IS_ERR(flow_table)) { in macsec_fs_rx_create() [all …]
|
| /linux-6.15/drivers/net/ethernet/mediatek/ |
| H A D | mtk_ppe_offload.c | 262 if (rhashtable_lookup(ð->flow_table, &f->cookie, mtk_flow_ht_params)) in mtk_flow_offload_replace() 483 err = rhashtable_insert_fast(ð->flow_table, &entry->node, in mtk_flow_offload_replace() 504 entry = rhashtable_lookup(ð->flow_table, &f->cookie, in mtk_flow_offload_destroy() 510 rhashtable_remove_fast(ð->flow_table, &entry->node, in mtk_flow_offload_destroy() 526 entry = rhashtable_lookup(ð->flow_table, &f->cookie, in mtk_flow_offload_stats() 655 return rhashtable_init(ð->flow_table, &mtk_flow_ht_params); in mtk_eth_offload_init()
|
| H A D | mtk_eth_soc.h | 1305 struct rhashtable flow_table; member
|
| /linux-6.15/drivers/net/ethernet/airoha/ |
| H A D | airoha_ppe.c | 553 if (rhashtable_lookup(ð->flow_table, &f->cookie, in airoha_ppe_flow_offload_replace() 720 err = rhashtable_insert_fast(ð->flow_table, &e->node, in airoha_ppe_flow_offload_replace() 741 e = rhashtable_lookup(ð->flow_table, &f->cookie, in airoha_ppe_flow_offload_destroy() 747 rhashtable_remove_fast(ð->flow_table, &e->node, in airoha_ppe_flow_offload_destroy() 889 err = rhashtable_init(ð->flow_table, &airoha_flow_table_params); in airoha_ppe_init() 895 rhashtable_destroy(ð->flow_table); in airoha_ppe_init() 912 rhashtable_destroy(ð->flow_table); in airoha_ppe_deinit()
|
| H A D | airoha_eth.h | 498 struct rhashtable flow_table; member
|
| /linux-6.15/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()
|
| H A D | offload.c | 1065 err = rhashtable_insert_fast(&priv->flow_table, &merge_flow->fl_node, in nfp_flower_merge_offloaded_flows() 1098 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_flower_merge_offloaded_flows() 1392 err = rhashtable_insert_fast(&priv->flow_table, &flow_pay->fl_node, in nfp_flower_add_offload() 1437 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_flower_add_offload() 1520 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_flower_remove_merge_flow() 1622 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_flower_del_offload()
|
| H A D | conntrack.c | 1092 err = rhashtable_insert_fast(&priv->flow_table, &flow_pay->fl_node, in nfp_fl_ct_add_offload() 1111 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_fl_ct_add_offload() 1168 WARN_ON_ONCE(rhashtable_remove_fast(&priv->flow_table, in nfp_fl_ct_del_offload() 1838 zt->nft = ct_act->ct.flow_table; in nfp_fl_ct_handle_pre_ct()
|
| H A D | main.h | 313 struct rhashtable flow_table; member
|
| /linux-6.15/drivers/net/ethernet/broadcom/bnxt/ |
| H A D | bnxt_tc.c | 1489 rc = rhashtable_remove_fast(&tc_info->flow_table, &flow_node->node, in __bnxt_tc_del_flow() 1560 old_node = rhashtable_lookup_fast(&tc_info->flow_table, in bnxt_tc_add_flow() 1588 rc = rhashtable_insert_fast(&tc_info->flow_table, &new_node->node, in bnxt_tc_add_flow() 1618 flow_node = rhashtable_lookup_fast(&tc_info->flow_table, in bnxt_tc_del_flow() 1636 flow_node = rhashtable_lookup_fast(&tc_info->flow_table, in bnxt_tc_get_flow_stats() 1828 num_flows = atomic_read(&tc_info->flow_table.nelems); in bnxt_tc_flow_stats_work() 1832 rhashtable_walk_enter(&tc_info->flow_table, &tc_info->iter); in bnxt_tc_flow_stats_work() 2031 rc = rhashtable_init(&tc_info->flow_table, &tc_info->flow_ht_params); in bnxt_init_tc() 2079 rhashtable_destroy(&tc_info->flow_table); in bnxt_init_tc() 2095 rhashtable_destroy(&tc_info->flow_table); in bnxt_shutdown_tc()
|
| /linux-6.15/drivers/infiniband/hw/mlx5/ |
| H A D | fs.c | 638 mlx5_destroy_flow_table(prio->flow_table); in put_flow_table() 639 prio->flow_table = NULL; in put_flow_table() 713 prio->flow_table = ft; in _get_prio() 799 ft = prio->flow_table; in get_flow_table() 1003 if (prio->flow_table) in get_per_qp_prio() 1302 if (!prio->flow_table) { in mlx5_ib_fs_add_op_fc() 1425 WARN_ON(!prio->flow_table); in mlx5r_fs_bind_op_fc() 1630 ft_prio->flow_table = ft; in _create_flow_rule() 2046 if (prio->flow_table) in _get_flow_table() 2094 ft_prio->flow_table = ft; in _create_raw_flow_rule() [all …]
|
| H A D | mlx5_ib.h | 255 struct mlx5_flow_table *flow_table; member
|
| /linux-6.15/net/core/ |
| H A D | net-sysfs.c | 1053 struct rps_dev_flow_table *flow_table; in show_rps_dev_flow_table_cnt() local 1057 flow_table = rcu_dereference(queue->rps_flow_table); in show_rps_dev_flow_table_cnt() 1058 if (flow_table) in show_rps_dev_flow_table_cnt() 1059 val = 1UL << flow_table->log; in show_rps_dev_flow_table_cnt() 1153 struct rps_dev_flow_table *flow_table; in rx_queue_release() local 1161 flow_table = rcu_dereference_protected(queue->rps_flow_table, 1); in rx_queue_release() 1162 if (flow_table) { in rx_queue_release() 1164 call_rcu(&flow_table->rcu, rps_dev_flow_table_release); in rx_queue_release()
|
| H A D | dev.c | 4752 return hash_32(hash, flow_table->log); in rfs_slot() 4779 if (!flow_table) in set_rps_cpu() 4787 rflow = &flow_table->flows[flow_id]; in set_rps_cpu() 4811 struct rps_dev_flow_table *flow_table; in get_rps_cpu() local 4834 if (!flow_table && !map) in get_rps_cpu() 4843 if (flow_table && sock_flow_table) { in get_rps_cpu() 4860 rflow = &flow_table->flows[rfs_slot(hash, flow_table)]; in get_rps_cpu() 4920 struct rps_dev_flow_table *flow_table; in rps_may_expire_flow() local 4927 if (flow_table && flow_id < (1UL << flow_table->log)) { in rps_may_expire_flow() 4928 rflow = &flow_table->flows[flow_id]; in rps_may_expire_flow() [all …]
|
| /linux-6.15/include/net/ |
| H A D | flow_offload.h | 295 struct nf_flowtable *flow_table; member
|
| /linux-6.15/net/sched/ |
| H A D | act_ct.c | 1613 entry->ct.flow_table = tcf_ct_ft(act); in tcf_ct_offload_act_setup()
|