Home
last modified time | relevance | path

Searched refs:block_cb (Results 1 – 20 of 20) sorted by relevance

/linux/drivers/net/ethernet/marvell/prestera/
A Dprestera_flow.c76 struct flow_block_cb *block_cb; in prestera_flow_block_get() local
80 if (!block_cb) { in prestera_flow_block_get()
88 if (IS_ERR(block_cb)) { in prestera_flow_block_get()
90 return ERR_CAST(block_cb); in prestera_flow_block_get()
93 block->block_cb = block_cb; in prestera_flow_block_get()
100 flow_block_cb_incref(block_cb); in prestera_flow_block_get()
107 struct flow_block_cb *block_cb = block->block_cb; in prestera_flow_block_put() local
112 flow_block_cb_free(block_cb); in prestera_flow_block_put()
121 struct flow_block_cb *block_cb; in prestera_setup_flow_block_bind() local
129 block_cb = block->block_cb; in prestera_setup_flow_block_bind()
[all …]
A Dprestera_acl.h47 struct flow_block_cb *block_cb; member
/linux/net/core/
A Dflow_offload.c211 block_cb = kzalloc(sizeof(*block_cb), GFP_KERNEL); in flow_block_cb_alloc()
212 if (!block_cb) in flow_block_cb_alloc()
215 block_cb->cb = cb; in flow_block_cb_alloc()
220 return block_cb; in flow_block_cb_alloc()
226 if (block_cb->release) in flow_block_cb_free()
227 block_cb->release(block_cb->cb_priv); in flow_block_cb_free()
229 kfree(block_cb); in flow_block_cb_free()
241 return block_cb; in flow_block_cb_lookup()
256 block_cb->refcnt++; in flow_block_cb_incref()
309 if (!block_cb) in flow_block_cb_setup_simple()
[all …]
/linux/drivers/net/ethernet/mellanox/mlxsw/
A Dspectrum_flow.c207 struct flow_block_cb *block_cb; in mlxsw_sp_setup_tc_block_bind() local
213 if (!block_cb) { in mlxsw_sp_setup_tc_block_bind()
220 if (IS_ERR(block_cb)) { in mlxsw_sp_setup_tc_block_bind()
222 return PTR_ERR(block_cb); in mlxsw_sp_setup_tc_block_bind()
228 flow_block_cb_incref(block_cb); in mlxsw_sp_setup_tc_block_bind()
240 flow_block_cb_add(block_cb, f); in mlxsw_sp_setup_tc_block_bind()
248 flow_block_cb_free(block_cb); in mlxsw_sp_setup_tc_block_bind()
258 struct flow_block_cb *block_cb; in mlxsw_sp_setup_tc_block_unbind() local
263 if (!block_cb) in mlxsw_sp_setup_tc_block_unbind()
275 flow_block_cb_remove(block_cb, f); in mlxsw_sp_setup_tc_block_unbind()
[all …]
A Dspectrum_qdisc.c2178 struct flow_block_cb *block_cb; in mlxsw_sp_setup_tc_block_qevent_bind() local
2185 if (!block_cb) { in mlxsw_sp_setup_tc_block_qevent_bind()
2191 if (IS_ERR(block_cb)) { in mlxsw_sp_setup_tc_block_qevent_bind()
2193 return PTR_ERR(block_cb); in mlxsw_sp_setup_tc_block_qevent_bind()
2199 flow_block_cb_incref(block_cb); in mlxsw_sp_setup_tc_block_qevent_bind()
2233 flow_block_cb_add(block_cb, f); in mlxsw_sp_setup_tc_block_qevent_bind()
2245 flow_block_cb_free(block_cb); in mlxsw_sp_setup_tc_block_qevent_bind()
2256 struct flow_block_cb *block_cb; in mlxsw_sp_setup_tc_block_qevent_unbind() local
2259 if (!block_cb) in mlxsw_sp_setup_tc_block_qevent_unbind()
2273 flow_block_cb_remove(block_cb, f); in mlxsw_sp_setup_tc_block_qevent_unbind()
[all …]
/linux/include/net/netfilter/
A Dnf_flow_table.h217 struct flow_block_cb *block_cb; in nf_flow_table_offload_add_cb() local
221 block_cb = flow_block_cb_lookup(block, cb, cb_priv); in nf_flow_table_offload_add_cb()
222 if (block_cb) { in nf_flow_table_offload_add_cb()
228 if (IS_ERR(block_cb)) { in nf_flow_table_offload_add_cb()
229 err = PTR_ERR(block_cb); in nf_flow_table_offload_add_cb()
233 list_add_tail(&block_cb->list, &block->cb_list); in nf_flow_table_offload_add_cb()
245 struct flow_block_cb *block_cb; in nf_flow_table_offload_del_cb() local
248 block_cb = flow_block_cb_lookup(block, cb, cb_priv); in nf_flow_table_offload_del_cb()
249 if (block_cb) { in nf_flow_table_offload_del_cb()
250 list_del(&block_cb->list); in nf_flow_table_offload_del_cb()
[all …]
/linux/include/net/
A Dflow_offload.h470 void (*cleanup)(struct flow_block_cb *block_cb);
494 void (*cleanup)(struct flow_block_cb *block_cb));
495 void flow_block_cb_free(struct flow_block_cb *block_cb);
500 void *flow_block_cb_priv(struct flow_block_cb *block_cb);
501 void flow_block_cb_incref(struct flow_block_cb *block_cb);
507 list_add_tail(&block_cb->list, &offload->cb_list); in flow_block_cb_add()
513 list_move(&block_cb->list, &offload->cb_list); in flow_block_cb_remove()
519 list_del(&block_cb->indr.list); in flow_indr_block_cb_remove()
520 list_move(&block_cb->list, &offload->cb_list); in flow_indr_block_cb_remove()
569 void (*cleanup)(struct flow_block_cb *block_cb));
[all …]
/linux/drivers/net/ethernet/mediatek/
A Dmtk_ppe_offload.c442 struct flow_block_cb *block_cb; in mtk_eth_setup_tc_block() local
456 block_cb = flow_block_cb_lookup(f->block, cb, dev); in mtk_eth_setup_tc_block()
457 if (block_cb) { in mtk_eth_setup_tc_block()
458 flow_block_cb_incref(block_cb); in mtk_eth_setup_tc_block()
462 if (IS_ERR(block_cb)) in mtk_eth_setup_tc_block()
463 return PTR_ERR(block_cb); in mtk_eth_setup_tc_block()
465 flow_block_cb_add(block_cb, f); in mtk_eth_setup_tc_block()
470 if (!block_cb) in mtk_eth_setup_tc_block()
473 if (flow_block_cb_decref(block_cb)) { in mtk_eth_setup_tc_block()
474 flow_block_cb_remove(block_cb, f); in mtk_eth_setup_tc_block()
[all …]
/linux/net/netfilter/
A Dnf_tables_offload.c199 struct flow_block_cb *block_cb; in nft_setup_cb_call() local
202 list_for_each_entry(block_cb, cb_list, list) { in nft_setup_cb_call()
203 err = block_cb->cb(type, type_data, block_cb->cb_priv); in nft_setup_cb_call()
301 struct flow_block_cb *block_cb, *next; in nft_flow_offload_unbind() local
315 list_for_each_entry_safe(block_cb, next, &bo->cb_list, list) { in nft_flow_offload_unbind()
316 list_del(&block_cb->list); in nft_flow_offload_unbind()
317 flow_block_cb_free(block_cb); in nft_flow_offload_unbind()
379 struct nft_base_chain *basechain = block_cb->indr.data; in nft_indr_block_cleanup()
380 struct net_device *dev = block_cb->indr.dev; in nft_indr_block_cleanup()
390 list_del(&block_cb->driver_list); in nft_indr_block_cleanup()
[all …]
A Dnf_flow_table_offload.c833 struct flow_block_cb *block_cb; in nf_flow_offload_tuple() local
844 list_for_each_entry(block_cb, block_cb_list, list) { in nf_flow_offload_tuple()
845 err = block_cb->cb(TC_SETUP_CLSFLOWER, &cls_flow, in nf_flow_offload_tuple()
846 block_cb->cb_priv); in nf_flow_offload_tuple()
1066 struct flow_block_cb *block_cb, *next; in nf_flow_table_block_setup() local
1075 list_del(&block_cb->list); in nf_flow_table_block_setup()
1076 flow_block_cb_free(block_cb); in nf_flow_table_block_setup()
1106 struct net_device *dev = block_cb->indr.dev; in nf_flow_table_indr_cleanup()
1110 list_del(&block_cb->list); in nf_flow_table_indr_cleanup()
1111 list_del(&block_cb->driver_list); in nf_flow_table_indr_cleanup()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/rep/
A Dtc.c435 void (*cleanup)(struct flow_block_cb *block_cb)) in mlx5e_rep_indr_setup_block() argument
441 struct flow_block_cb *block_cb; in mlx5e_rep_indr_setup_block() local
487 if (IS_ERR(block_cb)) { in mlx5e_rep_indr_setup_block()
490 return PTR_ERR(block_cb); in mlx5e_rep_indr_setup_block()
492 flow_block_cb_add(block_cb, f); in mlx5e_rep_indr_setup_block()
493 list_add_tail(&block_cb->driver_list, &mlx5e_block_cb_list); in mlx5e_rep_indr_setup_block()
501 block_cb = flow_block_cb_lookup(f->block, setup_cb, indr_priv); in mlx5e_rep_indr_setup_block()
502 if (!block_cb) in mlx5e_rep_indr_setup_block()
505 flow_indr_block_cb_remove(block_cb, f); in mlx5e_rep_indr_setup_block()
506 list_del(&block_cb->driver_list); in mlx5e_rep_indr_setup_block()
[all …]
/linux/drivers/net/ethernet/netronome/nfp/flower/
A Doffload.c1708 struct flow_block_cb *block_cb; in nfp_flower_setup_tc_block() local
1725 if (IS_ERR(block_cb)) in nfp_flower_setup_tc_block()
1726 return PTR_ERR(block_cb); in nfp_flower_setup_tc_block()
1728 flow_block_cb_add(block_cb, f); in nfp_flower_setup_tc_block()
1735 if (!block_cb) in nfp_flower_setup_tc_block()
1739 list_del(&block_cb->driver_list); in nfp_flower_setup_tc_block()
1806 struct flow_block_cb *block_cb; in nfp_flower_setup_indr_tc_block() local
1835 if (IS_ERR(block_cb)) { in nfp_flower_setup_indr_tc_block()
1838 return PTR_ERR(block_cb); in nfp_flower_setup_indr_tc_block()
1841 flow_block_cb_add(block_cb, f); in nfp_flower_setup_indr_tc_block()
[all …]
A Dmain.h537 void (*cleanup)(struct flow_block_cb *block_cb));
/linux/net/sched/
A Dcls_api.c653 block_cb->indr.binder_type, in tc_block_indr_cleanup()
658 list_del(&block_cb->driver_list); in tc_block_indr_cleanup()
1452 block_cb->cb_priv, true, in tcf_block_bind()
1469 list_del(&block_cb->list); in tcf_block_bind()
1471 block_cb->cb_priv, false, in tcf_block_bind()
1477 flow_block_cb_free(block_cb); in tcf_block_bind()
1492 block_cb->cb_priv, false, in tcf_block_unbind()
1495 list_del(&block_cb->list); in tcf_block_unbind()
1496 flow_block_cb_free(block_cb); in tcf_block_unbind()
3235 struct flow_block_cb *block_cb; in __tc_setup_cb_call() local
[all …]
A Dact_ct.c325 struct flow_block_cb *block_cb, *tmp_cb; in tcf_ct_flow_table_cleanup_work() local
336 list_for_each_entry_safe(block_cb, tmp_cb, &block->cb_list, list) { in tcf_ct_flow_table_cleanup_work()
337 list_del(&block_cb->list); in tcf_ct_flow_table_cleanup_work()
338 flow_block_cb_free(block_cb); in tcf_ct_flow_table_cleanup_work()
/linux/drivers/net/ethernet/freescale/dpaa2/
A Ddpaa2-switch.c1301 struct flow_block_cb *block_cb; in dpaa2_switch_setup_tc_block_bind() local
1309 if (!block_cb) { in dpaa2_switch_setup_tc_block_bind()
1318 if (IS_ERR(block_cb)) in dpaa2_switch_setup_tc_block_bind()
1319 return PTR_ERR(block_cb); in dpaa2_switch_setup_tc_block_bind()
1326 flow_block_cb_incref(block_cb); in dpaa2_switch_setup_tc_block_bind()
1332 flow_block_cb_add(block_cb, f); in dpaa2_switch_setup_tc_block_bind()
1341 flow_block_cb_free(block_cb); in dpaa2_switch_setup_tc_block_bind()
1351 struct flow_block_cb *block_cb; in dpaa2_switch_setup_tc_block_unbind() local
1357 if (!block_cb) in dpaa2_switch_setup_tc_block_unbind()
1363 flow_block_cb_remove(block_cb, f); in dpaa2_switch_setup_tc_block_unbind()
[all …]
/linux/drivers/net/ethernet/mscc/
A Docelot_net.c337 struct flow_block_cb *block_cb; in ocelot_setup_tc_block() local
356 block_cb = flow_block_cb_alloc(cb, priv, priv, NULL); in ocelot_setup_tc_block()
357 if (IS_ERR(block_cb)) in ocelot_setup_tc_block()
358 return PTR_ERR(block_cb); in ocelot_setup_tc_block()
360 flow_block_cb_add(block_cb, f); in ocelot_setup_tc_block()
361 list_add_tail(&block_cb->driver_list, f->driver_block_list); in ocelot_setup_tc_block()
364 block_cb = flow_block_cb_lookup(f->block, cb, priv); in ocelot_setup_tc_block()
365 if (!block_cb) in ocelot_setup_tc_block()
368 flow_block_cb_remove(block_cb, f); in ocelot_setup_tc_block()
369 list_del(&block_cb->driver_list); in ocelot_setup_tc_block()
/linux/drivers/net/ethernet/broadcom/bnxt/
A Dbnxt_tc.c1904 void (*cleanup)(struct flow_block_cb *block_cb)) in bnxt_tc_setup_indr_block() argument
1907 struct flow_block_cb *block_cb; in bnxt_tc_setup_indr_block() local
1926 if (IS_ERR(block_cb)) { in bnxt_tc_setup_indr_block()
1929 return PTR_ERR(block_cb); in bnxt_tc_setup_indr_block()
1932 flow_block_cb_add(block_cb, f); in bnxt_tc_setup_indr_block()
1933 list_add_tail(&block_cb->driver_list, &bnxt_block_cb_list); in bnxt_tc_setup_indr_block()
1940 block_cb = flow_block_cb_lookup(f->block, in bnxt_tc_setup_indr_block()
1943 if (!block_cb) in bnxt_tc_setup_indr_block()
1946 flow_indr_block_cb_remove(block_cb, f); in bnxt_tc_setup_indr_block()
1947 list_del(&block_cb->driver_list); in bnxt_tc_setup_indr_block()
[all …]
/linux/net/dsa/
A Dslave.c1279 struct flow_block_cb *block_cb; in dsa_slave_setup_tc_block() local
1296 block_cb = flow_block_cb_alloc(cb, dev, dev, NULL); in dsa_slave_setup_tc_block()
1297 if (IS_ERR(block_cb)) in dsa_slave_setup_tc_block()
1298 return PTR_ERR(block_cb); in dsa_slave_setup_tc_block()
1300 flow_block_cb_add(block_cb, f); in dsa_slave_setup_tc_block()
1301 list_add_tail(&block_cb->driver_list, &dsa_slave_block_cb_list); in dsa_slave_setup_tc_block()
1304 block_cb = flow_block_cb_lookup(f->block, cb, dev); in dsa_slave_setup_tc_block()
1305 if (!block_cb) in dsa_slave_setup_tc_block()
1308 flow_block_cb_remove(block_cb, f); in dsa_slave_setup_tc_block()
1309 list_del(&block_cb->driver_list); in dsa_slave_setup_tc_block()
/linux/drivers/net/ethernet/intel/ice/
A Dice_main.c65 void (*cleanup)(struct flow_block_cb *block_cb));
8333 void (*cleanup)(struct flow_block_cb *block_cb)) in ice_indr_setup_tc_block() argument
8336 struct flow_block_cb *block_cb; in ice_indr_setup_tc_block() local
8360 block_cb = in ice_indr_setup_tc_block()
8367 if (IS_ERR(block_cb)) { in ice_indr_setup_tc_block()
8370 return PTR_ERR(block_cb); in ice_indr_setup_tc_block()
8372 flow_block_cb_add(block_cb, f); in ice_indr_setup_tc_block()
8380 block_cb = flow_block_cb_lookup(f->block, in ice_indr_setup_tc_block()
8383 if (!block_cb) in ice_indr_setup_tc_block()
8386 flow_indr_block_cb_remove(block_cb, f); in ice_indr_setup_tc_block()
[all …]

Completed in 775 milliseconds