Lines Matching refs:devlink
126 static struct net *nsim_devlink_net(struct devlink *devlink) in nsim_devlink_net() argument
159 static int nsim_dev_resources_register(struct devlink *devlink) in nsim_dev_resources_register() argument
166 struct net *net = nsim_devlink_net(devlink); in nsim_dev_resources_register()
171 err = devlink_resource_register(devlink, "IPv4", (u64)-1, in nsim_dev_resources_register()
181 err = devlink_resource_register(devlink, "fib", n, in nsim_dev_resources_register()
190 err = devlink_resource_register(devlink, "fib-rules", n, in nsim_dev_resources_register()
199 err = devlink_resource_register(devlink, "IPv6", (u64)-1, in nsim_dev_resources_register()
209 err = devlink_resource_register(devlink, "fib", n, in nsim_dev_resources_register()
218 err = devlink_resource_register(devlink, "fib-rules", n, in nsim_dev_resources_register()
226 devlink_resource_occ_get_register(devlink, in nsim_dev_resources_register()
230 devlink_resource_occ_get_register(devlink, in nsim_dev_resources_register()
234 devlink_resource_occ_get_register(devlink, in nsim_dev_resources_register()
238 devlink_resource_occ_get_register(devlink, in nsim_dev_resources_register()
262 struct devlink *devlink) in nsim_devlink_set_params_init_values() argument
267 devlink_param_driverinit_value_set(devlink, in nsim_devlink_set_params_init_values()
271 devlink_param_driverinit_value_set(devlink, in nsim_devlink_set_params_init_values()
276 static void nsim_devlink_param_load_driverinit_values(struct devlink *devlink) in nsim_devlink_param_load_driverinit_values() argument
278 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_devlink_param_load_driverinit_values()
282 err = devlink_param_driverinit_value_get(devlink, in nsim_devlink_param_load_driverinit_values()
287 err = devlink_param_driverinit_value_get(devlink, in nsim_devlink_param_load_driverinit_values()
297 struct devlink *devlink) in nsim_dev_dummy_region_init() argument
300 devlink_region_create(devlink, "dummy", in nsim_dev_dummy_region_init()
409 struct devlink *devlink = priv_to_devlink(nsim_dev); in nsim_dev_trap_report() local
435 devlink_trap_report(devlink, skb, nsim_trap_item->trap_ctx, in nsim_dev_trap_report()
471 static int nsim_dev_traps_init(struct devlink *devlink) in nsim_dev_traps_init() argument
473 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_dev_traps_init()
497 err = devlink_traps_register(devlink, nsim_traps_arr, in nsim_dev_traps_init()
516 static void nsim_dev_traps_exit(struct devlink *devlink) in nsim_dev_traps_exit() argument
518 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_dev_traps_exit()
521 devlink_traps_unregister(devlink, nsim_traps_arr, in nsim_dev_traps_exit()
527 static int nsim_dev_reload_down(struct devlink *devlink, in nsim_dev_reload_down() argument
533 static int nsim_dev_reload_up(struct devlink *devlink, in nsim_dev_reload_up() argument
540 struct net *net = nsim_devlink_net(devlink); in nsim_dev_reload_up()
547 err = devlink_resource_size_get(devlink, res_ids[i], &val); in nsim_dev_reload_up()
554 nsim_devlink_param_load_driverinit_values(devlink); in nsim_dev_reload_up()
563 static int nsim_dev_flash_update(struct devlink *devlink, const char *file_name, in nsim_dev_flash_update() argument
567 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_dev_flash_update()
571 devlink_flash_update_begin_notify(devlink); in nsim_dev_flash_update()
572 devlink_flash_update_status_notify(devlink, in nsim_dev_flash_update()
579 devlink_flash_update_status_notify(devlink, "Flashing", in nsim_dev_flash_update()
587 devlink_flash_update_status_notify(devlink, "Flashing", in nsim_dev_flash_update()
591 devlink_flash_update_status_notify(devlink, "Flashing done", in nsim_dev_flash_update()
593 devlink_flash_update_end_notify(devlink); in nsim_dev_flash_update()
613 static int nsim_dev_devlink_trap_init(struct devlink *devlink, in nsim_dev_devlink_trap_init() argument
617 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_dev_devlink_trap_init()
631 nsim_dev_devlink_trap_action_set(struct devlink *devlink, in nsim_dev_devlink_trap_action_set() argument
635 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_dev_devlink_trap_action_set()
664 struct devlink *devlink; in nsim_dev_create() local
667 devlink = devlink_alloc(&nsim_dev_devlink_ops, sizeof(*nsim_dev)); in nsim_dev_create()
668 if (!devlink) in nsim_dev_create()
670 nsim_dev = devlink_priv(devlink); in nsim_dev_create()
680 err = nsim_dev_resources_register(devlink); in nsim_dev_create()
684 err = devlink_register(devlink, &nsim_bus_dev->dev); in nsim_dev_create()
688 err = devlink_params_register(devlink, nsim_devlink_params, in nsim_dev_create()
692 nsim_devlink_set_params_init_values(nsim_dev, devlink); in nsim_dev_create()
694 err = nsim_dev_dummy_region_init(nsim_dev, devlink); in nsim_dev_create()
698 err = nsim_dev_traps_init(devlink); in nsim_dev_create()
710 devlink_params_publish(devlink); in nsim_dev_create()
711 devlink_reload_enable(devlink); in nsim_dev_create()
717 nsim_dev_traps_exit(devlink); in nsim_dev_create()
721 devlink_params_unregister(devlink, nsim_devlink_params, in nsim_dev_create()
724 devlink_unregister(devlink); in nsim_dev_create()
726 devlink_resources_unregister(devlink, NULL); in nsim_dev_create()
728 devlink_free(devlink); in nsim_dev_create()
734 struct devlink *devlink = priv_to_devlink(nsim_dev); in nsim_dev_destroy() local
736 devlink_reload_disable(devlink); in nsim_dev_destroy()
739 nsim_dev_traps_exit(devlink); in nsim_dev_destroy()
741 devlink_params_unregister(devlink, nsim_devlink_params, in nsim_dev_destroy()
743 devlink_unregister(devlink); in nsim_dev_destroy()
744 devlink_resources_unregister(devlink, NULL); in nsim_dev_destroy()
746 devlink_free(devlink); in nsim_dev_destroy()