Home
last modified time | relevance | path

Searched refs:flow_block (Results 1 – 16 of 16) sorted by relevance

/Linux-v5.10/drivers/net/ethernet/mellanox/mlxsw/
Dspectrum_flow.c135 static int mlxsw_sp_flow_block_mall_cb(struct mlxsw_sp_flow_block *flow_block, in mlxsw_sp_flow_block_mall_cb() argument
138 struct mlxsw_sp *mlxsw_sp = mlxsw_sp_flow_block_mlxsw_sp(flow_block); in mlxsw_sp_flow_block_mall_cb()
142 return mlxsw_sp_mall_replace(mlxsw_sp, flow_block, f); in mlxsw_sp_flow_block_mall_cb()
144 mlxsw_sp_mall_destroy(flow_block, f); in mlxsw_sp_flow_block_mall_cb()
151 static int mlxsw_sp_flow_block_flower_cb(struct mlxsw_sp_flow_block *flow_block, in mlxsw_sp_flow_block_flower_cb() argument
154 struct mlxsw_sp *mlxsw_sp = mlxsw_sp_flow_block_mlxsw_sp(flow_block); in mlxsw_sp_flow_block_flower_cb()
158 return mlxsw_sp_flower_replace(mlxsw_sp, flow_block, f); in mlxsw_sp_flow_block_flower_cb()
160 mlxsw_sp_flower_destroy(mlxsw_sp, flow_block, f); in mlxsw_sp_flow_block_flower_cb()
163 return mlxsw_sp_flower_stats(mlxsw_sp, flow_block, f); in mlxsw_sp_flow_block_flower_cb()
165 return mlxsw_sp_flower_tmplt_create(mlxsw_sp, flow_block, f); in mlxsw_sp_flow_block_flower_cb()
[all …]
Dspectrum2_mr_tcam.c12 struct mlxsw_sp_flow_block *flow_block; member
64 mr_tcam->flow_block, in mlxsw_sp2_mr_tcam_ipv4_init()
114 mr_tcam->flow_block, in mlxsw_sp2_mr_tcam_ipv6_init()
292 mr_tcam->flow_block = mlxsw_sp_flow_block_create(mlxsw_sp, NULL); in mlxsw_sp2_mr_tcam_init()
293 if (!mr_tcam->flow_block) in mlxsw_sp2_mr_tcam_init()
309 mlxsw_sp_flow_block_destroy(mr_tcam->flow_block); in mlxsw_sp2_mr_tcam_init()
319 mlxsw_sp_flow_block_destroy(mr_tcam->flow_block); in mlxsw_sp2_mr_tcam_fini()
/Linux-v5.10/include/net/netfilter/
Dnf_flow_table.h76 struct flow_block flow_block; member
168 struct flow_block *block = &flow_table->flow_block; in nf_flow_table_offload_add_cb()
196 struct flow_block *block = &flow_table->flow_block; in nf_flow_table_offload_del_cb()
Dnf_tables.h1040 struct flow_block flow_block; member
/Linux-v5.10/drivers/net/dsa/sja1105/
Dsja1105_flower.c12 list_for_each_entry(rule, &priv->flow_block.rules, list) in sja1105_rule_find()
24 if (!priv->flow_block.l2_policer_used[i]) in sja1105_find_free_l2_policer()
92 priv->flow_block.l2_policer_used[rule->bcast_pol.sharindx] = true; in sja1105_setup_bcast_policer()
93 list_add(&rule->list, &priv->flow_block.rules); in sja1105_setup_bcast_policer()
164 priv->flow_block.l2_policer_used[rule->tc_pol.sharindx] = true; in sja1105_setup_tc_policer()
165 list_add(&rule->list, &priv->flow_block.rules); in sja1105_setup_tc_policer()
448 priv->flow_block.l2_policer_used[old_sharindx] = false; in sja1105_cls_flower_del()
482 INIT_LIST_HEAD(&priv->flow_block.rules); in sja1105_flower_setup()
485 priv->flow_block.l2_policer_used[port] = true; in sja1105_flower_setup()
494 list_for_each_safe(pos, n, &priv->flow_block.rules) { in sja1105_flower_teardown()
Dsja1105_vl.c102 list_for_each_entry(rule, &priv->flow_block.rules, list) { in sja1105_compose_gating_subschedule()
124 list_for_each_entry(rule, &priv->flow_block.rules, list) { in sja1105_compose_gating_subschedule()
313 list_for_each_entry(rule, &priv->flow_block.rules, list) { in sja1105_init_virtual_links()
383 list_for_each_entry(rule, &priv->flow_block.rules, list) { in sja1105_init_virtual_links()
520 list_add(&rule->list, &priv->flow_block.rules); in sja1105_vl_redirect()
616 list_add(&rule->list, &priv->flow_block.rules); in sja1105_vl_gate()
Dsja1105.h213 struct sja1105_flow_block flow_block; member
Dsja1105_main.c2651 list_for_each_entry(rule, &priv->flow_block.rules, list) { in sja1105_vlan_filtering()
/Linux-v5.10/net/core/
Dflow_offload.c233 struct flow_block_cb *flow_block_cb_lookup(struct flow_block *block, in flow_block_cb_lookup()
429 static void flow_block_indr_init(struct flow_block_cb *flow_block, in flow_block_indr_init() argument
435 flow_block->indr.binder_type = bo->binder_type; in flow_block_indr_init()
436 flow_block->indr.data = data; in flow_block_indr_init()
437 flow_block->indr.cb_priv = cb_priv; in flow_block_indr_init()
438 flow_block->indr.dev = dev; in flow_block_indr_init()
439 flow_block->indr.sch = sch; in flow_block_indr_init()
440 flow_block->indr.cleanup = cleanup; in flow_block_indr_init()
/Linux-v5.10/include/net/
Dflow_offload.h430 struct flow_block { struct
442 struct flow_block *block; argument
489 struct flow_block_cb *flow_block_cb_lookup(struct flow_block *block,
553 static inline void flow_block_init(struct flow_block *flow_block) in flow_block_init() argument
555 INIT_LIST_HEAD(&flow_block->cb_list); in flow_block_init()
Dsch_generic.h423 struct flow_block flow_block; member
/Linux-v5.10/net/netfilter/
Dnf_tables_offload.c217 &basechain->flow_block.cb_list); in nft_flow_offload_rule()
223 list_splice(&bo->cb_list, &basechain->flow_block.cb_list); in nft_flow_offload_bind()
281 bo->block = &basechain->flow_block; in nft_flow_block_offload_init()
Dnf_flow_table_offload.c719 &offload->flowtable->flow_block.cb_list); in flow_offload_tuple_add()
727 &offload->flowtable->flow_block.cb_list); in flow_offload_tuple_del()
777 &offload->flowtable->flow_block.cb_list); in flow_offload_tuple_stats()
914 list_splice(&bo->cb_list, &flowtable->flow_block.cb_list); in nf_flow_table_block_setup()
938 bo->block = &flowtable->flow_block; in nf_flow_table_block_offload_init()
Dnf_flow_table_core.c510 flow_block_init(&flowtable->flow_block); in nf_flow_table_init()
Dnf_tables_api.c1969 flow_block_init(&basechain->flow_block); in nft_basechain_init()
/Linux-v5.10/net/sched/
Dcls_api.c627 struct flow_block *flow_block, in tcf_block_offload_init() argument
633 bo->block = flow_block; in tcf_block_offload_init()
653 &block->flow_block, tcf_block_shared(block), in tc_block_indr_cleanup()
678 &block->flow_block, tcf_block_shared(block), in tcf_block_offload_cmd()
873 flow_block_init(&block->flow_block); in tcf_block_create()
1462 list_splice(&bo->cb_list, &block->flow_block.cb_list); in tcf_block_bind()
3246 list_for_each_entry(block_cb, &block->flow_block.cb_list, list) { in __tc_setup_cb_call()