Lines Matching refs:trap_item

8226 	struct devlink_trap_item *trap_item;  in devlink_trap_item_lookup()  local
8228 list_for_each_entry(trap_item, &devlink->trap_list, list) { in devlink_trap_item_lookup()
8229 if (!strcmp(trap_item->trap->name, name)) in devlink_trap_item_lookup()
8230 return trap_item; in devlink_trap_item_lookup()
8350 const struct devlink_trap_item *trap_item) in devlink_trap_stats_put() argument
8359 trap_item->trap, in devlink_trap_stats_put()
8365 devlink_trap_stats_read(trap_item->stats, &stats); in devlink_trap_stats_put()
8396 const struct devlink_trap_item *trap_item, in devlink_nl_trap_fill() argument
8400 struct devlink_trap_group_item *group_item = trap_item->group_item; in devlink_nl_trap_fill()
8415 if (nla_put_string(msg, DEVLINK_ATTR_TRAP_NAME, trap_item->trap->name)) in devlink_nl_trap_fill()
8418 if (nla_put_u8(msg, DEVLINK_ATTR_TRAP_TYPE, trap_item->trap->type)) in devlink_nl_trap_fill()
8421 if (trap_item->trap->generic && in devlink_nl_trap_fill()
8425 if (nla_put_u8(msg, DEVLINK_ATTR_TRAP_ACTION, trap_item->action)) in devlink_nl_trap_fill()
8428 err = devlink_trap_metadata_put(msg, trap_item->trap); in devlink_nl_trap_fill()
8432 err = devlink_trap_stats_put(msg, devlink, trap_item); in devlink_nl_trap_fill()
8450 struct devlink_trap_item *trap_item; in devlink_nl_cmd_trap_get_doit() local
8457 trap_item = devlink_trap_item_get_from_info(devlink, info); in devlink_nl_cmd_trap_get_doit()
8458 if (!trap_item) { in devlink_nl_cmd_trap_get_doit()
8467 err = devlink_nl_trap_fill(msg, devlink, trap_item, in devlink_nl_cmd_trap_get_doit()
8483 struct devlink_trap_item *trap_item; in devlink_nl_cmd_trap_get_dumpit() local
8492 list_for_each_entry(trap_item, &devlink->trap_list, list) { in devlink_nl_cmd_trap_get_dumpit()
8497 err = devlink_nl_trap_fill(msg, devlink, trap_item, in devlink_nl_cmd_trap_get_dumpit()
8518 struct devlink_trap_item *trap_item, in __devlink_trap_action_set() argument
8524 if (trap_item->action != trap_action && in __devlink_trap_action_set()
8525 trap_item->trap->type != DEVLINK_TRAP_TYPE_DROP) { in __devlink_trap_action_set()
8530 err = devlink->ops->trap_action_set(devlink, trap_item->trap, in __devlink_trap_action_set()
8535 trap_item->action = trap_action; in __devlink_trap_action_set()
8541 struct devlink_trap_item *trap_item, in devlink_trap_action_set() argument
8556 return __devlink_trap_action_set(devlink, trap_item, trap_action, in devlink_trap_action_set()
8565 struct devlink_trap_item *trap_item; in devlink_nl_cmd_trap_set_doit() local
8570 trap_item = devlink_trap_item_get_from_info(devlink, info); in devlink_nl_cmd_trap_set_doit()
8571 if (!trap_item) { in devlink_nl_cmd_trap_set_doit()
8576 return devlink_trap_action_set(devlink, trap_item, info); in devlink_nl_cmd_trap_set_doit()
8742 struct devlink_trap_item *trap_item; in __devlink_trap_group_action_set() local
8751 list_for_each_entry(trap_item, &devlink->trap_list, list) { in __devlink_trap_group_action_set()
8752 if (strcmp(trap_item->group_item->group->name, group_name)) in __devlink_trap_group_action_set()
8754 if (trap_item->action != trap_action && in __devlink_trap_group_action_set()
8755 trap_item->trap->type != DEVLINK_TRAP_TYPE_DROP) in __devlink_trap_group_action_set()
8757 trap_item->action = trap_action; in __devlink_trap_group_action_set()
8763 list_for_each_entry(trap_item, &devlink->trap_list, list) { in __devlink_trap_group_action_set()
8764 if (strcmp(trap_item->group_item->group->name, group_name)) in __devlink_trap_group_action_set()
8766 err = __devlink_trap_action_set(devlink, trap_item, in __devlink_trap_group_action_set()
9677 const struct devlink_trap_item *trap_item,
9685 struct devlink_trap_item *trap_item; in devlink_notify_register() local
9706 list_for_each_entry(trap_item, &devlink->trap_list, list) in devlink_notify_register()
9707 devlink_trap_notify(devlink, trap_item, DEVLINK_CMD_TRAP_NEW); in devlink_notify_register()
9725 struct devlink_trap_item *trap_item; in devlink_notify_unregister() local
9740 list_for_each_entry_reverse(trap_item, &devlink->trap_list, list) in devlink_notify_unregister()
9741 devlink_trap_notify(devlink, trap_item, DEVLINK_CMD_TRAP_DEL); in devlink_notify_unregister()
11770 struct devlink_trap_item *trap_item) in devlink_trap_item_group_link() argument
11772 u16 group_id = trap_item->trap->init_group_id; in devlink_trap_item_group_link()
11779 trap_item->group_item = group_item; in devlink_trap_item_group_link()
11785 const struct devlink_trap_item *trap_item, in devlink_trap_notify() argument
11800 err = devlink_nl_trap_fill(msg, devlink, trap_item, cmd, 0, 0, 0); in devlink_trap_notify()
11814 struct devlink_trap_item *trap_item; in devlink_trap_register() local
11820 trap_item = kzalloc(sizeof(*trap_item), GFP_KERNEL); in devlink_trap_register()
11821 if (!trap_item) in devlink_trap_register()
11824 trap_item->stats = netdev_alloc_pcpu_stats(struct devlink_stats); in devlink_trap_register()
11825 if (!trap_item->stats) { in devlink_trap_register()
11830 trap_item->trap = trap; in devlink_trap_register()
11831 trap_item->action = trap->init_action; in devlink_trap_register()
11832 trap_item->priv = priv; in devlink_trap_register()
11834 err = devlink_trap_item_group_link(devlink, trap_item); in devlink_trap_register()
11838 err = devlink->ops->trap_init(devlink, trap, trap_item); in devlink_trap_register()
11842 list_add_tail(&trap_item->list, &devlink->trap_list); in devlink_trap_register()
11843 devlink_trap_notify(devlink, trap_item, DEVLINK_CMD_TRAP_NEW); in devlink_trap_register()
11849 free_percpu(trap_item->stats); in devlink_trap_register()
11851 kfree(trap_item); in devlink_trap_register()
11858 struct devlink_trap_item *trap_item; in devlink_trap_unregister() local
11860 trap_item = devlink_trap_item_lookup(devlink, trap->name); in devlink_trap_unregister()
11861 if (WARN_ON_ONCE(!trap_item)) in devlink_trap_unregister()
11864 devlink_trap_notify(devlink, trap_item, DEVLINK_CMD_TRAP_DEL); in devlink_trap_unregister()
11865 list_del(&trap_item->list); in devlink_trap_unregister()
11867 devlink->ops->trap_fini(devlink, trap, trap_item); in devlink_trap_unregister()
11868 free_percpu(trap_item->stats); in devlink_trap_unregister()
11869 kfree(trap_item); in devlink_trap_unregister()
11875 struct devlink_trap_item *trap_item; in devlink_trap_disable() local
11877 trap_item = devlink_trap_item_lookup(devlink, trap->name); in devlink_trap_disable()
11878 if (WARN_ON_ONCE(!trap_item)) in devlink_trap_disable()
11883 trap_item->action = DEVLINK_TRAP_ACTION_DROP; in devlink_trap_disable()
12008 const struct devlink_trap_item *trap_item, in devlink_trap_report_metadata_set() argument
12012 metadata->trap_name = trap_item->trap->name; in devlink_trap_report_metadata_set()
12013 metadata->trap_group_name = trap_item->group_item->group->name; in devlink_trap_report_metadata_set()
12015 metadata->trap_type = trap_item->trap->type; in devlink_trap_report_metadata_set()
12036 struct devlink_trap_item *trap_item = trap_ctx; in devlink_trap_report() local
12038 devlink_trap_stats_update(trap_item->stats, skb->len); in devlink_trap_report()
12039 devlink_trap_stats_update(trap_item->group_item->stats, skb->len); in devlink_trap_report()
12044 devlink_trap_report_metadata_set(&metadata, trap_item, in devlink_trap_report()
12059 struct devlink_trap_item *trap_item = trap_ctx; in devlink_trap_ctx_priv() local
12061 return trap_item->priv; in devlink_trap_ctx_priv()