Lines Matching full:devlink

30 #include <net/devlink.h>
33 #include <uapi/linux/devlink.h>
79 nsim_dev_take_snapshot(struct devlink *devlink, in nsim_dev_take_snapshot() argument
102 struct devlink *devlink; in nsim_dev_take_snapshot_write() local
107 devlink = priv_to_devlink(nsim_dev); in nsim_dev_take_snapshot_write()
109 err = nsim_dev_take_snapshot(devlink, NULL, NULL, &dummy_data); in nsim_dev_take_snapshot_write()
113 err = devlink_region_snapshot_id_get(devlink, &id); in nsim_dev_take_snapshot_write()
121 devlink_region_snapshot_id_put(devlink, id); in nsim_dev_take_snapshot_write()
372 static int nsim_dev_resources_register(struct devlink *devlink) in nsim_dev_resources_register() argument
382 err = devl_resource_register(devlink, "IPv4", (u64)-1, in nsim_dev_resources_register()
391 err = devl_resource_register(devlink, "fib", (u64)-1, in nsim_dev_resources_register()
399 err = devl_resource_register(devlink, "fib-rules", (u64)-1, in nsim_dev_resources_register()
408 err = devl_resource_register(devlink, "IPv6", (u64)-1, in nsim_dev_resources_register()
417 err = devl_resource_register(devlink, "fib", (u64)-1, in nsim_dev_resources_register()
425 err = devl_resource_register(devlink, "fib-rules", (u64)-1, in nsim_dev_resources_register()
434 err = devl_resource_register(devlink, "nexthops", (u64)-1, in nsim_dev_resources_register()
445 devl_resources_unregister(devlink); in nsim_dev_resources_register()
456 nsim_devlink_param_test2_get(struct devlink *devlink, u32 id, in nsim_devlink_param_test2_get() argument
460 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_devlink_param_test2_get()
467 nsim_devlink_param_test2_set(struct devlink *devlink, u32 id, in nsim_devlink_param_test2_set() argument
471 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_devlink_param_test2_set()
480 nsim_devlink_param_test2_get_default(struct devlink *devlink, u32 id, in nsim_devlink_param_test2_get_default() argument
489 nsim_devlink_param_test2_reset_default(struct devlink *devlink, u32 id, in nsim_devlink_param_test2_reset_default() argument
493 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_devlink_param_test2_reset_default()
518 struct devlink *devlink) in nsim_devlink_set_params_init_values() argument
523 devl_param_driverinit_value_set(devlink, in nsim_devlink_set_params_init_values()
527 devl_param_driverinit_value_set(devlink, in nsim_devlink_set_params_init_values()
532 static void nsim_devlink_param_load_driverinit_values(struct devlink *devlink) in nsim_devlink_param_load_driverinit_values() argument
534 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_devlink_param_load_driverinit_values()
538 err = devl_param_driverinit_value_get(devlink, in nsim_devlink_param_load_driverinit_values()
543 err = devl_param_driverinit_value_get(devlink, in nsim_devlink_param_load_driverinit_values()
559 struct devlink *devlink) in nsim_dev_dummy_region_init() argument
562 devl_region_create(devlink, &dummy_region_ops, in nsim_dev_dummy_region_init()
581 struct devlink *devlink = priv_to_devlink(nsim_dev); in nsim_esw_legacy_enable() local
584 devl_rate_nodes_destroy(devlink); in nsim_esw_legacy_enable()
616 static int nsim_devlink_eswitch_mode_set(struct devlink *devlink, u16 mode, in nsim_devlink_eswitch_mode_set() argument
619 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_devlink_eswitch_mode_set()
632 static int nsim_devlink_eswitch_mode_get(struct devlink *devlink, u16 *mode) in nsim_devlink_eswitch_mode_get() argument
634 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_devlink_eswitch_mode_get()
655 * Documentation/networking/devlink/netdevsim.rst
781 struct devlink *devlink = priv_to_devlink(nsim_dev); in nsim_dev_trap_report() local
806 /* Trapped packets are usually passed to devlink in softIRQ, in nsim_dev_trap_report()
814 devlink_trap_report(devlink, skb, nsim_trap_item->trap_ctx, in nsim_dev_trap_report()
856 static int nsim_dev_traps_init(struct devlink *devlink) in nsim_dev_traps_init() argument
859 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_dev_traps_init()
890 err = devl_trap_policers_register(devlink, nsim_trap_policers_arr, in nsim_dev_traps_init()
895 err = devl_trap_groups_register(devlink, nsim_trap_groups_arr, in nsim_dev_traps_init()
900 err = devl_traps_register(devlink, nsim_traps_arr, in nsim_dev_traps_init()
914 devl_trap_groups_unregister(devlink, nsim_trap_groups_arr, in nsim_dev_traps_init()
917 devl_trap_policers_unregister(devlink, nsim_trap_policers_arr, in nsim_dev_traps_init()
928 static void nsim_dev_traps_exit(struct devlink *devlink) in nsim_dev_traps_exit() argument
930 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_dev_traps_exit()
932 /* caution, trap work takes devlink lock */ in nsim_dev_traps_exit()
934 devl_traps_unregister(devlink, nsim_traps_arr, in nsim_dev_traps_exit()
936 devl_trap_groups_unregister(devlink, nsim_trap_groups_arr, in nsim_dev_traps_exit()
938 devl_trap_policers_unregister(devlink, nsim_trap_policers_arr, in nsim_dev_traps_exit()
949 static int nsim_dev_reload_down(struct devlink *devlink, bool netns_change, in nsim_dev_reload_down() argument
953 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_dev_reload_down()
967 static int nsim_dev_reload_up(struct devlink *devlink, enum devlink_reload_action action, in nsim_dev_reload_up() argument
971 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_dev_reload_up()
986 static int nsim_dev_info_get(struct devlink *devlink, in nsim_dev_info_get() argument
1004 static int nsim_dev_flash_update(struct devlink *devlink, in nsim_dev_flash_update() argument
1008 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_dev_flash_update()
1015 devlink_flash_update_status_notify(devlink, in nsim_dev_flash_update()
1022 devlink_flash_update_status_notify(devlink, "Flashing", in nsim_dev_flash_update()
1030 devlink_flash_update_status_notify(devlink, "Flashing", in nsim_dev_flash_update()
1034 devlink_flash_update_timeout_notify(devlink, "Flash select", in nsim_dev_flash_update()
1036 devlink_flash_update_status_notify(devlink, "Flashing done", in nsim_dev_flash_update()
1057 static int nsim_dev_devlink_trap_init(struct devlink *devlink, in nsim_dev_devlink_trap_init() argument
1061 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_dev_devlink_trap_init()
1075 nsim_dev_devlink_trap_action_set(struct devlink *devlink, in nsim_dev_devlink_trap_action_set() argument
1080 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_dev_devlink_trap_action_set()
1095 nsim_dev_devlink_trap_group_set(struct devlink *devlink, in nsim_dev_devlink_trap_group_set() argument
1100 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_dev_devlink_trap_group_set()
1109 nsim_dev_devlink_trap_policer_set(struct devlink *devlink, in nsim_dev_devlink_trap_policer_set() argument
1114 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_dev_devlink_trap_policer_set()
1125 nsim_dev_devlink_trap_policer_counter_get(struct devlink *devlink, in nsim_dev_devlink_trap_policer_counter_get() argument
1129 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_dev_devlink_trap_policer_counter_get()
1267 struct nsim_dev *nsim_dev = devlink_priv(node->devlink); in nsim_rate_node_new()
1334 nsim_dev_devlink_trap_drop_counter_get(struct devlink *devlink, in nsim_dev_devlink_trap_drop_counter_get() argument
1338 struct nsim_dev *nsim_dev = devlink_priv(devlink); in nsim_dev_devlink_trap_drop_counter_get()
1510 struct devlink *devlink; in nsim_dev_reload_create() local
1513 devlink = priv_to_devlink(nsim_dev); in nsim_dev_reload_create()
1514 nsim_dev = devlink_priv(devlink); in nsim_dev_reload_create()
1519 nsim_devlink_param_load_driverinit_values(devlink); in nsim_dev_reload_create()
1521 err = nsim_dev_dummy_region_init(nsim_dev, devlink); in nsim_dev_reload_create()
1525 err = nsim_dev_traps_init(devlink); in nsim_dev_reload_create()
1529 nsim_dev->fib_data = nsim_fib_create(devlink, extack); in nsim_dev_reload_create()
1535 err = nsim_dev_health_init(nsim_dev, devlink); in nsim_dev_reload_create()
1565 nsim_fib_destroy(devlink, nsim_dev->fib_data); in nsim_dev_reload_create()
1567 nsim_dev_traps_exit(devlink); in nsim_dev_reload_create()
1576 struct devlink *devlink; in nsim_drv_probe() local
1579 devlink = devlink_alloc_ns(&nsim_dev_devlink_ops, sizeof(*nsim_dev), in nsim_drv_probe()
1581 if (!devlink) in nsim_drv_probe()
1583 devl_lock(devlink); in nsim_drv_probe()
1584 nsim_dev = devlink_priv(devlink); in nsim_drv_probe()
1608 err = devl_register(devlink); in nsim_drv_probe()
1612 err = nsim_dev_resources_register(devlink); in nsim_drv_probe()
1616 err = devl_params_register(devlink, nsim_devlink_params, in nsim_drv_probe()
1620 nsim_devlink_set_params_init_values(nsim_dev, devlink); in nsim_drv_probe()
1622 err = nsim_dev_dummy_region_init(nsim_dev, devlink); in nsim_drv_probe()
1626 err = nsim_dev_traps_init(devlink); in nsim_drv_probe()
1634 nsim_dev->fib_data = nsim_fib_create(devlink, NULL); in nsim_drv_probe()
1640 err = nsim_dev_health_init(nsim_dev, devlink); in nsim_drv_probe()
1661 devl_unlock(devlink); in nsim_drv_probe()
1673 nsim_fib_destroy(devlink, nsim_dev->fib_data); in nsim_drv_probe()
1677 nsim_dev_traps_exit(devlink); in nsim_drv_probe()
1681 devl_params_unregister(devlink, nsim_devlink_params, in nsim_drv_probe()
1684 devl_resources_unregister(devlink); in nsim_drv_probe()
1686 devl_unregister(devlink); in nsim_drv_probe()
1690 devl_unlock(devlink); in nsim_drv_probe()
1691 devlink_free(devlink); in nsim_drv_probe()
1698 struct devlink *devlink = priv_to_devlink(nsim_dev); in nsim_dev_reload_destroy() local
1700 if (devlink_is_reload_failed(devlink)) in nsim_dev_reload_destroy()
1714 nsim_fib_destroy(devlink, nsim_dev->fib_data); in nsim_dev_reload_destroy()
1715 nsim_dev_traps_exit(devlink); in nsim_dev_reload_destroy()
1722 struct devlink *devlink = priv_to_devlink(nsim_dev); in nsim_drv_remove() local
1724 devl_lock(devlink); in nsim_drv_remove()
1729 devl_params_unregister(devlink, nsim_devlink_params, in nsim_drv_remove()
1731 devl_resources_unregister(devlink); in nsim_drv_remove()
1732 devl_unregister(devlink); in nsim_drv_remove()
1736 devl_unlock(devlink); in nsim_drv_remove()
1737 devlink_free(devlink); in nsim_drv_remove()
1790 struct devlink *devlink = priv_to_devlink(nsim_dev); in nsim_drv_configure_vfs() local
1793 devl_lock(devlink); in nsim_drv_configure_vfs()
1819 devl_unlock(devlink); in nsim_drv_configure_vfs()