Home
last modified time | relevance | path

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

/linux/drivers/net/ethernet/marvell/prestera/
A Dprestera_flow.c179 struct flow_block_cb *block_cb; in prestera_flow_block_get() local
183 if (!block_cb) { in prestera_flow_block_get()
191 if (IS_ERR(block_cb)) { in prestera_flow_block_get()
193 return ERR_CAST(block_cb); in prestera_flow_block_get()
196 block->block_cb = block_cb; in prestera_flow_block_get()
203 flow_block_cb_incref(block_cb); in prestera_flow_block_get()
210 struct flow_block_cb *block_cb = block->block_cb; in prestera_flow_block_put() local
215 flow_block_cb_free(block_cb); in prestera_flow_block_put()
224 struct flow_block_cb *block_cb; in prestera_setup_flow_block_bind() local
232 block_cb = block->block_cb; in prestera_setup_flow_block_bind()
[all …]
A Dprestera_flow.h23 struct flow_block_cb *block_cb; member
/linux/net/core/
A Dflow_offload.c267 block_cb = kzalloc(sizeof(*block_cb), GFP_KERNEL); in flow_block_cb_alloc()
268 if (!block_cb) in flow_block_cb_alloc()
271 block_cb->cb = cb; in flow_block_cb_alloc()
276 return block_cb; in flow_block_cb_alloc()
283 block_cb->release(block_cb->cb_priv); in flow_block_cb_free()
285 kfree(block_cb); in flow_block_cb_free()
297 return block_cb; in flow_block_cb_lookup()
312 block_cb->refcnt++; in flow_block_cb_incref()
365 if (!block_cb) in flow_block_cb_setup_simple()
542 if (IS_ERR(block_cb)) in flow_indr_block_cb_alloc()
[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/drivers/net/ethernet/sfc/
A Dtc_bindings.c78 struct flow_block_cb *block_cb; in efx_tc_setup_block() local
94 rc = PTR_ERR_OR_ZERO(block_cb); in efx_tc_setup_block()
104 flow_block_cb_add(block_cb, tcb); in efx_tc_setup_block()
110 block_cb = flow_block_cb_lookup(tcb->block, in efx_tc_setup_block()
113 if (block_cb) { in efx_tc_setup_block()
114 flow_block_cb_remove(block_cb, tcb); in efx_tc_setup_block()
146 struct flow_block_cb *block_cb; in efx_tc_indr_setup_cb() local
177 rc = PTR_ERR_OR_ZERO(block_cb); in efx_tc_indr_setup_cb()
185 flow_block_cb_add(block_cb, tcb); in efx_tc_indr_setup_cb()
195 if (!block_cb) in efx_tc_indr_setup_cb()
[all …]
A Dtc_bindings.h29 void (*cleanup)(struct flow_block_cb *block_cb));
/linux/include/net/netfilter/
A Dnf_flow_table.h229 struct flow_block_cb *block_cb; in nf_flow_table_offload_add_cb() local
233 block_cb = flow_block_cb_lookup(block, cb, cb_priv); in nf_flow_table_offload_add_cb()
234 if (block_cb) { in nf_flow_table_offload_add_cb()
240 if (IS_ERR(block_cb)) { in nf_flow_table_offload_add_cb()
241 err = PTR_ERR(block_cb); in nf_flow_table_offload_add_cb()
245 list_add_tail(&block_cb->list, &block->cb_list); in nf_flow_table_offload_add_cb()
262 struct flow_block_cb *block_cb; in nf_flow_table_offload_del_cb() local
265 block_cb = flow_block_cb_lookup(block, cb, cb_priv); in nf_flow_table_offload_del_cb()
266 if (block_cb) { in nf_flow_table_offload_del_cb()
267 list_del(&block_cb->list); in nf_flow_table_offload_del_cb()
[all …]
/linux/include/net/
A Dflow_offload.h615 void (*cleanup)(struct flow_block_cb *block_cb);
639 void (*cleanup)(struct flow_block_cb *block_cb));
640 void flow_block_cb_free(struct flow_block_cb *block_cb);
645 void *flow_block_cb_priv(struct flow_block_cb *block_cb);
646 void flow_block_cb_incref(struct flow_block_cb *block_cb);
652 list_add_tail(&block_cb->list, &offload->cb_list); in flow_block_cb_add()
658 list_move(&block_cb->list, &offload->cb_list); in flow_block_cb_remove()
664 list_del(&block_cb->indr.list); in flow_indr_block_cb_remove()
665 list_move(&block_cb->list, &offload->cb_list); in flow_indr_block_cb_remove()
733 void (*cleanup)(struct flow_block_cb *block_cb));
[all …]
/linux/drivers/net/ethernet/mediatek/
A Dmtk_ppe_offload.c597 struct flow_block_cb *block_cb; in mtk_eth_setup_tc_block() local
612 if (block_cb) { in mtk_eth_setup_tc_block()
613 flow_block_cb_incref(block_cb); in mtk_eth_setup_tc_block()
617 if (IS_ERR(block_cb)) in mtk_eth_setup_tc_block()
618 return PTR_ERR(block_cb); in mtk_eth_setup_tc_block()
620 flow_block_cb_incref(block_cb); in mtk_eth_setup_tc_block()
621 flow_block_cb_add(block_cb, f); in mtk_eth_setup_tc_block()
626 if (!block_cb) in mtk_eth_setup_tc_block()
629 if (!flow_block_cb_decref(block_cb)) { in mtk_eth_setup_tc_block()
630 flow_block_cb_remove(block_cb, f); in mtk_eth_setup_tc_block()
[all …]
A Dmtk_wed.c2687 struct flow_block_cb *block_cb; in mtk_wed_setup_tc_block() local
2703 if (block_cb) { in mtk_wed_setup_tc_block()
2704 flow_block_cb_incref(block_cb); in mtk_wed_setup_tc_block()
2715 if (IS_ERR(block_cb)) { in mtk_wed_setup_tc_block()
2717 return PTR_ERR(block_cb); in mtk_wed_setup_tc_block()
2720 flow_block_cb_incref(block_cb); in mtk_wed_setup_tc_block()
2721 flow_block_cb_add(block_cb, f); in mtk_wed_setup_tc_block()
2726 if (!block_cb) in mtk_wed_setup_tc_block()
2731 list_del(&block_cb->driver_list); in mtk_wed_setup_tc_block()
2732 kfree(block_cb->cb_priv); in mtk_wed_setup_tc_block()
[all …]
/linux/net/netfilter/
A Dnf_tables_offload.c201 struct flow_block_cb *block_cb; in nft_setup_cb_call() local
204 list_for_each_entry(block_cb, cb_list, list) { in nft_setup_cb_call()
205 err = block_cb->cb(type, type_data, block_cb->cb_priv); in nft_setup_cb_call()
324 struct flow_block_cb *block_cb, *next; in nft_flow_offload_unbind() local
338 list_for_each_entry_safe(block_cb, next, &bo->cb_list, list) { in nft_flow_offload_unbind()
339 list_del(&block_cb->list); in nft_flow_offload_unbind()
340 flow_block_cb_free(block_cb); in nft_flow_offload_unbind()
402 struct nft_base_chain *basechain = block_cb->indr.data; in nft_indr_block_cleanup()
403 struct net_device *dev = block_cb->indr.dev; in nft_indr_block_cleanup()
413 list_del(&block_cb->driver_list); in nft_indr_block_cleanup()
[all …]
A Dnf_flow_table_offload.c845 struct flow_block_cb *block_cb; in nf_flow_offload_tuple() local
855 list_for_each_entry(block_cb, block_cb_list, list) { in nf_flow_offload_tuple()
856 err = block_cb->cb(TC_SETUP_CLSFLOWER, &cls_flow, in nf_flow_offload_tuple()
857 block_cb->cb_priv); in nf_flow_offload_tuple()
1102 struct flow_block_cb *block_cb, *next; in nf_flow_table_block_setup() local
1112 list_del(&block_cb->list); in nf_flow_table_block_setup()
1113 flow_block_cb_free(block_cb); in nf_flow_table_block_setup()
1144 struct net_device *dev = block_cb->indr.dev; in nf_flow_table_indr_cleanup()
1148 list_del(&block_cb->list); in nf_flow_table_indr_cleanup()
1149 list_del(&block_cb->driver_list); in nf_flow_table_indr_cleanup()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/rep/
A Dtc.c489 void (*cleanup)(struct flow_block_cb *block_cb)) in mlx5e_rep_indr_setup_block() argument
492 struct flow_block_cb *block_cb; in mlx5e_rep_indr_setup_block() local
520 if (IS_ERR(block_cb)) { in mlx5e_rep_indr_setup_block()
523 return PTR_ERR(block_cb); in mlx5e_rep_indr_setup_block()
525 flow_block_cb_add(block_cb, f); in mlx5e_rep_indr_setup_block()
526 list_add_tail(&block_cb->driver_list, &mlx5e_block_cb_list); in mlx5e_rep_indr_setup_block()
534 block_cb = flow_block_cb_lookup(f->block, setup_cb, indr_priv); in mlx5e_rep_indr_setup_block()
535 if (!block_cb) in mlx5e_rep_indr_setup_block()
538 flow_indr_block_cb_remove(block_cb, f); in mlx5e_rep_indr_setup_block()
539 list_del(&block_cb->driver_list); in mlx5e_rep_indr_setup_block()
[all …]
/linux/drivers/net/ethernet/netronome/nfp/flower/
A Doffload.c1786 struct flow_block_cb *block_cb; in nfp_flower_setup_tc_block() local
1804 if (IS_ERR(block_cb)) in nfp_flower_setup_tc_block()
1805 return PTR_ERR(block_cb); in nfp_flower_setup_tc_block()
1807 flow_block_cb_add(block_cb, f); in nfp_flower_setup_tc_block()
1814 if (!block_cb) in nfp_flower_setup_tc_block()
1818 list_del(&block_cb->driver_list); in nfp_flower_setup_tc_block()
1885 struct flow_block_cb *block_cb; in nfp_flower_setup_indr_tc_block() local
1916 if (IS_ERR(block_cb)) { in nfp_flower_setup_indr_tc_block()
1919 return PTR_ERR(block_cb); in nfp_flower_setup_indr_tc_block()
1922 flow_block_cb_add(block_cb, f); in nfp_flower_setup_indr_tc_block()
[all …]
A Dmain.h679 void (*cleanup)(struct flow_block_cb *block_cb));
/linux/net/sched/
A Dcls_api.c818 list_del(&block_cb->driver_list); in tc_block_indr_cleanup()
1643 block_cb->cb_priv, true, in tcf_block_bind()
1659 list_del(&block_cb->driver_list); in tcf_block_bind()
1661 list_del(&block_cb->list); in tcf_block_bind()
1663 block_cb->cb_priv, false, in tcf_block_bind()
1669 flow_block_cb_free(block_cb); in tcf_block_bind()
1684 block_cb->cb_priv, false, in tcf_block_unbind()
1687 list_del(&block_cb->list); in tcf_block_unbind()
1688 flow_block_cb_free(block_cb); in tcf_block_unbind()
3574 struct flow_block_cb *block_cb; in __tc_setup_cb_call() local
[all …]
/linux/drivers/net/ethernet/freescale/dpaa2/
A Ddpaa2-switch.c1313 struct flow_block_cb *block_cb; in dpaa2_switch_setup_tc_block_bind() local
1321 if (!block_cb) { in dpaa2_switch_setup_tc_block_bind()
1330 if (IS_ERR(block_cb)) in dpaa2_switch_setup_tc_block_bind()
1331 return PTR_ERR(block_cb); in dpaa2_switch_setup_tc_block_bind()
1338 flow_block_cb_incref(block_cb); in dpaa2_switch_setup_tc_block_bind()
1344 flow_block_cb_add(block_cb, f); in dpaa2_switch_setup_tc_block_bind()
1353 flow_block_cb_free(block_cb); in dpaa2_switch_setup_tc_block_bind()
1363 struct flow_block_cb *block_cb; in dpaa2_switch_setup_tc_block_unbind() local
1369 if (!block_cb) in dpaa2_switch_setup_tc_block_unbind()
1375 flow_block_cb_remove(block_cb, f); in dpaa2_switch_setup_tc_block_unbind()
[all …]
/linux/drivers/net/ethernet/broadcom/bnxt/
A Dbnxt_tc.c1908 void (*cleanup)(struct flow_block_cb *block_cb)) in bnxt_tc_setup_indr_block() argument
1911 struct flow_block_cb *block_cb; in bnxt_tc_setup_indr_block() local
1930 if (IS_ERR(block_cb)) { in bnxt_tc_setup_indr_block()
1933 return PTR_ERR(block_cb); in bnxt_tc_setup_indr_block()
1936 flow_block_cb_add(block_cb, f); in bnxt_tc_setup_indr_block()
1937 list_add_tail(&block_cb->driver_list, &bnxt_block_cb_list); in bnxt_tc_setup_indr_block()
1944 block_cb = flow_block_cb_lookup(f->block, in bnxt_tc_setup_indr_block()
1947 if (!block_cb) in bnxt_tc_setup_indr_block()
1950 flow_indr_block_cb_remove(block_cb, f); in bnxt_tc_setup_indr_block()
1951 list_del(&block_cb->driver_list); in bnxt_tc_setup_indr_block()
[all …]
/linux/drivers/net/ethernet/mscc/
A Docelot_net.c439 struct flow_block_cb *block_cb; in ocelot_setup_tc_block() local
458 block_cb = flow_block_cb_alloc(cb, priv, priv, NULL); in ocelot_setup_tc_block()
459 if (IS_ERR(block_cb)) in ocelot_setup_tc_block()
460 return PTR_ERR(block_cb); in ocelot_setup_tc_block()
462 flow_block_cb_add(block_cb, f); in ocelot_setup_tc_block()
463 list_add_tail(&block_cb->driver_list, f->driver_block_list); in ocelot_setup_tc_block()
466 block_cb = flow_block_cb_lookup(f->block, cb, priv); in ocelot_setup_tc_block()
467 if (!block_cb) in ocelot_setup_tc_block()
470 flow_block_cb_remove(block_cb, f); in ocelot_setup_tc_block()
471 list_del(&block_cb->driver_list); in ocelot_setup_tc_block()
/linux/net/dsa/
A Duser.c1643 struct flow_block_cb *block_cb; in dsa_user_setup_tc_block() local
1660 block_cb = flow_block_cb_alloc(cb, dev, dev, NULL); in dsa_user_setup_tc_block()
1661 if (IS_ERR(block_cb)) in dsa_user_setup_tc_block()
1662 return PTR_ERR(block_cb); in dsa_user_setup_tc_block()
1664 flow_block_cb_add(block_cb, f); in dsa_user_setup_tc_block()
1665 list_add_tail(&block_cb->driver_list, &dsa_user_block_cb_list); in dsa_user_setup_tc_block()
1668 block_cb = flow_block_cb_lookup(f->block, cb, dev); in dsa_user_setup_tc_block()
1669 if (!block_cb) in dsa_user_setup_tc_block()
1672 flow_block_cb_remove(block_cb, f); in dsa_user_setup_tc_block()
1673 list_del(&block_cb->driver_list); in dsa_user_setup_tc_block()
/linux/drivers/net/ethernet/intel/ice/
A Dice_main.c86 void (*cleanup)(struct flow_block_cb *block_cb));
9341 void (*cleanup)(struct flow_block_cb *block_cb)) in ice_indr_setup_tc_block() argument
9344 struct flow_block_cb *block_cb; in ice_indr_setup_tc_block() local
9368 block_cb = in ice_indr_setup_tc_block()
9375 if (IS_ERR(block_cb)) { in ice_indr_setup_tc_block()
9378 return PTR_ERR(block_cb); in ice_indr_setup_tc_block()
9380 flow_block_cb_add(block_cb, f); in ice_indr_setup_tc_block()
9388 block_cb = flow_block_cb_lookup(f->block, in ice_indr_setup_tc_block()
9391 if (!block_cb) in ice_indr_setup_tc_block()
9394 flow_indr_block_cb_remove(block_cb, f); in ice_indr_setup_tc_block()
[all …]

Completed in 102 milliseconds