/linux-master/drivers/net/ethernet/marvell/prestera/ |
H A D | prestera_flow.c | 179 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 D | prestera_flow.h | 23 struct flow_block_cb *block_cb; member in struct:prestera_flow_block
|
/linux-master/net/core/ |
H A D | flow_offload.c | 265 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 D | spectrum_flow.c | 207 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 D | spectrum_qdisc.c | 2178 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 D | tc_bindings.c | 78 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 D | tc_bindings.h | 29 void (*cleanup)(struct flow_block_cb *block_cb));
|
/linux-master/include/net/netfilter/ |
H A D | nf_flow_table.h | 229 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 D | mtk_ppe_offload.c | 582 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 D | mtk_wed.c | 2686 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 D | flow_offload.h | 525 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 D | nf_tables_offload.c | 201 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 D | nf_flow_table_offload.c | 844 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 D | tc.c | 489 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 D | offload.c | 1782 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 D | main.h | 679 void (*cleanup)(struct flow_block_cb *block_cb));
|
/linux-master/net/sched/ |
H A D | cls_api.c | 768 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 D | ocelot_net.c | 439 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 D | dpaa2-switch.c | 1313 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 D | bnxt_tc.c | 1904 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 D | user.c | 1635 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 D | ice_main.c | 84 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...] |