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

/linux-master/drivers/net/ethernet/marvell/prestera/
H A Dprestera_flow.c179 struct flow_block_cb *block_cb; local
181 block_cb = flow_block_cb_lookup(f->block,
183 if (!block_cb) {
188 block_cb = flow_block_cb_alloc(prestera_flow_block_cb,
191 if (IS_ERR(block_cb)) {
193 return ERR_CAST(block_cb);
196 block->block_cb = block_cb;
199 block = flow_block_cb_priv(block_cb);
203 flow_block_cb_incref(block_cb);
210 struct flow_block_cb *block_cb = block->block_cb; local
224 struct flow_block_cb *block_cb; local
261 struct flow_block_cb *block_cb; local
[all...]
H A Dprestera_flow.h23 struct flow_block_cb *block_cb; member in struct:prestera_flow_block
/linux-master/net/core/
H A Dflow_offload.c265 struct flow_block_cb *block_cb; local
267 block_cb = kzalloc(sizeof(*block_cb), GFP_KERNEL);
268 if (!block_cb)
271 block_cb->cb = cb;
272 block_cb->cb_ident = cb_ident;
273 block_cb->cb_priv = cb_priv;
274 block_cb->release = release;
276 return block_cb;
280 void flow_block_cb_free(struct flow_block_cb *block_cb) argument
292 struct flow_block_cb *block_cb; local
304 flow_block_cb_priv(struct flow_block_cb *block_cb) argument
310 flow_block_cb_incref(struct flow_block_cb *block_cb) argument
316 flow_block_cb_decref(struct flow_block_cb *block_cb) argument
325 struct flow_block_cb *block_cb; local
343 struct flow_block_cb *block_cb; 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)) 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)) argument
539 struct flow_block_cb *block_cb; 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) 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)) argument
[all...]
/linux-master/drivers/net/ethernet/mellanox/mlxsw/
H A Dspectrum_flow.c207 struct flow_block_cb *block_cb; local
211 block_cb = flow_block_cb_lookup(f->block, mlxsw_sp_flow_block_cb,
213 if (!block_cb) {
217 block_cb = flow_block_cb_alloc(mlxsw_sp_flow_block_cb,
220 if (IS_ERR(block_cb)) {
222 return PTR_ERR(block_cb);
226 flow_block = flow_block_cb_priv(block_cb);
228 flow_block_cb_incref(block_cb);
240 flow_block_cb_add(block_cb, f);
241 list_add_tail(&block_cb
258 struct flow_block_cb *block_cb; local
[all...]
H A Dspectrum_qdisc.c2178 struct flow_block_cb *block_cb; local
2184 block_cb = flow_block_cb_lookup(f->block, mlxsw_sp_qevent_block_cb, mlxsw_sp);
2185 if (!block_cb) {
2189 block_cb = flow_block_cb_alloc(mlxsw_sp_qevent_block_cb, mlxsw_sp, qevent_block,
2191 if (IS_ERR(block_cb)) {
2193 return PTR_ERR(block_cb);
2197 qevent_block = flow_block_cb_priv(block_cb);
2199 flow_block_cb_incref(block_cb);
2233 flow_block_cb_add(block_cb, f);
2234 list_add_tail(&block_cb
2256 struct flow_block_cb *block_cb; local
[all...]
/linux-master/drivers/net/ethernet/sfc/
H A Dtc_bindings.c78 struct flow_block_cb *block_cb; local
92 block_cb = flow_block_cb_alloc(efx_tc_block_cb, binding,
94 rc = PTR_ERR_OR_ZERO(block_cb);
104 flow_block_cb_add(block_cb, tcb);
110 block_cb = flow_block_cb_lookup(tcb->block,
113 if (block_cb) {
114 flow_block_cb_remove(block_cb, tcb);
142 void (*cleanup)(struct flow_block_cb *block_cb))
146 struct flow_block_cb *block_cb; local
173 block_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)) argument
[all...]
H A Dtc_bindings.h29 void (*cleanup)(struct flow_block_cb *block_cb));
/linux-master/include/net/netfilter/
H A Dnf_flow_table.h229 struct flow_block_cb *block_cb; local
233 block_cb = flow_block_cb_lookup(block, cb, cb_priv);
234 if (block_cb) {
239 block_cb = flow_block_cb_alloc(cb, cb_priv, cb_priv, NULL);
240 if (IS_ERR(block_cb)) {
241 err = PTR_ERR(block_cb);
245 list_add_tail(&block_cb->list, &block->cb_list);
262 struct flow_block_cb *block_cb; local
265 block_cb = flow_block_cb_lookup(block, cb, cb_priv);
266 if (block_cb) {
[all...]
/linux-master/drivers/net/ethernet/mediatek/
H A Dmtk_ppe_offload.c582 struct flow_block_cb *block_cb; local
596 block_cb = flow_block_cb_lookup(f->block, cb, dev);
597 if (block_cb) {
598 flow_block_cb_incref(block_cb);
601 block_cb = flow_block_cb_alloc(cb, dev, dev, NULL);
602 if (IS_ERR(block_cb))
603 return PTR_ERR(block_cb);
605 flow_block_cb_incref(block_cb);
606 flow_block_cb_add(block_cb, f);
607 list_add_tail(&block_cb
[all...]
H A Dmtk_wed.c2686 struct flow_block_cb *block_cb; local
2701 block_cb = flow_block_cb_lookup(f->block, cb, dev);
2702 if (block_cb) {
2703 flow_block_cb_incref(block_cb);
2713 block_cb = flow_block_cb_alloc(cb, dev, priv, NULL);
2714 if (IS_ERR(block_cb)) {
2716 return PTR_ERR(block_cb);
2719 flow_block_cb_incref(block_cb);
2720 flow_block_cb_add(block_cb, f);
2721 list_add_tail(&block_cb
[all...]
/linux-master/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, argument
562 list_add_tail(&block_cb->list, &offload->cb_list);
565 static inline void flow_block_cb_remove(struct flow_block_cb *block_cb, argument
568 list_move(&block_cb
571 flow_indr_block_cb_remove(struct flow_block_cb *block_cb, struct flow_block_offload *offload) argument
[all...]
/linux-master/net/netfilter/
H A Dnf_tables_offload.c201 struct flow_block_cb *block_cb; local
204 list_for_each_entry(block_cb, cb_list, list) {
205 err = block_cb->cb(type, type_data, block_cb->cb_priv);
324 struct flow_block_cb *block_cb, *next; local
338 list_for_each_entry_safe(block_cb, next, &bo->cb_list, list) {
339 list_del(&block_cb->list);
340 flow_block_cb_free(block_cb);
400 static void nft_indr_block_cleanup(struct flow_block_cb *block_cb) argument
402 struct nft_base_chain *basechain = block_cb
[all...]
H A Dnf_flow_table_offload.c844 struct flow_block_cb *block_cb; local
855 list_for_each_entry(block_cb, block_cb_list, list) {
856 err = block_cb->cb(TC_SETUP_CLSFLOWER, &cls_flow,
857 block_cb->cb_priv);
1102 struct flow_block_cb *block_cb, *next; local
1111 list_for_each_entry_safe(block_cb, next, &bo->cb_list, list) {
1112 list_del(&block_cb->list);
1113 flow_block_cb_free(block_cb);
1141 static void nf_flow_table_indr_cleanup(struct flow_block_cb *block_cb) argument
1143 struct nf_flowtable *flowtable = block_cb
[all...]
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/en/rep/
H A Dtc.c489 void (*cleanup)(struct flow_block_cb *block_cb))
492 struct flow_block_cb *block_cb; local
516 block_cb = flow_indr_block_cb_alloc(setup_cb, indr_priv, indr_priv,
520 if (IS_ERR(block_cb)) {
523 return PTR_ERR(block_cb);
525 flow_block_cb_add(block_cb, f);
526 list_add_tail(&block_cb->driver_list, &mlx5e_block_cb_list);
534 block_cb = flow_block_cb_lookup(f->block, setup_cb, indr_priv);
535 if (!block_cb)
538 flow_indr_block_cb_remove(block_cb,
484 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)) argument
662 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)) argument
[all...]
/linux-master/drivers/net/ethernet/netronome/nfp/flower/
H A Doffload.c1782 struct flow_block_cb *block_cb; local
1798 block_cb = flow_block_cb_alloc(nfp_flower_setup_tc_block_cb,
1800 if (IS_ERR(block_cb))
1801 return PTR_ERR(block_cb);
1803 flow_block_cb_add(block_cb, f);
1804 list_add_tail(&block_cb->driver_list, &nfp_block_cb_list);
1807 block_cb = flow_block_cb_lookup(f->block,
1810 if (!block_cb)
1813 flow_block_cb_remove(block_cb, f);
1814 list_del(&block_cb
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)) argument
1881 struct flow_block_cb *block_cb; 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)) argument
[all...]
H A Dmain.h679 void (*cleanup)(struct flow_block_cb *block_cb));
/linux-master/net/sched/
H A Dcls_api.c768 static void tc_block_indr_cleanup(struct flow_block_cb *block_cb) argument
770 struct tcf_block *block = block_cb->indr.data;
771 struct net_device *dev = block_cb->indr.dev;
772 struct Qdisc *sch = block_cb->indr.sch;
777 block_cb->indr.binder_type,
782 list_del(&block_cb->driver_list);
783 list_move(&block_cb->list, &bo.cb_list);
1599 struct flow_block_cb *block_cb, *next; local
1604 list_for_each_entry(block_cb, &bo->cb_list, list) {
1605 err = tcf_block_playback_offloads(block, block_cb
1641 struct flow_block_cb *block_cb, *next; local
3532 struct flow_block_cb *block_cb; local
[all...]
/linux-master/drivers/net/ethernet/mscc/
H A Docelot_net.c439 struct flow_block_cb *block_cb; local
458 block_cb = flow_block_cb_alloc(cb, priv, priv, NULL);
459 if (IS_ERR(block_cb))
460 return PTR_ERR(block_cb);
462 flow_block_cb_add(block_cb, f);
463 list_add_tail(&block_cb->driver_list, f->driver_block_list);
466 block_cb = flow_block_cb_lookup(f->block, cb, priv);
467 if (!block_cb)
470 flow_block_cb_remove(block_cb, f);
471 list_del(&block_cb
[all...]
/linux-master/drivers/net/ethernet/freescale/dpaa2/
H A Ddpaa2-switch.c1313 struct flow_block_cb *block_cb; local
1317 block_cb = flow_block_cb_lookup(f->block,
1321 if (!block_cb) {
1328 block_cb = flow_block_cb_alloc(dpaa2_switch_port_setup_tc_block_cb_ig,
1330 if (IS_ERR(block_cb))
1331 return PTR_ERR(block_cb);
1335 filter_block = flow_block_cb_priv(block_cb);
1338 flow_block_cb_incref(block_cb);
1344 flow_block_cb_add(block_cb, f);
1345 list_add_tail(&block_cb
1363 struct flow_block_cb *block_cb; local
[all...]
/linux-master/drivers/net/ethernet/broadcom/bnxt/
H A Dbnxt_tc.c1904 void (*cleanup)(struct flow_block_cb *block_cb))
1907 struct flow_block_cb *block_cb; local
1922 block_cb = flow_indr_block_cb_alloc(bnxt_tc_setup_indr_block_cb,
1926 if (IS_ERR(block_cb)) {
1929 return PTR_ERR(block_cb);
1932 flow_block_cb_add(block_cb, f);
1933 list_add_tail(&block_cb->driver_list, &bnxt_block_cb_list);
1940 block_cb = flow_block_cb_lookup(f->block,
1943 if (!block_cb)
1946 flow_indr_block_cb_remove(block_cb,
1902 bnxt_tc_setup_indr_block(struct net_device *netdev, struct Qdisc *sch, struct bnxt *bp, struct flow_block_offload *f, void *data, void (*cleanup)(struct flow_block_cb *block_cb)) argument
1960 bnxt_tc_setup_indr_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)) argument
[all...]
/linux-master/net/dsa/
H A Duser.c1635 struct flow_block_cb *block_cb; local
1652 block_cb = flow_block_cb_alloc(cb, dev, dev, NULL);
1653 if (IS_ERR(block_cb))
1654 return PTR_ERR(block_cb);
1656 flow_block_cb_add(block_cb, f);
1657 list_add_tail(&block_cb->driver_list, &dsa_user_block_cb_list);
1660 block_cb = flow_block_cb_lookup(f->block, cb, dev);
1661 if (!block_cb)
1664 flow_block_cb_remove(block_cb, f);
1665 list_del(&block_cb
[all...]
/linux-master/drivers/net/ethernet/intel/ice/
H A Dice_main.c84 void (*cleanup)(struct flow_block_cb *block_cb));
9191 void (*cleanup)(struct flow_block_cb *block_cb))
9194 struct flow_block_cb *block_cb; local
9218 block_cb =
9225 if (IS_ERR(block_cb)) {
9228 return PTR_ERR(block_cb);
9230 flow_block_cb_add(block_cb, f);
9231 list_add_tail(&block_cb->driver_list, &ice_block_cb_list);
9238 block_cb = flow_block_cb_lookup(f->block,
9241 if (!block_cb)
9188 ice_indr_setup_tc_block(struct net_device *netdev, struct Qdisc *sch, struct ice_netdev_priv *np, struct flow_block_offload *f, void *data, void (*cleanup)(struct flow_block_cb *block_cb)) argument
9255 ice_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)) argument
[all...]

Completed in 403 milliseconds