162306a36Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci============== 462306a36Sopenharmony_ciDevlink Reload 562306a36Sopenharmony_ci============== 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci``devlink-reload`` provides mechanism to reinit driver entities, applying 862306a36Sopenharmony_ci``devlink-params`` and ``devlink-resources`` new values. It also provides 962306a36Sopenharmony_cimechanism to activate firmware. 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ciReload Actions 1262306a36Sopenharmony_ci============== 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciUser may select a reload action. 1562306a36Sopenharmony_ciBy default ``driver_reinit`` action is selected. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci.. list-table:: Possible reload actions 1862306a36Sopenharmony_ci :widths: 5 90 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci * - Name 2162306a36Sopenharmony_ci - Description 2262306a36Sopenharmony_ci * - ``driver-reinit`` 2362306a36Sopenharmony_ci - Devlink driver entities re-initialization, including applying 2462306a36Sopenharmony_ci new values to devlink entities which are used during driver 2562306a36Sopenharmony_ci load such as ``devlink-params`` in configuration mode 2662306a36Sopenharmony_ci ``driverinit`` or ``devlink-resources`` 2762306a36Sopenharmony_ci * - ``fw_activate`` 2862306a36Sopenharmony_ci - Firmware activate. Activates new firmware if such image is stored and 2962306a36Sopenharmony_ci pending activation. If no limitation specified this action may involve 3062306a36Sopenharmony_ci firmware reset. If no new image pending this action will reload current 3162306a36Sopenharmony_ci firmware image. 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ciNote that even though user asks for a specific action, the driver 3462306a36Sopenharmony_ciimplementation might require to perform another action alongside with 3562306a36Sopenharmony_ciit. For example, some driver do not support driver reinitialization 3662306a36Sopenharmony_cibeing performed without fw activation. Therefore, the devlink reload 3762306a36Sopenharmony_cicommand returns the list of actions which were actrually performed. 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ciReload Limits 4062306a36Sopenharmony_ci============= 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ciBy default reload actions are not limited and driver implementation may 4362306a36Sopenharmony_ciinclude reset or downtime as needed to perform the actions. 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciHowever, some drivers support action limits, which limit the action 4662306a36Sopenharmony_ciimplementation to specific constraints. 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci.. list-table:: Possible reload limits 4962306a36Sopenharmony_ci :widths: 5 90 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci * - Name 5262306a36Sopenharmony_ci - Description 5362306a36Sopenharmony_ci * - ``no_reset`` 5462306a36Sopenharmony_ci - No reset allowed, no down time allowed, no link flap and no 5562306a36Sopenharmony_ci configuration is lost. 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ciChange Namespace 5862306a36Sopenharmony_ci================ 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ciThe netns option allows user to be able to move devlink instances into 6162306a36Sopenharmony_cinamespaces during devlink reload operation. 6262306a36Sopenharmony_ciBy default all devlink instances are created in init_net and stay there. 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ciexample usage 6562306a36Sopenharmony_ci------------- 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci.. code:: shell 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci $ devlink dev reload help 7062306a36Sopenharmony_ci $ devlink dev reload DEV [ netns { PID | NAME | ID } ] [ action { driver_reinit | fw_activate } ] [ limit no_reset ] 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci # Run reload command for devlink driver entities re-initialization: 7362306a36Sopenharmony_ci $ devlink dev reload pci/0000:82:00.0 action driver_reinit 7462306a36Sopenharmony_ci reload_actions_performed: 7562306a36Sopenharmony_ci driver_reinit 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci # Run reload command to activate firmware: 7862306a36Sopenharmony_ci # Note that mlx5 driver reloads the driver while activating firmware 7962306a36Sopenharmony_ci $ devlink dev reload pci/0000:82:00.0 action fw_activate 8062306a36Sopenharmony_ci reload_actions_performed: 8162306a36Sopenharmony_ci driver_reinit fw_activate 82