block_cb 764 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c struct flow_block_cb *block_cb; block_cb 787 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c block_cb = flow_block_cb_alloc(mlx5e_rep_indr_setup_block_cb, block_cb 790 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c if (IS_ERR(block_cb)) { block_cb 793 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c return PTR_ERR(block_cb); block_cb 795 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c flow_block_cb_add(block_cb, f); block_cb 796 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c list_add_tail(&block_cb->driver_list, &mlx5e_block_cb_list); block_cb 804 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c block_cb = flow_block_cb_lookup(f->block, block_cb 807 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c if (!block_cb) block_cb 810 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c flow_block_cb_remove(block_cb, f); block_cb 811 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c list_del(&block_cb->driver_list); block_cb 1605 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct flow_block_cb *block_cb; block_cb 1609 drivers/net/ethernet/mellanox/mlxsw/spectrum.c block_cb = flow_block_cb_lookup(f->block, block_cb 1612 drivers/net/ethernet/mellanox/mlxsw/spectrum.c if (!block_cb) { block_cb 1616 drivers/net/ethernet/mellanox/mlxsw/spectrum.c block_cb = flow_block_cb_alloc(mlxsw_sp_setup_tc_block_cb_flower, block_cb 1619 drivers/net/ethernet/mellanox/mlxsw/spectrum.c if (IS_ERR(block_cb)) { block_cb 1621 drivers/net/ethernet/mellanox/mlxsw/spectrum.c err = PTR_ERR(block_cb); block_cb 1626 drivers/net/ethernet/mellanox/mlxsw/spectrum.c acl_block = flow_block_cb_priv(block_cb); block_cb 1628 drivers/net/ethernet/mellanox/mlxsw/spectrum.c flow_block_cb_incref(block_cb); block_cb 1640 drivers/net/ethernet/mellanox/mlxsw/spectrum.c flow_block_cb_add(block_cb, f); block_cb 1641 drivers/net/ethernet/mellanox/mlxsw/spectrum.c list_add_tail(&block_cb->driver_list, &mlxsw_sp_block_cb_list); block_cb 1647 drivers/net/ethernet/mellanox/mlxsw/spectrum.c if (!flow_block_cb_decref(block_cb)) block_cb 1648 drivers/net/ethernet/mellanox/mlxsw/spectrum.c flow_block_cb_free(block_cb); block_cb 1659 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct flow_block_cb *block_cb; block_cb 1662 drivers/net/ethernet/mellanox/mlxsw/spectrum.c block_cb = flow_block_cb_lookup(f->block, block_cb 1665 drivers/net/ethernet/mellanox/mlxsw/spectrum.c if (!block_cb) block_cb 1673 drivers/net/ethernet/mellanox/mlxsw/spectrum.c acl_block = flow_block_cb_priv(block_cb); block_cb 1676 drivers/net/ethernet/mellanox/mlxsw/spectrum.c if (!err && !flow_block_cb_decref(block_cb)) { block_cb 1677 drivers/net/ethernet/mellanox/mlxsw/spectrum.c flow_block_cb_remove(block_cb, f); block_cb 1678 drivers/net/ethernet/mellanox/mlxsw/spectrum.c list_del(&block_cb->driver_list); block_cb 1685 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct flow_block_cb *block_cb; block_cb 1708 drivers/net/ethernet/mellanox/mlxsw/spectrum.c block_cb = flow_block_cb_alloc(cb, mlxsw_sp_port, block_cb 1710 drivers/net/ethernet/mellanox/mlxsw/spectrum.c if (IS_ERR(block_cb)) block_cb 1711 drivers/net/ethernet/mellanox/mlxsw/spectrum.c return PTR_ERR(block_cb); block_cb 1715 drivers/net/ethernet/mellanox/mlxsw/spectrum.c flow_block_cb_free(block_cb); block_cb 1718 drivers/net/ethernet/mellanox/mlxsw/spectrum.c flow_block_cb_add(block_cb, f); block_cb 1719 drivers/net/ethernet/mellanox/mlxsw/spectrum.c list_add_tail(&block_cb->driver_list, &mlxsw_sp_block_cb_list); block_cb 1724 drivers/net/ethernet/mellanox/mlxsw/spectrum.c block_cb = flow_block_cb_lookup(f->block, cb, mlxsw_sp_port); block_cb 1725 drivers/net/ethernet/mellanox/mlxsw/spectrum.c if (!block_cb) block_cb 1728 drivers/net/ethernet/mellanox/mlxsw/spectrum.c flow_block_cb_remove(block_cb, f); block_cb 1729 drivers/net/ethernet/mellanox/mlxsw/spectrum.c list_del(&block_cb->driver_list); block_cb 307 drivers/net/ethernet/mscc/ocelot_flower.c struct flow_block_cb *block_cb; block_cb 313 drivers/net/ethernet/mscc/ocelot_flower.c block_cb = flow_block_cb_lookup(f->block, block_cb 315 drivers/net/ethernet/mscc/ocelot_flower.c if (!block_cb) { block_cb 320 drivers/net/ethernet/mscc/ocelot_flower.c block_cb = flow_block_cb_alloc(ocelot_setup_tc_block_cb_flower, block_cb 323 drivers/net/ethernet/mscc/ocelot_flower.c if (IS_ERR(block_cb)) { block_cb 324 drivers/net/ethernet/mscc/ocelot_flower.c ret = PTR_ERR(block_cb); block_cb 327 drivers/net/ethernet/mscc/ocelot_flower.c flow_block_cb_add(block_cb, f); block_cb 328 drivers/net/ethernet/mscc/ocelot_flower.c list_add_tail(&block_cb->driver_list, f->driver_block_list); block_cb 330 drivers/net/ethernet/mscc/ocelot_flower.c port_block = flow_block_cb_priv(block_cb); block_cb 333 drivers/net/ethernet/mscc/ocelot_flower.c flow_block_cb_incref(block_cb); block_cb 345 drivers/net/ethernet/mscc/ocelot_flower.c struct flow_block_cb *block_cb; block_cb 347 drivers/net/ethernet/mscc/ocelot_flower.c block_cb = flow_block_cb_lookup(f->block, block_cb 349 drivers/net/ethernet/mscc/ocelot_flower.c if (!block_cb) block_cb 352 drivers/net/ethernet/mscc/ocelot_flower.c if (!flow_block_cb_decref(block_cb)) { block_cb 353 drivers/net/ethernet/mscc/ocelot_flower.c flow_block_cb_remove(block_cb, f); block_cb 354 drivers/net/ethernet/mscc/ocelot_flower.c list_del(&block_cb->driver_list); block_cb 136 drivers/net/ethernet/mscc/ocelot_tc.c struct flow_block_cb *block_cb; block_cb 159 drivers/net/ethernet/mscc/ocelot_tc.c block_cb = flow_block_cb_alloc(cb, port, port, NULL); block_cb 160 drivers/net/ethernet/mscc/ocelot_tc.c if (IS_ERR(block_cb)) block_cb 161 drivers/net/ethernet/mscc/ocelot_tc.c return PTR_ERR(block_cb); block_cb 165 drivers/net/ethernet/mscc/ocelot_tc.c flow_block_cb_free(block_cb); block_cb 168 drivers/net/ethernet/mscc/ocelot_tc.c flow_block_cb_add(block_cb, f); block_cb 169 drivers/net/ethernet/mscc/ocelot_tc.c list_add_tail(&block_cb->driver_list, f->driver_block_list); block_cb 172 drivers/net/ethernet/mscc/ocelot_tc.c block_cb = flow_block_cb_lookup(f->block, cb, port); block_cb 173 drivers/net/ethernet/mscc/ocelot_tc.c if (!block_cb) block_cb 177 drivers/net/ethernet/mscc/ocelot_tc.c flow_block_cb_remove(block_cb, f); block_cb 178 drivers/net/ethernet/mscc/ocelot_tc.c list_del(&block_cb->driver_list); block_cb 1477 drivers/net/ethernet/netronome/nfp/flower/offload.c struct flow_block_cb *block_cb; block_cb 1492 drivers/net/ethernet/netronome/nfp/flower/offload.c block_cb = flow_block_cb_alloc(nfp_flower_setup_tc_block_cb, block_cb 1494 drivers/net/ethernet/netronome/nfp/flower/offload.c if (IS_ERR(block_cb)) block_cb 1495 drivers/net/ethernet/netronome/nfp/flower/offload.c return PTR_ERR(block_cb); block_cb 1497 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_block_cb_add(block_cb, f); block_cb 1498 drivers/net/ethernet/netronome/nfp/flower/offload.c list_add_tail(&block_cb->driver_list, &nfp_block_cb_list); block_cb 1501 drivers/net/ethernet/netronome/nfp/flower/offload.c block_cb = flow_block_cb_lookup(f->block, block_cb 1504 drivers/net/ethernet/netronome/nfp/flower/offload.c if (!block_cb) block_cb 1507 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_block_cb_remove(block_cb, f); block_cb 1508 drivers/net/ethernet/netronome/nfp/flower/offload.c list_del(&block_cb->driver_list); block_cb 1581 drivers/net/ethernet/netronome/nfp/flower/offload.c struct flow_block_cb *block_cb; block_cb 1606 drivers/net/ethernet/netronome/nfp/flower/offload.c block_cb = flow_block_cb_alloc(nfp_flower_setup_indr_block_cb, block_cb 1609 drivers/net/ethernet/netronome/nfp/flower/offload.c if (IS_ERR(block_cb)) { block_cb 1612 drivers/net/ethernet/netronome/nfp/flower/offload.c return PTR_ERR(block_cb); block_cb 1615 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_block_cb_add(block_cb, f); block_cb 1616 drivers/net/ethernet/netronome/nfp/flower/offload.c list_add_tail(&block_cb->driver_list, &nfp_block_cb_list); block_cb 1623 drivers/net/ethernet/netronome/nfp/flower/offload.c block_cb = flow_block_cb_lookup(f->block, block_cb 1626 drivers/net/ethernet/netronome/nfp/flower/offload.c if (!block_cb) block_cb 1629 drivers/net/ethernet/netronome/nfp/flower/offload.c flow_block_cb_remove(block_cb, f); block_cb 1630 drivers/net/ethernet/netronome/nfp/flower/offload.c list_del(&block_cb->driver_list); block_cb 316 include/net/flow_offload.h void flow_block_cb_free(struct flow_block_cb *block_cb); block_cb 321 include/net/flow_offload.h void *flow_block_cb_priv(struct flow_block_cb *block_cb); block_cb 322 include/net/flow_offload.h void flow_block_cb_incref(struct flow_block_cb *block_cb); block_cb 323 include/net/flow_offload.h unsigned int flow_block_cb_decref(struct flow_block_cb *block_cb); block_cb 325 include/net/flow_offload.h static inline void flow_block_cb_add(struct flow_block_cb *block_cb, block_cb 328 include/net/flow_offload.h list_add_tail(&block_cb->list, &offload->cb_list); block_cb 331 include/net/flow_offload.h static inline void flow_block_cb_remove(struct flow_block_cb *block_cb, block_cb 334 include/net/flow_offload.h list_move(&block_cb->list, &offload->cb_list); block_cb 174 net/core/flow_offload.c struct flow_block_cb *block_cb; block_cb 176 net/core/flow_offload.c block_cb = kzalloc(sizeof(*block_cb), GFP_KERNEL); block_cb 177 net/core/flow_offload.c if (!block_cb) block_cb 180 net/core/flow_offload.c block_cb->cb = cb; block_cb 181 net/core/flow_offload.c block_cb->cb_ident = cb_ident; block_cb 182 net/core/flow_offload.c block_cb->cb_priv = cb_priv; block_cb 183 net/core/flow_offload.c block_cb->release = release; block_cb 185 net/core/flow_offload.c return block_cb; block_cb 189 net/core/flow_offload.c void flow_block_cb_free(struct flow_block_cb *block_cb) block_cb 191 net/core/flow_offload.c if (block_cb->release) block_cb 192 net/core/flow_offload.c block_cb->release(block_cb->cb_priv); block_cb 194 net/core/flow_offload.c kfree(block_cb); block_cb 201 net/core/flow_offload.c struct flow_block_cb *block_cb; block_cb 203 net/core/flow_offload.c list_for_each_entry(block_cb, &block->cb_list, list) { block_cb 204 net/core/flow_offload.c if (block_cb->cb == cb && block_cb 205 net/core/flow_offload.c block_cb->cb_ident == cb_ident) block_cb 206 net/core/flow_offload.c return block_cb; block_cb 213 net/core/flow_offload.c void *flow_block_cb_priv(struct flow_block_cb *block_cb) block_cb 215 net/core/flow_offload.c return block_cb->cb_priv; block_cb 219 net/core/flow_offload.c void flow_block_cb_incref(struct flow_block_cb *block_cb) block_cb 221 net/core/flow_offload.c block_cb->refcnt++; block_cb 225 net/core/flow_offload.c unsigned int flow_block_cb_decref(struct flow_block_cb *block_cb) block_cb 227 net/core/flow_offload.c return --block_cb->refcnt; block_cb 234 net/core/flow_offload.c struct flow_block_cb *block_cb; block_cb 236 net/core/flow_offload.c list_for_each_entry(block_cb, driver_block_list, driver_list) { block_cb 237 net/core/flow_offload.c if (block_cb->cb == cb && block_cb 238 net/core/flow_offload.c block_cb->cb_ident == cb_ident) block_cb 252 net/core/flow_offload.c struct flow_block_cb *block_cb; block_cb 265 net/core/flow_offload.c block_cb = flow_block_cb_alloc(cb, cb_ident, cb_priv, NULL); block_cb 266 net/core/flow_offload.c if (IS_ERR(block_cb)) block_cb 267 net/core/flow_offload.c return PTR_ERR(block_cb); block_cb 269 net/core/flow_offload.c flow_block_cb_add(block_cb, f); block_cb 270 net/core/flow_offload.c list_add_tail(&block_cb->driver_list, driver_block_list); block_cb 273 net/core/flow_offload.c block_cb = flow_block_cb_lookup(f->block, cb, cb_ident); block_cb 274 net/core/flow_offload.c if (!block_cb) block_cb 277 net/core/flow_offload.c flow_block_cb_remove(block_cb, f); block_cb 278 net/core/flow_offload.c list_del(&block_cb->driver_list); block_cb 994 net/dsa/slave.c struct flow_block_cb *block_cb; block_cb 1011 net/dsa/slave.c block_cb = flow_block_cb_alloc(cb, dev, dev, NULL); block_cb 1012 net/dsa/slave.c if (IS_ERR(block_cb)) block_cb 1013 net/dsa/slave.c return PTR_ERR(block_cb); block_cb 1015 net/dsa/slave.c flow_block_cb_add(block_cb, f); block_cb 1016 net/dsa/slave.c list_add_tail(&block_cb->driver_list, &dsa_slave_block_cb_list); block_cb 1019 net/dsa/slave.c block_cb = flow_block_cb_lookup(f->block, cb, dev); block_cb 1020 net/dsa/slave.c if (!block_cb) block_cb 1023 net/dsa/slave.c flow_block_cb_remove(block_cb, f); block_cb 1024 net/dsa/slave.c list_del(&block_cb->driver_list); block_cb 141 net/netfilter/nf_tables_offload.c struct flow_block_cb *block_cb; block_cb 144 net/netfilter/nf_tables_offload.c list_for_each_entry(block_cb, &basechain->flow_block.cb_list, list) { block_cb 145 net/netfilter/nf_tables_offload.c err = block_cb->cb(type, type_data, block_cb->cb_priv); block_cb 199 net/netfilter/nf_tables_offload.c struct flow_block_cb *block_cb, *next; block_cb 201 net/netfilter/nf_tables_offload.c list_for_each_entry_safe(block_cb, next, &bo->cb_list, list) { block_cb 202 net/netfilter/nf_tables_offload.c list_del(&block_cb->list); block_cb 203 net/netfilter/nf_tables_offload.c flow_block_cb_free(block_cb); block_cb 1480 net/sched/cls_api.c struct flow_block_cb *block_cb, *next; block_cb 1485 net/sched/cls_api.c list_for_each_entry(block_cb, &bo->cb_list, list) { block_cb 1486 net/sched/cls_api.c err = tcf_block_playback_offloads(block, block_cb->cb, block_cb 1487 net/sched/cls_api.c block_cb->cb_priv, true, block_cb 1502 net/sched/cls_api.c list_for_each_entry_safe(block_cb, next, &bo->cb_list, list) { block_cb 1504 net/sched/cls_api.c list_del(&block_cb->list); block_cb 1505 net/sched/cls_api.c tcf_block_playback_offloads(block, block_cb->cb, block_cb 1506 net/sched/cls_api.c block_cb->cb_priv, false, block_cb 1512 net/sched/cls_api.c flow_block_cb_free(block_cb); block_cb 1521 net/sched/cls_api.c struct flow_block_cb *block_cb, *next; block_cb 1525 net/sched/cls_api.c list_for_each_entry_safe(block_cb, next, &bo->cb_list, list) { block_cb 1526 net/sched/cls_api.c tcf_block_playback_offloads(block, block_cb->cb, block_cb 1527 net/sched/cls_api.c block_cb->cb_priv, false, block_cb 1530 net/sched/cls_api.c list_del(&block_cb->list); block_cb 1531 net/sched/cls_api.c flow_block_cb_free(block_cb); block_cb 3177 net/sched/cls_api.c struct flow_block_cb *block_cb; block_cb 3181 net/sched/cls_api.c list_for_each_entry(block_cb, &block->flow_block.cb_list, list) { block_cb 3182 net/sched/cls_api.c err = block_cb->cb(type, type_data, block_cb->cb_priv);