Copyright(c) 2019 Intel Corporation

May 17, 2019
Version: 1.2.1

Supported ESXi release: 6.7

===============================================================================

Contents:
========
- Overview
- Supported Features
- New Features
- Bug Fixes
- Known Issues and Workarounds
- Important Notes
- Installation
- Command Line Parameters
- Additional Notes
- Previously Released Versions

===============================================================================


Overview:
---------
Intel esxcli plug-in for managing Intel(r) Ethernet Network Adapters.
Intel esxcli plug-in supports configuring advanced features for Intel Ethernet 700 Series
Network adapters supported by i40en driver on ESXi 6.0, ESXi 6.5 and ESXi 6.7.

The extended esxcli tool supports following operations:

Forward Error Collection operations:
   - To set the FEC mode on a specified NIC

   esxcli intnet fec set [cmd options]

   Cmd options:
      -m|--mode            Set FEC mode to: Auto-FEC, No-FEC, RS-FEC, or FC-FEC/BASE-R (required).
      -n|--vmnic           Specifies the name of the vmnic name to operate on.
                           This must be one of the devices listed by the network nic list command (required).

   - To get FEC status on a specified NIC

   esxcli intnet fec get [cmd options]

   Cmd options:
      -n|--vmnic           Specifies the name of the vmnic to operate on.
                           This must be one of the devices listed by the network nic list command (required).

   - To list the FEC values for all supported vmnics

   esxcli intnet fec list

SR-IOV VF related operations:
   - To set/get a Virtual Function (VF) with the following command line format

   esxcli intnet sriovnic vf set [cmd options]

   Cmd options:
      -t|--trusted         Set trusted mode to true or false (required).
      -s|--spoofchk        Set mac/vlan spoof check to true or false (optional).
      -v|--vfid=<long>     Specifies the VF id for the virtual function.
                           This must be one of the VF IDs listed by the sriovNic vf list command (required).
      -n|--vmnic=<str>     Specifies the name for the SRIOV NIC.
                           This must be one of the devices listed by the sriovNic list command (required).

   - To list the current settings for a VF or for all VFs. The supported command line will be

   esxcli intnet sriovnic vf get [cmd options]

   Cmd options:
      -v|--vfid=<long>     Specifies VF id of the virtual function that is the subject of the information query (optional).
      -n|--vmnic=<str>     Specifies the name of the SRIOV NIC that is the subject of the information query.
                           This must be one of the devices listed by the sriovNic list command (required).

   If -v or --vf-id is not provided, the output will list existing settings for all VFs

Miscellaneous operations:
   - To Enable/Disable VMDQ VSIs to send loopback traffic on the given PF.

   esxcli intnet misc vmdqlb [cmd option]

   Cmd options:
      -e|--enable          Enable/Disable the VMDQ VSIs loopback (1 - enable (default), 0 - disable) (required).
      -n|--vmnic=<str>     Specifies the name for the vmnic to operate on.
                           This must be one of the devices listed listed by the network nic list command (required).


Supported Features:
-------------------
- Enable/Disable VF trust mode
- Enable/Disable VF spoof-check
- Query current settings for VFs


New Features:
-------------
- Read/Modify FEC mode
- Enable/Disable VMDQ VSIs loopback


Bug Fixes:
----------
- None


Known Issues and Workarounds:
-----------------------------
- Running command to get/list FEC status on vmnics with Requested FEC set to "Auto-FEC"
  will print Requested FEC as "RS-FEC"


Important Notes:
----------------
- Setting a VF is non-persistent
   It is required to set a VF to the desired operation every time after rebooting a VM or host since
   ESXi kernel may assign a different VF to the VM after reboot.

   Desired esxcli commands can be added to /etc/rc.local.d/local.sh file
   so that these commands can execute every time the host is power cycled or rebooted.
   For more information, please consult VMware KB Article # 2043564 - Modifying the rc.local or local.sh file
   in ESX/ESXi to execute commands while booting. https://kb.vmware.com/s/article/2043564


Installation:
-------------
1. Install the vib file
   esxcli software vib install -v <full path>/vib
2. Restart the ESXi host daemon
   /etc/init.d/hostd restart

"intnet" namespace in esxcli will be accessible to configure aforementioned features
if the plug-in install is successful.


Command Line Parameters:
------------------------
- Set VF 1 of vmnic0 as trusted
  esxcli intnet sriovnic vf set -t on -v 1 -n vmnic0

- Disable VF spoof-check for VF 1
  esxcli intnet sriovnic vf -v 1 -n vmnic0 -s off

- Get current settings for VF 1
  esxcli intnet sriovnic vf get -n vmnic0 -v 1

- Get current settings for all VFs
  esxcli intnet sriovnic vf get -n vmnic0

- Set the FEC Mode to auto
  esxcli intnet fec set -n vmnic0 -m Auto-FEC

- Disable VMDQ VSIs loopback
  esxcli intnet misc vmdqlb -e 0 -n vmnic0


Additional Notes
----------------
- Trusted and spoof-check are boolean type. Therefore, the following parameter values are supported
  0, 1, n[o], y[es], f[alse], t[rue], off, on
- Trust and spoof-check features are independent, i.e. spoof-check can be disabled without enabling trusted mode
- Listing VFs and their VF ids is supported by the inbox esxcli command, i.e
     esxcli network sriovnic vf list -n vmnic5
- Find VMX Cartel ID displayed by esxcli network sriovnic vf list -n vmnicX
     esxcli vm process list


=================================================================================

Previously Released Versions:
-----------------------------

- Intel esxcli Version: 1.0.2
   Supported ESXi release: 6.5 and 6.7
   Features Supported:
      - Enable/Disable VF trust mode
      - Enable/Disable VF spoof-check
      - Query current settings for VFs
   Bug Fixes:
      - None
   Known Issues:
      - None
