net/i40e: add floating VEB option
authorZhe Tao <zhe.tao@intel.com>
Wed, 29 Jun 2016 13:06:03 +0000 (21:06 +0800)
committerBruce Richardson <bruce.richardson@intel.com>
Wed, 29 Jun 2016 15:28:31 +0000 (17:28 +0200)
commit79f2248219c02767c84c707d15bb5a97a0660881
tree984c8b52252786e6f37b8a75bda9e6252ef3c953
parent440499cf53764eb1703c6becd180a907e73121ac
net/i40e: add floating VEB option

The standard Virtual Ethernet Bridge(VEB) definition in 1Qbg is a bridge
which has an uplink port to the outside world (maybe another bridge), but
a "floating" VEB is a special VEB without an uplink port to the outside.
Instead, traffic can be sent from one VF to another using the floating
VEB - even when the physical link on the NIC port is down.

This patch adds floating VEB options in the devargs for i40e driver.
Using these parameters, applications can decide whether to use legacy
VEB/VEPA or a floating VEB.
To enable this feature, the user should pass a devargs parameter to the
EAL, for example "-w 84:00.0,enable_floating_veb=1", to control whether
the PMD will to use the floating VEB feature or not.

Once the floating VEB feature is enabled, all the VFs created by
this PF device are connected to the floating VEB.

NOTE: The floating VEB functionality requires a NIC firmware version
of 5.0 or greater.

Signed-off-by: Zhe Tao <zhe.tao@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
doc/guides/nics/i40e.rst
doc/guides/rel_notes/release_16_07.rst
drivers/net/i40e/Makefile
drivers/net/i40e/i40e_ethdev.c
drivers/net/i40e/i40e_ethdev.h