f465ad02e2
Story: 2011056 Task: 51174 Change-Id: I3a0a3637aff9a9974e7bfeed0a1f1785eceafee2 Signed-off-by: Suzana Fernandes <Suzana.Fernandes@windriver.com>
171 lines
5.7 KiB
ReStructuredText
171 lines
5.7 KiB
ReStructuredText
.. WARNING: Add no lines of text between the label immediately following
|
|
.. and the title.
|
|
|
|
.. _intel-driver-version-c6e3fa384ff7:
|
|
|
|
============================
|
|
Switch Intel Driver Versions
|
|
============================
|
|
|
|
.. contents:: |minitoc|
|
|
:local:
|
|
:depth: 2
|
|
|
|
------------
|
|
Introduction
|
|
------------
|
|
|
|
The system supports both in-tree and out-of-tree versions of the Intel ``ice``, ``i40e``,
|
|
and ``iavf`` drivers. On initial installation, the system uses the default out-of-tree
|
|
driver version. This sections describes how to switch between the in-tree and
|
|
out-of-tree driver versions.
|
|
|
|
.. warning::
|
|
|
|
The |NIC| firmware (NVM) has to align with one of the selected driver
|
|
listed below.
|
|
|
|
- Out-of-tree drivers (default)
|
|
- ice: 1.14.9.2 / Required NVM/firmware: 4.20 (Intel E810)
|
|
- i40e: 2.25.7 / Required NVM/firmware: 9.00
|
|
- iavf: 4.11.1
|
|
|
|
- In-tree drivers
|
|
- ice: Same as 6.6.7 kernel in-tree driver / Required NVM/firmware: 4.20
|
|
- i40e: Same as 6.6.7 kernel in-tree driver / Required NVM/firmware: 9.00
|
|
- iavf: Same as 6.6.7 kernel in-tree driver
|
|
|
|
----------------------------------------------------------
|
|
Switch between the In-tree and Out-of-tree Driver Versions
|
|
----------------------------------------------------------
|
|
|
|
The ``out_of_tree_drivers`` service parameter can be used to switch between the
|
|
in-tree and out-of-tree versions of a given driver.
|
|
|
|
Switch to In-tree Driver Versions
|
|
---------------------------------
|
|
|
|
The system can be switched to the in-tree versions of ``ice``, ``i40e``, and ``iavf``
|
|
drivers using any of the following two mechanisms.
|
|
|
|
- Before installation, specify the ``out_of_tree_drivers`` service parameter
|
|
to none in the deployment config file.
|
|
|
|
.. code-block:: none
|
|
|
|
serviceParameters:
|
|
- service: platform
|
|
section: kernel
|
|
paramname: out_of_tree_drivers
|
|
paramvalue: "none"
|
|
|
|
- After installation, modify the ``out_of_tree_drivers`` service parameter to
|
|
none and apply the configuration using the steps mentioned in :ref:`apply-driver-configuration-0342c0220631`.
|
|
|
|
.. code-block:: none
|
|
|
|
~(keystone_admin)$ system service-parameter-modify platform kernel out_of_tree_drivers=none
|
|
|
|
|
|
Switch to Out-of-tree Driver Versions
|
|
-------------------------------------
|
|
|
|
To use the out-of-tree drivers, set the out-of-tree drivers you want to load in
|
|
the ``out_of_tree_drivers`` service parameter and apply the configuration using
|
|
the steps mentioned in :ref:`apply-driver-configuration-0342c0220631`. You can set all
|
|
the supported drivers, or only specific ones.
|
|
|
|
- Set all out-of-tree drivers:
|
|
|
|
.. code-block:: none
|
|
|
|
~(keystone_admin)$ system service-parameter-modify platform kernel out_of_tree_drivers=ice,i40e,iavf
|
|
|
|
- Set specified out-of-tree drivers:
|
|
|
|
To set only ``ice`` and ``i40e``, but not ``iavf`` (in this case, the iavf is in the in-tree driver):
|
|
|
|
.. code-block:: none
|
|
|
|
~(keystone_admin)$ system service-parameter-modify platform kernel out_of_tree_drivers=ice,i40e
|
|
|
|
To set ``iavf`` and ``ice``, but not ``i40e``:
|
|
|
|
.. code-block:: none
|
|
|
|
~(keystone_admin)$ system service-parameter-modify platform kernel out_of_tree_drivers=ice,iavf
|
|
|
|
You can set any permutation or combination of ``ice``, ``i40e``, and ``iavf``
|
|
in the ``out_of_tree_drivers`` service parameter. Any driver not explicitly set
|
|
using the ``out_of_tree_drivers`` service parameter will use its in-tree version.
|
|
|
|
.. _apply-driver-configuration-0342c0220631:
|
|
|
|
Apply Driver Configuration
|
|
--------------------------
|
|
|
|
To apply the service parameter change, all the hosts need to be locked and unlocked.
|
|
Use the following commands for each host depending on the deployed configuration:
|
|
|
|
For |AIO-SX| deployments:
|
|
|
|
.. code-block:: none
|
|
|
|
~(keystone_admin)$ system host-lock controller-0
|
|
~(keystone_admin)$ system host-unlock controller-0
|
|
|
|
For |AIO-DX| and standards deployments, after ``controller-1`` is locked/unlocked,
|
|
swact ``controller-0`` to make ``controller-1`` the active node. The next set of
|
|
commands are executed on the ``controller-0`` node:
|
|
|
|
.. code-block:: none
|
|
|
|
~(keystone_admin)$ system host-lock controller-1
|
|
~(keystone_admin)$ system host-unlock controller-1
|
|
~(keystone_admin)$ system host-swact controller-0
|
|
|
|
On ``controller-1``, after ``controller-0`` is locked/unlocked swact ``controller-1`` to go
|
|
back to ``controller-0`` as the active node. The next set of commands are executed
|
|
on the ``controller-1`` node:
|
|
|
|
.. code-block:: none
|
|
|
|
~(keystone_admin)$ system host-lock controller-0
|
|
~(keystone_admin)$ system host-unlock controller-0
|
|
~(keystone_admin)$ system host-swact controller-1
|
|
|
|
All the remaining nodes in the deployment need to be locked/unlocked, one at a time.
|
|
Use the following commands (replace ``worker-0`` with the name of the node being
|
|
locked/unlocked):
|
|
|
|
.. code-block:: none
|
|
|
|
~(keystone_admin)$ system host-lock worker-0
|
|
~(keystone_admin)$ system host-unlock worker-0
|
|
|
|
.. note::
|
|
|
|
You must wait for the node to enter the locked state prior to unlocking.
|
|
|
|
To verify the current Intel driver version use ``ethtool -i`` on the desired
|
|
Intel network interface. For example:
|
|
|
|
.. code-block:: none
|
|
|
|
~(keystone_admin)$ ethtool -i ens785f0 | egrep '^(driver|version):'
|
|
driver: i40e
|
|
version: 6.6.40-stx.3
|
|
|
|
|
|
Backup and Restore
|
|
------------------
|
|
|
|
If a backup and restore is performed, after unlocking the host during a restore
|
|
operation, the system is configured to the driver version at the time of the backup.
|
|
|
|
.. only:: partner
|
|
|
|
.. include:: /_includes/intel-driver-version-c6e3fa384ff7.rest
|
|
:start-after: intel-driver-version-begin
|
|
:end-before: intel-driver-version-end
|