Home
last modified time | relevance | path

Searched refs:block_cb (Results 1 - 25 of 37) sorted by relevance

12

/kernel/linux/linux-5.10/net/core/
H A Dflow_offload.c209 struct flow_block_cb *block_cb; in flow_block_cb_alloc() local
211 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()
216 block_cb->cb_ident = cb_ident; in flow_block_cb_alloc()
217 block_cb->cb_priv = cb_priv; in flow_block_cb_alloc()
218 block_cb->release = release; in flow_block_cb_alloc()
220 return block_cb; in flow_block_cb_alloc()
224 void flow_block_cb_free(struct flow_block_cb *block_cb) in flow_block_cb_free() argument
236 struct flow_block_cb *block_cb; flow_block_cb_lookup() local
248 flow_block_cb_priv(struct flow_block_cb *block_cb) flow_block_cb_priv() argument
254 flow_block_cb_incref(struct flow_block_cb *block_cb) flow_block_cb_incref() argument
260 flow_block_cb_decref(struct flow_block_cb *block_cb) flow_block_cb_decref() argument
269 struct flow_block_cb *block_cb; flow_block_cb_is_busy() local
287 struct flow_block_cb *block_cb; flow_block_cb_setup_simple() local
458 flow_block_indr_init(struct flow_block_cb *flow_block, struct flow_block_offload *bo, struct net_device *dev, struct Qdisc *sch, void *data, void *cb_priv, void (*cleanup)(struct flow_block_cb *block_cb)) flow_block_indr_init() argument
472 flow_indr_block_cb_alloc(flow_setup_cb_t *cb, void *cb_ident, void *cb_priv, void (*release)(void *cb_priv), struct flow_block_offload *bo, struct net_device *dev, struct Qdisc *sch, void *data, void *indr_cb_priv, void (*cleanup)(struct flow_block_cb *block_cb)) flow_indr_block_cb_alloc() argument
481 struct flow_block_cb *block_cb; flow_indr_block_cb_alloc() local
506 indir_dev_add(void *data, struct net_device *dev, struct Qdisc *sch, enum tc_setup_type type, void (*cleanup)(struct flow_block_cb *block_cb), struct flow_block_offload *bo) indir_dev_add() argument
547 flow_indr_dev_setup_offload(struct net_device *dev, struct Qdisc *sch, enum tc_setup_type type, void *data, struct flow_block_offload *bo, void (*cleanup)(struct flow_block_cb *block_cb)) flow_indr_dev_setup_offload() argument
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/marvell/prestera/
H A Dprestera_flow.c179 struct flow_block_cb *block_cb; in prestera_flow_block_get() local
181 block_cb = flow_block_cb_lookup(f->block, in prestera_flow_block_get()
183 if (!block_cb) { in prestera_flow_block_get()
188 block_cb = flow_block_cb_alloc(prestera_flow_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()
199 block = flow_block_cb_priv(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; prestera_flow_block_put() local
224 struct flow_block_cb *block_cb; prestera_setup_flow_block_bind() local
261 struct flow_block_cb *block_cb; prestera_setup_flow_block_unbind() local
[all...]
/kernel/linux/linux-6.6/net/core/
H A Dflow_offload.c265 struct flow_block_cb *block_cb; in flow_block_cb_alloc() local
267 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()
272 block_cb->cb_ident = cb_ident; in flow_block_cb_alloc()
273 block_cb->cb_priv = cb_priv; in flow_block_cb_alloc()
274 block_cb->release = release; in flow_block_cb_alloc()
276 return block_cb; in flow_block_cb_alloc()
280 void flow_block_cb_free(struct flow_block_cb *block_cb) in flow_block_cb_free() argument
292 struct flow_block_cb *block_cb; flow_block_cb_lookup() local
304 flow_block_cb_priv(struct flow_block_cb *block_cb) flow_block_cb_priv() argument
310 flow_block_cb_incref(struct flow_block_cb *block_cb) flow_block_cb_incref() argument
316 flow_block_cb_decref(struct flow_block_cb *block_cb) flow_block_cb_decref() argument
325 struct flow_block_cb *block_cb; flow_block_cb_is_busy() local
343 struct flow_block_cb *block_cb; flow_block_cb_setup_simple() local
516 flow_block_indr_init(struct flow_block_cb *flow_block, struct flow_block_offload *bo, struct net_device *dev, struct Qdisc *sch, void *data, void *cb_priv, void (*cleanup)(struct flow_block_cb *block_cb)) flow_block_indr_init() argument
530 flow_indr_block_cb_alloc(flow_setup_cb_t *cb, void *cb_ident, void *cb_priv, void (*release)(void *cb_priv), struct flow_block_offload *bo, struct net_device *dev, struct Qdisc *sch, void *data, void *indr_cb_priv, void (*cleanup)(struct flow_block_cb *block_cb)) flow_indr_block_cb_alloc() argument
539 struct flow_block_cb *block_cb; flow_indr_block_cb_alloc() local
564 indir_dev_add(void *data, struct net_device *dev, struct Qdisc *sch, enum tc_setup_type type, void (*cleanup)(struct flow_block_cb *block_cb), struct flow_block_offload *bo) indir_dev_add() argument
605 flow_indr_dev_setup_offload(struct net_device *dev, struct Qdisc *sch, enum tc_setup_type type, void *data, struct flow_block_offload *bo, void (*cleanup)(struct flow_block_cb *block_cb)) flow_indr_dev_setup_offload() argument
[all...]
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlxsw/
H A Dspectrum_flow.c207 struct flow_block_cb *block_cb; in mlxsw_sp_setup_tc_block_bind() local
211 block_cb = flow_block_cb_lookup(f->block, mlxsw_sp_flow_block_cb, in mlxsw_sp_setup_tc_block_bind()
213 if (!block_cb) { in mlxsw_sp_setup_tc_block_bind()
217 block_cb = flow_block_cb_alloc(mlxsw_sp_flow_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()
226 flow_block = flow_block_cb_priv(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()
241 list_add_tail(&block_cb in mlxsw_sp_setup_tc_block_bind()
258 struct flow_block_cb *block_cb; mlxsw_sp_setup_tc_block_unbind() local
[all...]
H A Dspectrum_qdisc.c1714 struct flow_block_cb *block_cb; in mlxsw_sp_setup_tc_block_qevent_bind() local
1719 block_cb = flow_block_cb_lookup(f->block, mlxsw_sp_qevent_block_cb, mlxsw_sp); in mlxsw_sp_setup_tc_block_qevent_bind()
1720 if (!block_cb) { in mlxsw_sp_setup_tc_block_qevent_bind()
1724 block_cb = flow_block_cb_alloc(mlxsw_sp_qevent_block_cb, mlxsw_sp, qevent_block, in mlxsw_sp_setup_tc_block_qevent_bind()
1726 if (IS_ERR(block_cb)) { in mlxsw_sp_setup_tc_block_qevent_bind()
1728 return PTR_ERR(block_cb); in mlxsw_sp_setup_tc_block_qevent_bind()
1732 qevent_block = flow_block_cb_priv(block_cb); in mlxsw_sp_setup_tc_block_qevent_bind()
1734 flow_block_cb_incref(block_cb); in mlxsw_sp_setup_tc_block_qevent_bind()
1763 flow_block_cb_add(block_cb, f); in mlxsw_sp_setup_tc_block_qevent_bind()
1764 list_add_tail(&block_cb in mlxsw_sp_setup_tc_block_qevent_bind()
1786 struct flow_block_cb *block_cb; mlxsw_sp_setup_tc_block_qevent_unbind() local
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlxsw/
H A Dspectrum_flow.c207 struct flow_block_cb *block_cb; in mlxsw_sp_setup_tc_block_bind() local
211 block_cb = flow_block_cb_lookup(f->block, mlxsw_sp_flow_block_cb, in mlxsw_sp_setup_tc_block_bind()
213 if (!block_cb) { in mlxsw_sp_setup_tc_block_bind()
217 block_cb = flow_block_cb_alloc(mlxsw_sp_flow_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()
226 flow_block = flow_block_cb_priv(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()
241 list_add_tail(&block_cb in mlxsw_sp_setup_tc_block_bind()
258 struct flow_block_cb *block_cb; mlxsw_sp_setup_tc_block_unbind() local
[all...]
H A Dspectrum_qdisc.c2178 struct flow_block_cb *block_cb; in mlxsw_sp_setup_tc_block_qevent_bind() local
2184 block_cb = flow_block_cb_lookup(f->block, mlxsw_sp_qevent_block_cb, mlxsw_sp); in mlxsw_sp_setup_tc_block_qevent_bind()
2185 if (!block_cb) { in mlxsw_sp_setup_tc_block_qevent_bind()
2189 block_cb = flow_block_cb_alloc(mlxsw_sp_qevent_block_cb, mlxsw_sp, qevent_block, 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()
2197 qevent_block = flow_block_cb_priv(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()
2234 list_add_tail(&block_cb in mlxsw_sp_setup_tc_block_qevent_bind()
2256 struct flow_block_cb *block_cb; mlxsw_sp_setup_tc_block_qevent_unbind() local
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/sfc/
H A Dtc_bindings.c78 struct flow_block_cb *block_cb; in efx_tc_setup_block() local
92 block_cb = flow_block_cb_alloc(efx_tc_block_cb, binding, in efx_tc_setup_block()
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()
142 void (*cleanup)(struct flow_block_cb *block_cb)) in efx_tc_indr_setup_cb()
146 struct flow_block_cb *block_cb; in efx_tc_indr_setup_cb() local
173 block_cb in efx_tc_indr_setup_cb()
139 efx_tc_indr_setup_cb(struct net_device *net_dev, struct Qdisc *sch, void *cb_priv, enum tc_setup_type type, void *type_data, void *data, void (*cleanup)(struct flow_block_cb *block_cb)) efx_tc_indr_setup_cb() argument
[all...]
/kernel/linux/linux-5.10/include/net/netfilter/
H A Dnf_flow_table.h168 struct flow_block_cb *block_cb; in nf_flow_table_offload_add_cb() local
172 block_cb = flow_block_cb_lookup(block, cb, cb_priv); in nf_flow_table_offload_add_cb()
173 if (block_cb) { in nf_flow_table_offload_add_cb()
178 block_cb = flow_block_cb_alloc(cb, cb_priv, cb_priv, NULL); in nf_flow_table_offload_add_cb()
179 if (IS_ERR(block_cb)) { in nf_flow_table_offload_add_cb()
180 err = PTR_ERR(block_cb); in nf_flow_table_offload_add_cb()
184 list_add_tail(&block_cb->list, &block->cb_list); in nf_flow_table_offload_add_cb()
196 struct flow_block_cb *block_cb; in nf_flow_table_offload_del_cb() local
199 block_cb = flow_block_cb_lookup(block, cb, cb_priv); in nf_flow_table_offload_del_cb()
200 if (block_cb) { in nf_flow_table_offload_del_cb()
[all...]
/kernel/linux/linux-6.6/include/net/netfilter/
H A Dnf_flow_table.h228 struct flow_block_cb *block_cb; in nf_flow_table_offload_add_cb() local
232 block_cb = flow_block_cb_lookup(block, cb, cb_priv); in nf_flow_table_offload_add_cb()
233 if (block_cb) { in nf_flow_table_offload_add_cb()
238 block_cb = flow_block_cb_alloc(cb, cb_priv, cb_priv, NULL); in nf_flow_table_offload_add_cb()
239 if (IS_ERR(block_cb)) { in nf_flow_table_offload_add_cb()
240 err = PTR_ERR(block_cb); in nf_flow_table_offload_add_cb()
244 list_add_tail(&block_cb->list, &block->cb_list); in nf_flow_table_offload_add_cb()
261 struct flow_block_cb *block_cb; in nf_flow_table_offload_del_cb() local
264 block_cb = flow_block_cb_lookup(block, cb, cb_priv); in nf_flow_table_offload_del_cb()
265 if (block_cb) { in nf_flow_table_offload_del_cb()
[all...]
/kernel/linux/linux-5.10/include/net/
H A Dflow_offload.h463 void (*cleanup)(struct flow_block_cb *block_cb);
487 void (*cleanup)(struct flow_block_cb *block_cb));
488 void flow_block_cb_free(struct flow_block_cb *block_cb);
493 void *flow_block_cb_priv(struct flow_block_cb *block_cb);
494 void flow_block_cb_incref(struct flow_block_cb *block_cb);
495 unsigned int flow_block_cb_decref(struct flow_block_cb *block_cb);
497 static inline void flow_block_cb_add(struct flow_block_cb *block_cb, in flow_block_cb_add() argument
500 list_add_tail(&block_cb->list, &offload->cb_list); in flow_block_cb_add()
503 static inline void flow_block_cb_remove(struct flow_block_cb *block_cb, in flow_block_cb_remove() argument
506 list_move(&block_cb in flow_block_cb_remove()
509 flow_indr_block_cb_remove(struct flow_block_cb *block_cb, struct flow_block_offload *offload) flow_indr_block_cb_remove() argument
[all...]
/kernel/linux/linux-6.6/include/net/
H A Dflow_offload.h525 void (*cleanup)(struct flow_block_cb *block_cb);
549 void (*cleanup)(struct flow_block_cb *block_cb));
550 void flow_block_cb_free(struct flow_block_cb *block_cb);
555 void *flow_block_cb_priv(struct flow_block_cb *block_cb);
556 void flow_block_cb_incref(struct flow_block_cb *block_cb);
557 unsigned int flow_block_cb_decref(struct flow_block_cb *block_cb);
559 static inline void flow_block_cb_add(struct flow_block_cb *block_cb, in flow_block_cb_add() argument
562 list_add_tail(&block_cb->list, &offload->cb_list); in flow_block_cb_add()
565 static inline void flow_block_cb_remove(struct flow_block_cb *block_cb, in flow_block_cb_remove() argument
568 list_move(&block_cb in flow_block_cb_remove()
571 flow_indr_block_cb_remove(struct flow_block_cb *block_cb, struct flow_block_offload *offload) flow_indr_block_cb_remove() argument
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/mediatek/
H A Dmtk_ppe_offload.c578 struct flow_block_cb *block_cb; in mtk_eth_setup_tc_block() local
592 block_cb = flow_block_cb_lookup(f->block, cb, dev); in mtk_eth_setup_tc_block()
593 if (block_cb) { in mtk_eth_setup_tc_block()
594 flow_block_cb_incref(block_cb); in mtk_eth_setup_tc_block()
597 block_cb = flow_block_cb_alloc(cb, dev, dev, NULL); in mtk_eth_setup_tc_block()
598 if (IS_ERR(block_cb)) in mtk_eth_setup_tc_block()
599 return PTR_ERR(block_cb); in mtk_eth_setup_tc_block()
601 flow_block_cb_incref(block_cb); in mtk_eth_setup_tc_block()
602 flow_block_cb_add(block_cb, f); in mtk_eth_setup_tc_block()
603 list_add_tail(&block_cb in mtk_eth_setup_tc_block()
[all...]
H A Dmtk_wed.c1786 struct flow_block_cb *block_cb; in mtk_wed_setup_tc_block() local
1801 block_cb = flow_block_cb_lookup(f->block, cb, dev); in mtk_wed_setup_tc_block()
1802 if (block_cb) { in mtk_wed_setup_tc_block()
1803 flow_block_cb_incref(block_cb); in mtk_wed_setup_tc_block()
1813 block_cb = flow_block_cb_alloc(cb, dev, priv, NULL); in mtk_wed_setup_tc_block()
1814 if (IS_ERR(block_cb)) { in mtk_wed_setup_tc_block()
1816 return PTR_ERR(block_cb); in mtk_wed_setup_tc_block()
1819 flow_block_cb_incref(block_cb); in mtk_wed_setup_tc_block()
1820 flow_block_cb_add(block_cb, f); in mtk_wed_setup_tc_block()
1821 list_add_tail(&block_cb in mtk_wed_setup_tc_block()
[all...]
/kernel/linux/linux-5.10/net/netfilter/
H A Dnf_tables_offload.c202 struct flow_block_cb *block_cb; in nft_setup_cb_call() local
205 list_for_each_entry(block_cb, cb_list, list) { in nft_setup_cb_call()
206 err = block_cb->cb(type, type_data, block_cb->cb_priv); in nft_setup_cb_call()
295 struct flow_block_cb *block_cb, *next; in nft_flow_offload_unbind() local
309 list_for_each_entry_safe(block_cb, next, &bo->cb_list, list) { in nft_flow_offload_unbind()
310 list_del(&block_cb->list); in nft_flow_offload_unbind()
311 flow_block_cb_free(block_cb); in nft_flow_offload_unbind()
371 static void nft_indr_block_cleanup(struct flow_block_cb *block_cb) in nft_indr_block_cleanup() argument
373 struct nft_base_chain *basechain = block_cb in nft_indr_block_cleanup()
[all...]
H A Dnf_flow_table_offload.c686 struct flow_block_cb *block_cb; in nf_flow_offload_tuple() local
696 list_for_each_entry(block_cb, block_cb_list, list) { in nf_flow_offload_tuple()
697 err = block_cb->cb(TC_SETUP_CLSFLOWER, &cls_flow, in nf_flow_offload_tuple()
698 block_cb->cb_priv); in nf_flow_offload_tuple()
910 struct flow_block_cb *block_cb, *next; in nf_flow_table_block_setup() local
919 list_for_each_entry_safe(block_cb, next, &bo->cb_list, list) { in nf_flow_table_block_setup()
920 list_del(&block_cb->list); in nf_flow_table_block_setup()
921 flow_block_cb_free(block_cb); in nf_flow_table_block_setup()
949 static void nf_flow_table_indr_cleanup(struct flow_block_cb *block_cb) in nf_flow_table_indr_cleanup() argument
951 struct nf_flowtable *flowtable = block_cb in nf_flow_table_indr_cleanup()
[all...]
/kernel/linux/linux-6.6/net/netfilter/
H 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()
400 static void nft_indr_block_cleanup(struct flow_block_cb *block_cb) in nft_indr_block_cleanup() argument
402 struct nft_base_chain *basechain = block_cb in nft_indr_block_cleanup()
[all...]
H A Dnf_flow_table_offload.c844 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
1111 list_for_each_entry_safe(block_cb, next, &bo->cb_list, list) { in nf_flow_table_block_setup()
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()
1141 static void nf_flow_table_indr_cleanup(struct flow_block_cb *block_cb) in nf_flow_table_indr_cleanup() argument
1143 struct nf_flowtable *flowtable = block_cb in nf_flow_table_indr_cleanup()
[all...]
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/en/rep/
H A Dtc.c413 void (*cleanup)(struct flow_block_cb *block_cb)) in mlx5e_rep_indr_setup_block()
417 struct flow_block_cb *block_cb; in mlx5e_rep_indr_setup_block() local
444 block_cb = flow_indr_block_cb_alloc(setup_cb, indr_priv, indr_priv, in mlx5e_rep_indr_setup_block()
448 if (IS_ERR(block_cb)) { in mlx5e_rep_indr_setup_block()
451 return PTR_ERR(block_cb); in mlx5e_rep_indr_setup_block()
453 flow_block_cb_add(block_cb, f); in mlx5e_rep_indr_setup_block()
454 list_add_tail(&block_cb->driver_list, &mlx5e_block_cb_list); in mlx5e_rep_indr_setup_block()
462 block_cb = flow_block_cb_lookup(f->block, setup_cb, indr_priv); in mlx5e_rep_indr_setup_block()
463 if (!block_cb) in mlx5e_rep_indr_setup_block()
466 flow_indr_block_cb_remove(block_cb, in mlx5e_rep_indr_setup_block()
408 mlx5e_rep_indr_setup_block(struct net_device *netdev, struct Qdisc *sch, struct mlx5e_rep_priv *rpriv, struct flow_block_offload *f, flow_setup_cb_t *setup_cb, void *data, void (*cleanup)(struct flow_block_cb *block_cb)) mlx5e_rep_indr_setup_block() argument
476 mlx5e_rep_indr_setup_cb(struct net_device *netdev, struct Qdisc *sch, void *cb_priv, enum tc_setup_type type, void *type_data, void *data, void (*cleanup)(struct flow_block_cb *block_cb)) mlx5e_rep_indr_setup_cb() argument
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/en/rep/
H A Dtc.c475 void (*cleanup)(struct flow_block_cb *block_cb)) in mlx5e_rep_indr_setup_block()
478 struct flow_block_cb *block_cb; in mlx5e_rep_indr_setup_block() local
502 block_cb = flow_indr_block_cb_alloc(setup_cb, indr_priv, indr_priv, in mlx5e_rep_indr_setup_block()
506 if (IS_ERR(block_cb)) { in mlx5e_rep_indr_setup_block()
509 return PTR_ERR(block_cb); in mlx5e_rep_indr_setup_block()
511 flow_block_cb_add(block_cb, f); in mlx5e_rep_indr_setup_block()
512 list_add_tail(&block_cb->driver_list, &mlx5e_block_cb_list); in mlx5e_rep_indr_setup_block()
520 block_cb = flow_block_cb_lookup(f->block, setup_cb, indr_priv); in mlx5e_rep_indr_setup_block()
521 if (!block_cb) in mlx5e_rep_indr_setup_block()
524 flow_indr_block_cb_remove(block_cb, in mlx5e_rep_indr_setup_block()
470 mlx5e_rep_indr_setup_block(struct net_device *netdev, struct Qdisc *sch, struct mlx5e_rep_priv *rpriv, struct flow_block_offload *f, flow_setup_cb_t *setup_cb, void *data, void (*cleanup)(struct flow_block_cb *block_cb)) mlx5e_rep_indr_setup_block() argument
648 mlx5e_rep_indr_setup_cb(struct net_device *netdev, struct Qdisc *sch, void *cb_priv, enum tc_setup_type type, void *type_data, void *data, void (*cleanup)(struct flow_block_cb *block_cb)) mlx5e_rep_indr_setup_cb() argument
[all...]
/kernel/linux/linux-5.10/drivers/net/ethernet/netronome/nfp/flower/
H A Doffload.c1673 struct flow_block_cb *block_cb; in nfp_flower_setup_tc_block() local
1688 block_cb = flow_block_cb_alloc(nfp_flower_setup_tc_block_cb, in nfp_flower_setup_tc_block()
1690 if (IS_ERR(block_cb)) in nfp_flower_setup_tc_block()
1691 return PTR_ERR(block_cb); in nfp_flower_setup_tc_block()
1693 flow_block_cb_add(block_cb, f); in nfp_flower_setup_tc_block()
1694 list_add_tail(&block_cb->driver_list, &nfp_block_cb_list); in nfp_flower_setup_tc_block()
1697 block_cb = flow_block_cb_lookup(f->block, in nfp_flower_setup_tc_block()
1700 if (!block_cb) in nfp_flower_setup_tc_block()
1703 flow_block_cb_remove(block_cb, f); in nfp_flower_setup_tc_block()
1704 list_del(&block_cb in nfp_flower_setup_tc_block()
1769 nfp_flower_setup_indr_tc_block(struct net_device *netdev, struct Qdisc *sch, struct nfp_app *app, struct flow_block_offload *f, void *data, void (*cleanup)(struct flow_block_cb *block_cb)) nfp_flower_setup_indr_tc_block() argument
1775 struct flow_block_cb *block_cb; nfp_flower_setup_indr_tc_block() local
1834 nfp_flower_indr_setup_tc_cb(struct net_device *netdev, struct Qdisc *sch, void *cb_priv, enum tc_setup_type type, void *type_data, void *data, void (*cleanup)(struct flow_block_cb *block_cb)) nfp_flower_indr_setup_tc_cb() argument
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/netronome/nfp/flower/
H A Doffload.c1782 struct flow_block_cb *block_cb; in nfp_flower_setup_tc_block() local
1798 block_cb = flow_block_cb_alloc(nfp_flower_setup_tc_block_cb, in nfp_flower_setup_tc_block()
1800 if (IS_ERR(block_cb)) in nfp_flower_setup_tc_block()
1801 return PTR_ERR(block_cb); in nfp_flower_setup_tc_block()
1803 flow_block_cb_add(block_cb, f); in nfp_flower_setup_tc_block()
1804 list_add_tail(&block_cb->driver_list, &nfp_block_cb_list); in nfp_flower_setup_tc_block()
1807 block_cb = flow_block_cb_lookup(f->block, in nfp_flower_setup_tc_block()
1810 if (!block_cb) in nfp_flower_setup_tc_block()
1813 flow_block_cb_remove(block_cb, f); in nfp_flower_setup_tc_block()
1814 list_del(&block_cb in nfp_flower_setup_tc_block()
1875 nfp_flower_setup_indr_tc_block(struct net_device *netdev, struct Qdisc *sch, struct nfp_app *app, struct flow_block_offload *f, void *data, void (*cleanup)(struct flow_block_cb *block_cb)) nfp_flower_setup_indr_tc_block() argument
1881 struct flow_block_cb *block_cb; nfp_flower_setup_indr_tc_block() local
1956 nfp_flower_indr_setup_tc_cb(struct net_device *netdev, struct Qdisc *sch, void *cb_priv, enum tc_setup_type type, void *type_data, void *data, void (*cleanup)(struct flow_block_cb *block_cb)) nfp_flower_indr_setup_tc_cb() argument
[all...]
/kernel/linux/linux-5.10/net/sched/
H A Dcls_api.c644 static void tc_block_indr_cleanup(struct flow_block_cb *block_cb) in tc_block_indr_cleanup() argument
646 struct tcf_block *block = block_cb->indr.data; in tc_block_indr_cleanup()
647 struct net_device *dev = block_cb->indr.dev; in tc_block_indr_cleanup()
648 struct Qdisc *sch = block_cb->indr.sch; in tc_block_indr_cleanup()
653 block_cb->indr.binder_type, in tc_block_indr_cleanup()
658 list_del(&block_cb->driver_list); in tc_block_indr_cleanup()
659 list_move(&block_cb->list, &bo.cb_list); in tc_block_indr_cleanup()
1446 struct flow_block_cb *block_cb, *next; in tcf_block_bind() local
1451 list_for_each_entry(block_cb, &bo->cb_list, list) { in tcf_block_bind()
1452 err = tcf_block_playback_offloads(block, block_cb in tcf_block_bind()
1488 struct flow_block_cb *block_cb, *next; tcf_block_unbind() local
3257 struct flow_block_cb *block_cb; __tc_setup_cb_call() local
[all...]
/kernel/linux/linux-6.6/net/sched/
H A Dcls_api.c768 static void tc_block_indr_cleanup(struct flow_block_cb *block_cb) in tc_block_indr_cleanup() argument
770 struct tcf_block *block = block_cb->indr.data; in tc_block_indr_cleanup()
771 struct net_device *dev = block_cb->indr.dev; in tc_block_indr_cleanup()
772 struct Qdisc *sch = block_cb->indr.sch; in tc_block_indr_cleanup()
777 block_cb->indr.binder_type, in tc_block_indr_cleanup()
782 list_del(&block_cb->driver_list); in tc_block_indr_cleanup()
783 list_move(&block_cb->list, &bo.cb_list); in tc_block_indr_cleanup()
1575 struct flow_block_cb *block_cb, *next; in tcf_block_bind() local
1580 list_for_each_entry(block_cb, &bo->cb_list, list) { in tcf_block_bind()
1581 err = tcf_block_playback_offloads(block, block_cb in tcf_block_bind()
1617 struct flow_block_cb *block_cb, *next; tcf_block_unbind() local
3483 struct flow_block_cb *block_cb; __tc_setup_cb_call() local
[all...]
/kernel/linux/linux-5.10/drivers/net/ethernet/mscc/
H A Docelot_net.c147 struct flow_block_cb *block_cb; in ocelot_setup_tc_block() local
166 block_cb = flow_block_cb_alloc(cb, priv, priv, NULL); in ocelot_setup_tc_block()
167 if (IS_ERR(block_cb)) in ocelot_setup_tc_block()
168 return PTR_ERR(block_cb); in ocelot_setup_tc_block()
170 flow_block_cb_add(block_cb, f); in ocelot_setup_tc_block()
171 list_add_tail(&block_cb->driver_list, f->driver_block_list); in ocelot_setup_tc_block()
174 block_cb = flow_block_cb_lookup(f->block, cb, priv); in ocelot_setup_tc_block()
175 if (!block_cb) in ocelot_setup_tc_block()
178 flow_block_cb_remove(block_cb, f); in ocelot_setup_tc_block()
179 list_del(&block_cb in ocelot_setup_tc_block()
[all...]

Completed in 38 milliseconds

12