/linux/drivers/net/ethernet/mellanox/mlxsw/ |
H A D | spectrum_flow.c | 135 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 D | spectrum2_mr_tcam.c | 12 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 D | sja1105_flower.c | 12 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 D | sja1105_vl.c | 102 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 D | sja1105.h | 264 struct sja1105_flow_block flow_block; member
|
H A D | sja1105_main.c | 2446 list_for_each_entry(rule, &priv->flow_block.rules, list) { in sja1105_vlan_filtering()
|
/linux/include/net/netfilter/ |
H A D | nf_flow_table.h | 84 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 D | nf_tables.h | 1219 struct flow_block flow_block; member
|
/linux/net/core/ |
H A D | flow_offload.c | 289 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 D | flow_offload.h | 582 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 D | sch_generic.h | 474 struct flow_block flow_block; member
|
/linux/drivers/net/ethernet/sfc/ |
H A D | tc_bindings.c | 20 struct flow_block *block; 60 struct net_device *otherdev, struct flow_block *block) in efx_tc_create_binding()
|
/linux/net/netfilter/ |
H A D | nf_tables_offload.c | 281 &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 D | nf_flow_table_offload.c | 879 &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 D | nf_flow_table_core.c | 546 flow_block_init(&flowtable->flow_block); in nf_flow_table_init()
|
H A D | nf_tables_api.c | 2478 flow_block_init(&basechain->flow_block); in nft_basechain_init()
|
/linux/net/sched/ |
H A D | cls_api.c | 787 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 D | act_ct.c | 376 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()
|