Lines Matching defs:devlink

29 #include <net/devlink.h>
32 #include <uapi/linux/devlink.h>
78 nsim_dev_take_snapshot(struct devlink *devlink,
101 struct devlink *devlink;
106 devlink = priv_to_devlink(nsim_dev);
108 err = nsim_dev_take_snapshot(devlink, NULL, NULL, &dummy_data);
112 err = devlink_region_snapshot_id_get(devlink, &id);
120 devlink_region_snapshot_id_put(devlink, id);
341 /* caution, dev_max_vfs write takes devlink lock */
429 static int nsim_dev_resources_register(struct devlink *devlink)
439 err = devl_resource_register(devlink, "IPv4", (u64)-1,
448 err = devl_resource_register(devlink, "fib", (u64)-1,
456 err = devl_resource_register(devlink, "fib-rules", (u64)-1,
465 err = devl_resource_register(devlink, "IPv6", (u64)-1,
474 err = devl_resource_register(devlink, "fib", (u64)-1,
482 err = devl_resource_register(devlink, "fib-rules", (u64)-1,
491 err = devl_resource_register(devlink, "nexthops", (u64)-1,
502 devl_resources_unregister(devlink);
522 struct devlink *devlink)
527 devl_param_driverinit_value_set(devlink,
531 devl_param_driverinit_value_set(devlink,
536 static void nsim_devlink_param_load_driverinit_values(struct devlink *devlink)
538 struct nsim_dev *nsim_dev = devlink_priv(devlink);
542 err = devl_param_driverinit_value_get(devlink,
547 err = devl_param_driverinit_value_get(devlink,
563 struct devlink *devlink)
566 devl_region_create(devlink, &dummy_region_ops,
585 struct devlink *devlink = priv_to_devlink(nsim_dev);
588 devl_rate_nodes_destroy(devlink);
620 static int nsim_devlink_eswitch_mode_set(struct devlink *devlink, u16 mode,
623 struct nsim_dev *nsim_dev = devlink_priv(devlink);
636 static int nsim_devlink_eswitch_mode_get(struct devlink *devlink, u16 *mode)
638 struct nsim_dev *nsim_dev = devlink_priv(devlink);
659 * Documentation/networking/devlink/netdevsim.rst
785 struct devlink *devlink = priv_to_devlink(nsim_dev);
810 /* Trapped packets are usually passed to devlink in softIRQ,
818 devlink_trap_report(devlink, skb, nsim_trap_item->trap_ctx,
858 static int nsim_dev_traps_init(struct devlink *devlink)
861 struct nsim_dev *nsim_dev = devlink_priv(devlink);
893 err = devl_trap_policers_register(devlink, nsim_trap_policers_arr,
898 err = devl_trap_groups_register(devlink, nsim_trap_groups_arr,
903 err = devl_traps_register(devlink, nsim_traps_arr,
916 devl_trap_groups_unregister(devlink, nsim_trap_groups_arr,
919 devl_trap_policers_unregister(devlink, nsim_trap_policers_arr,
930 static void nsim_dev_traps_exit(struct devlink *devlink)
932 struct nsim_dev *nsim_dev = devlink_priv(devlink);
934 /* caution, trap work takes devlink lock */
936 devl_traps_unregister(devlink, nsim_traps_arr,
938 devl_trap_groups_unregister(devlink, nsim_trap_groups_arr,
940 devl_trap_policers_unregister(devlink, nsim_trap_policers_arr,
951 static int nsim_dev_reload_down(struct devlink *devlink, bool netns_change,
955 struct nsim_dev *nsim_dev = devlink_priv(devlink);
969 static int nsim_dev_reload_up(struct devlink *devlink, enum devlink_reload_action action,
973 struct nsim_dev *nsim_dev = devlink_priv(devlink);
988 static int nsim_dev_info_get(struct devlink *devlink,
1006 static int nsim_dev_flash_update(struct devlink *devlink,
1010 struct nsim_dev *nsim_dev = devlink_priv(devlink);
1017 devlink_flash_update_status_notify(devlink,
1024 devlink_flash_update_status_notify(devlink, "Flashing",
1032 devlink_flash_update_status_notify(devlink, "Flashing",
1036 devlink_flash_update_timeout_notify(devlink, "Flash select",
1038 devlink_flash_update_status_notify(devlink, "Flashing done",
1059 static int nsim_dev_devlink_trap_init(struct devlink *devlink,
1063 struct nsim_dev *nsim_dev = devlink_priv(devlink);
1077 nsim_dev_devlink_trap_action_set(struct devlink *devlink,
1082 struct nsim_dev *nsim_dev = devlink_priv(devlink);
1097 nsim_dev_devlink_trap_group_set(struct devlink *devlink,
1102 struct nsim_dev *nsim_dev = devlink_priv(devlink);
1111 nsim_dev_devlink_trap_policer_set(struct devlink *devlink,
1116 struct nsim_dev *nsim_dev = devlink_priv(devlink);
1127 nsim_dev_devlink_trap_policer_counter_get(struct devlink *devlink,
1131 struct nsim_dev *nsim_dev = devlink_priv(devlink);
1243 struct nsim_dev *nsim_dev = devlink_priv(node->devlink);
1308 nsim_dev_devlink_trap_drop_counter_get(struct devlink *devlink,
1312 struct nsim_dev *nsim_dev = devlink_priv(devlink);
1461 struct devlink *devlink;
1464 devlink = priv_to_devlink(nsim_dev);
1465 nsim_dev = devlink_priv(devlink);
1470 nsim_devlink_param_load_driverinit_values(devlink);
1472 err = nsim_dev_dummy_region_init(nsim_dev, devlink);
1476 err = nsim_dev_traps_init(devlink);
1480 nsim_dev->fib_data = nsim_fib_create(devlink, extack);
1486 err = nsim_dev_health_init(nsim_dev, devlink);
1516 nsim_fib_destroy(devlink, nsim_dev->fib_data);
1518 nsim_dev_traps_exit(devlink);
1527 struct devlink *devlink;
1530 devlink = devlink_alloc_ns(&nsim_dev_devlink_ops, sizeof(*nsim_dev),
1532 if (!devlink)
1534 devl_lock(devlink);
1535 nsim_dev = devlink_priv(devlink);
1556 err = devl_register(devlink);
1560 err = nsim_dev_resources_register(devlink);
1564 err = devl_params_register(devlink, nsim_devlink_params,
1568 nsim_devlink_set_params_init_values(nsim_dev, devlink);
1570 err = nsim_dev_dummy_region_init(nsim_dev, devlink);
1574 err = nsim_dev_traps_init(devlink);
1582 nsim_dev->fib_data = nsim_fib_create(devlink, NULL);
1588 err = nsim_dev_health_init(nsim_dev, devlink);
1609 devl_unlock(devlink);
1621 nsim_fib_destroy(devlink, nsim_dev->fib_data);
1625 nsim_dev_traps_exit(devlink);
1629 devl_params_unregister(devlink, nsim_devlink_params,
1632 devl_resources_unregister(devlink);
1634 devl_unregister(devlink);
1638 devl_unlock(devlink);
1639 devlink_free(devlink);
1646 struct devlink *devlink = priv_to_devlink(nsim_dev);
1648 if (devlink_is_reload_failed(devlink))
1662 nsim_fib_destroy(devlink, nsim_dev->fib_data);
1663 nsim_dev_traps_exit(devlink);
1670 struct devlink *devlink = priv_to_devlink(nsim_dev);
1672 devl_lock(devlink);
1677 devl_params_unregister(devlink, nsim_devlink_params,
1679 devl_resources_unregister(devlink);
1680 devl_unregister(devlink);
1683 devl_unlock(devlink);
1684 devlink_free(devlink);
1737 struct devlink *devlink = priv_to_devlink(nsim_dev);
1740 devl_lock(devlink);
1766 devl_unlock(devlink);