1*4882a593Smuzhiyun.. SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun============== 4*4882a593SmuzhiyunDevlink Reload 5*4882a593Smuzhiyun============== 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun``devlink-reload`` provides mechanism to reinit driver entities, applying 8*4882a593Smuzhiyun``devlink-params`` and ``devlink-resources`` new values. It also provides 9*4882a593Smuzhiyunmechanism to activate firmware. 10*4882a593Smuzhiyun 11*4882a593SmuzhiyunReload Actions 12*4882a593Smuzhiyun============== 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunUser may select a reload action. 15*4882a593SmuzhiyunBy default ``driver_reinit`` action is selected. 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun.. list-table:: Possible reload actions 18*4882a593Smuzhiyun :widths: 5 90 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun * - Name 21*4882a593Smuzhiyun - Description 22*4882a593Smuzhiyun * - ``driver-reinit`` 23*4882a593Smuzhiyun - Devlink driver entities re-initialization, including applying 24*4882a593Smuzhiyun new values to devlink entities which are used during driver 25*4882a593Smuzhiyun load such as ``devlink-params`` in configuration mode 26*4882a593Smuzhiyun ``driverinit`` or ``devlink-resources`` 27*4882a593Smuzhiyun * - ``fw_activate`` 28*4882a593Smuzhiyun - Firmware activate. Activates new firmware if such image is stored and 29*4882a593Smuzhiyun pending activation. If no limitation specified this action may involve 30*4882a593Smuzhiyun firmware reset. If no new image pending this action will reload current 31*4882a593Smuzhiyun firmware image. 32*4882a593Smuzhiyun 33*4882a593SmuzhiyunNote that even though user asks for a specific action, the driver 34*4882a593Smuzhiyunimplementation might require to perform another action alongside with 35*4882a593Smuzhiyunit. For example, some driver do not support driver reinitialization 36*4882a593Smuzhiyunbeing performed without fw activation. Therefore, the devlink reload 37*4882a593Smuzhiyuncommand returns the list of actions which were actrually performed. 38*4882a593Smuzhiyun 39*4882a593SmuzhiyunReload Limits 40*4882a593Smuzhiyun============= 41*4882a593Smuzhiyun 42*4882a593SmuzhiyunBy default reload actions are not limited and driver implementation may 43*4882a593Smuzhiyuninclude reset or downtime as needed to perform the actions. 44*4882a593Smuzhiyun 45*4882a593SmuzhiyunHowever, some drivers support action limits, which limit the action 46*4882a593Smuzhiyunimplementation to specific constraints. 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun.. list-table:: Possible reload limits 49*4882a593Smuzhiyun :widths: 5 90 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun * - Name 52*4882a593Smuzhiyun - Description 53*4882a593Smuzhiyun * - ``no_reset`` 54*4882a593Smuzhiyun - No reset allowed, no down time allowed, no link flap and no 55*4882a593Smuzhiyun configuration is lost. 56*4882a593Smuzhiyun 57*4882a593SmuzhiyunChange Namespace 58*4882a593Smuzhiyun================ 59*4882a593Smuzhiyun 60*4882a593SmuzhiyunThe netns option allows user to be able to move devlink instances into 61*4882a593Smuzhiyunnamespaces during devlink reload operation. 62*4882a593SmuzhiyunBy default all devlink instances are created in init_net and stay there. 63*4882a593Smuzhiyun 64*4882a593Smuzhiyunexample usage 65*4882a593Smuzhiyun------------- 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun.. code:: shell 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun $ devlink dev reload help 70*4882a593Smuzhiyun $ devlink dev reload DEV [ netns { PID | NAME | ID } ] [ action { driver_reinit | fw_activate } ] [ limit no_reset ] 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun # Run reload command for devlink driver entities re-initialization: 73*4882a593Smuzhiyun $ devlink dev reload pci/0000:82:00.0 action driver_reinit 74*4882a593Smuzhiyun reload_actions_performed: 75*4882a593Smuzhiyun driver_reinit 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun # Run reload command to activate firmware: 78*4882a593Smuzhiyun # Note that mlx5 driver reloads the driver while activating firmware 79*4882a593Smuzhiyun $ devlink dev reload pci/0000:82:00.0 action fw_activate 80*4882a593Smuzhiyun reload_actions_performed: 81*4882a593Smuzhiyun driver_reinit fw_activate 82