ice: add remaining migration TLVs

Add a handful of remaining TLVs to complete the migration payload data
including:

 * ICE_MIG_TLV_MBX_REGS

   This TLV contains the VF mailbox registers data to migrate and restore
   the mailbox queue to its appropriate state.

 * ICE_MIG_TLV_STATS

   This TLV contains the VF statistics to ensure that the original and
   target VM maintain the same stat counts.

 * ICE_MIG_TLV_RSS

   This TLV contains the RSS information from the original host, ensuring
   that such configuration is applied on the new host.

 * ICE_MIG_TLV_VLAN_FILTERS

   This TLV contains all the VLAN filters currently programmed into
   hardware by the VF. It is sent as a single variable length flexible
   array instead of as individual TLVs per VLAN to avoid a 4-byte overhead
   per-VLAN.

 * ICE_MIG_TLV_MAC_FILTERS

   This TLV contains all of the MAC filters currently programmed into the
   hardware by the VF. As with VLANs, it is sent as a flexible array to
   avoid too much overhead when there are many filters.

Add functions to save and restore this data appropriately during the live
migration process.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
3 files changed