Lines Matching defs:policer_item
37 * @policer_item: Associated policer item. Can be NULL.
46 struct devlink_trap_policer_item *policer_item;
75 struct devlink_trap_policer_item *policer_item;
77 list_for_each_entry(policer_item, &devlink->trap_policer_list, list) {
78 if (policer_item->policer->id == id)
79 return policer_item;
498 if (group_item->policer_item &&
500 group_item->policer_item->policer->id))
656 struct devlink_trap_policer_item *policer_item;
670 policer_item = devlink_trap_policer_item_lookup(devlink, policer_id);
671 if (policer_id && !policer_item) {
675 policer = policer_item ? policer_item->policer : NULL;
682 group_item->policer_item = policer_item;
769 const struct devlink_trap_policer_item *policer_item,
784 policer_item->policer->id))
788 policer_item->rate, DEVLINK_ATTR_PAD))
792 policer_item->burst, DEVLINK_ATTR_PAD))
796 policer_item->policer);
812 struct devlink_trap_policer_item *policer_item;
821 policer_item = devlink_trap_policer_item_get_from_info(devlink, info);
822 if (!policer_item) {
831 err = devlink_nl_trap_policer_fill(msg, devlink, policer_item,
850 struct devlink_trap_policer_item *policer_item;
854 list_for_each_entry(policer_item, &devlink->trap_policer_list, list) {
859 err = devlink_nl_trap_policer_fill(msg, devlink, policer_item,
881 struct devlink_trap_policer_item *policer_item,
889 rate = policer_item->rate;
890 burst = policer_item->burst;
898 if (rate < policer_item->policer->min_rate) {
903 if (rate > policer_item->policer->max_rate) {
908 if (burst < policer_item->policer->min_burst) {
913 if (burst > policer_item->policer->max_burst) {
918 err = devlink->ops->trap_policer_set(devlink, policer_item->policer,
923 policer_item->rate = rate;
924 policer_item->burst = burst;
932 struct devlink_trap_policer_item *policer_item;
942 policer_item = devlink_trap_policer_item_get_from_info(devlink, info);
943 if (!policer_item) {
948 return devlink_trap_policer_set(devlink, policer_item, info);
1531 struct devlink_trap_policer_item *policer_item;
1536 policer_item = devlink_trap_policer_item_lookup(devlink, policer_id);
1537 if (WARN_ON_ONCE(!policer_item))
1540 group_item->policer_item = policer_item;
1706 const struct devlink_trap_policer_item *policer_item,
1721 err = devlink_nl_trap_policer_fill(msg, devlink, policer_item, cmd, 0,
1734 struct devlink_trap_policer_item *policer_item;
1736 list_for_each_entry(policer_item, &devlink->trap_policer_list, list)
1737 devlink_trap_policer_notify(devlink, policer_item,
1743 struct devlink_trap_policer_item *policer_item;
1745 list_for_each_entry_reverse(policer_item, &devlink->trap_policer_list,
1747 devlink_trap_policer_notify(devlink, policer_item,
1755 struct devlink_trap_policer_item *policer_item;
1761 policer_item = kzalloc(sizeof(*policer_item), GFP_KERNEL);
1762 if (!policer_item)
1765 policer_item->policer = policer;
1766 policer_item->rate = policer->init_rate;
1767 policer_item->burst = policer->init_burst;
1775 list_add_tail(&policer_item->list, &devlink->trap_policer_list);
1776 devlink_trap_policer_notify(devlink, policer_item,
1782 kfree(policer_item);
1790 struct devlink_trap_policer_item *policer_item;
1792 policer_item = devlink_trap_policer_item_lookup(devlink, policer->id);
1793 if (WARN_ON_ONCE(!policer_item))
1796 devlink_trap_policer_notify(devlink, policer_item,
1798 list_del(&policer_item->list);
1801 kfree(policer_item);