Home
last modified time | relevance | path

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

/linux/drivers/net/ethernet/mellanox/mlxsw/
H A 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 …]
H A Dspectrum2_mr_tcam.c12 struct mlxsw_sp_flow_block *flow_block; member
63 mr_tcam->flow_block, in mlxsw_sp2_mr_tcam_ipv4_init()
114 mr_tcam->flow_block, in mlxsw_sp2_mr_tcam_ipv6_init()
296 mr_tcam->flow_block = mlxsw_sp_flow_block_create(mlxsw_sp, NULL); in mlxsw_sp2_mr_tcam_init()
297 if (!mr_tcam->flow_block) in mlxsw_sp2_mr_tcam_init()
313 mlxsw_sp_flow_block_destroy(mr_tcam->flow_block); in mlxsw_sp2_mr_tcam_init()
323 mlxsw_sp_flow_block_destroy(mr_tcam->flow_block); in mlxsw_sp2_mr_tcam_fini()
/linux/drivers/net/dsa/sja1105/
H A 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()
93 priv->flow_block.l2_policer_used[rule->bcast_pol.sharindx] = true; in sja1105_setup_bcast_policer()
94 list_add(&rule->list, &priv->flow_block.rules); in sja1105_setup_bcast_policer()
165 priv->flow_block.l2_policer_used[rule->tc_pol.sharindx] = true; in sja1105_setup_tc_policer()
166 list_add(&rule->list, &priv->flow_block.rules); in sja1105_setup_tc_policer()
494 priv->flow_block.l2_policer_used[old_sharindx] = false; in sja1105_cls_flower_del()
528 INIT_LIST_HEAD(&priv->flow_block.rules); in sja1105_flower_setup()
531 priv->flow_block.l2_policer_used[port] = true; in sja1105_flower_setup()
540 list_for_each_safe(pos, n, &priv->flow_block.rules) { in sja1105_flower_teardown()
H A 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()
326 list_for_each_entry(rule, &priv->flow_block.rules, list) { in sja1105_init_virtual_links()
396 list_for_each_entry(rule, &priv->flow_block.rules, list) { in sja1105_init_virtual_links()
534 list_add(&rule->list, &priv->flow_block.rules); in sja1105_vl_redirect()
629 list_add(&rule->list, &priv->flow_block.rules); in sja1105_vl_gate()
H A Dsja1105.h264 struct sja1105_flow_block flow_block; member
H A Dsja1105_main.c2446 list_for_each_entry(rule, &priv->flow_block.rules, list) { in sja1105_vlan_filtering()
/linux/include/net/netfilter/
H A Dnf_flow_table.h84 struct flow_block flow_block; member
228 struct flow_block *block = &flow_table->flow_block; in nf_flow_table_offload_add_cb()
261 struct flow_block *block = &flow_table->flow_block; in nf_flow_table_offload_del_cb()
H A Dnf_tables.h1219 struct flow_block flow_block; member
/linux/net/core/
H A Dflow_offload.c289 struct flow_block_cb *flow_block_cb_lookup(struct flow_block *block, in flow_block_cb_lookup()
516 static void flow_block_indr_init(struct flow_block_cb *flow_block, in flow_block_indr_init() argument
522 flow_block->indr.binder_type = bo->binder_type; in flow_block_indr_init()
523 flow_block->indr.data = data; in flow_block_indr_init()
524 flow_block->indr.cb_priv = cb_priv; in flow_block_indr_init()
525 flow_block->indr.dev = dev; in flow_block_indr_init()
526 flow_block->indr.sch = sch; in flow_block_indr_init()
527 flow_block->indr.cleanup = cleanup; in flow_block_indr_init()
/linux/include/net/
H A Dflow_offload.h582 struct flow_block { struct
594 struct flow_block *block; argument
642 struct flow_block_cb *flow_block_cb_lookup(struct flow_block *block,
725 static inline void flow_block_init(struct flow_block *flow_block) in flow_block_init() argument
727 INIT_LIST_HEAD(&flow_block->cb_list); in flow_block_init()
H A Dsch_generic.h474 struct flow_block flow_block; member
/linux/drivers/net/ethernet/sfc/
H A Dtc_bindings.c20 struct flow_block *block;
60 struct net_device *otherdev, struct flow_block *block) in efx_tc_create_binding()
/linux/net/netfilter/
H A Dnf_tables_offload.c281 &basechain->flow_block.cb_list); in nft_flow_offload_cmd()
317 list_splice(&bo->cb_list, &basechain->flow_block.cb_list); in nft_flow_offload_bind()
375 bo->block = &basechain->flow_block; in nft_flow_block_offload_init()
379 bo->cb_list_head = &basechain->flow_block.cb_list; in nft_flow_block_offload_init()
H A Dnf_flow_table_offload.c879 &offload->flowtable->flow_block.cb_list); in flow_offload_tuple_add()
888 &offload->flowtable->flow_block.cb_list); in flow_offload_tuple_del()
942 &offload->flowtable->flow_block.cb_list); in flow_offload_tuple_stats()
1108 list_splice(&bo->cb_list, &flowtable->flow_block.cb_list); in nf_flow_table_block_setup()
1133 bo->block = &flowtable->flow_block; in nf_flow_table_block_offload_init()
1137 bo->cb_list_head = &flowtable->flow_block.cb_list; in nf_flow_table_block_offload_init()
H A Dnf_flow_table_core.c546 flow_block_init(&flowtable->flow_block); in nf_flow_table_init()
H A Dnf_tables_api.c2478 flow_block_init(&basechain->flow_block); in nft_basechain_init()
/linux/net/sched/
H A Dcls_api.c787 struct flow_block *flow_block, in tcf_block_offload_init() argument
793 bo->block = flow_block; in tcf_block_offload_init()
797 bo->cb_list_head = &flow_block->cb_list; in tcf_block_offload_init()
814 &block->flow_block, tcf_block_shared(block), in tc_block_indr_cleanup()
839 &block->flow_block, tcf_block_shared(block), in tcf_block_offload_cmd()
1034 flow_block_init(&block->flow_block); in tcf_block_create()
1653 list_splice(&bo->cb_list, &block->flow_block.cb_list); in tcf_block_bind()
3578 list_for_each_entry(block_cb, &block->flow_block.cb_list, list) { in __tc_setup_cb_call()
H A Dact_ct.c376 struct flow_block *block; in tcf_ct_flow_table_cleanup_work()
382 block = &ct_ft->nf_ft.flow_block; in tcf_ct_flow_table_cleanup_work()