net/i40e: support VXLAN-GPE
Add new protocol type VXLAN-GPE support for UDP tunnel. inner IP/TCP/UDP checksum and RSS configuration shared the same implementation of VXLAN. Signed-off-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
This commit is contained in:
parent
b59eadcd22
commit
9d17021648
@ -130,6 +130,12 @@ New Features
|
||||
* Added Safe Mode support.
|
||||
* Supported RSS for UPD/TCP/SCTP+IPV4/IPV6 packets.
|
||||
|
||||
* **Updated the i40e driver.**
|
||||
|
||||
New features for PF:
|
||||
|
||||
* Added support for VXLAN-GPE packet.
|
||||
|
||||
* **Updated the QuickAssist Technology PMD.**
|
||||
|
||||
Added support for AES-XTS with 128 and 256 bit AES keys.
|
||||
|
@ -8370,7 +8370,7 @@ i40e_get_vxlan_port_idx(struct i40e_pf *pf, uint16_t port)
|
||||
}
|
||||
|
||||
static int
|
||||
i40e_add_vxlan_port(struct i40e_pf *pf, uint16_t port)
|
||||
i40e_add_vxlan_port(struct i40e_pf *pf, uint16_t port, int udp_type)
|
||||
{
|
||||
int idx, ret;
|
||||
uint8_t filter_idx;
|
||||
@ -8393,7 +8393,7 @@ i40e_add_vxlan_port(struct i40e_pf *pf, uint16_t port)
|
||||
return -ENOSPC;
|
||||
}
|
||||
|
||||
ret = i40e_aq_add_udp_tunnel(hw, port, I40E_AQC_TUNNEL_TYPE_VXLAN,
|
||||
ret = i40e_aq_add_udp_tunnel(hw, port, udp_type,
|
||||
&filter_idx, NULL);
|
||||
if (ret < 0) {
|
||||
PMD_DRV_LOG(ERR, "Failed to add VXLAN UDP port %d", port);
|
||||
@ -8461,9 +8461,13 @@ i40e_dev_udp_tunnel_port_add(struct rte_eth_dev *dev,
|
||||
|
||||
switch (udp_tunnel->prot_type) {
|
||||
case RTE_TUNNEL_TYPE_VXLAN:
|
||||
ret = i40e_add_vxlan_port(pf, udp_tunnel->udp_port);
|
||||
ret = i40e_add_vxlan_port(pf, udp_tunnel->udp_port,
|
||||
I40E_AQC_TUNNEL_TYPE_VXLAN);
|
||||
break;
|
||||
case RTE_TUNNEL_TYPE_VXLAN_GPE:
|
||||
ret = i40e_add_vxlan_port(pf, udp_tunnel->udp_port,
|
||||
I40E_AQC_TUNNEL_TYPE_VXLAN_GPE);
|
||||
break;
|
||||
|
||||
case RTE_TUNNEL_TYPE_GENEVE:
|
||||
case RTE_TUNNEL_TYPE_TEREDO:
|
||||
PMD_DRV_LOG(ERR, "Tunnel type is not supported now.");
|
||||
@ -8492,6 +8496,7 @@ i40e_dev_udp_tunnel_port_del(struct rte_eth_dev *dev,
|
||||
|
||||
switch (udp_tunnel->prot_type) {
|
||||
case RTE_TUNNEL_TYPE_VXLAN:
|
||||
case RTE_TUNNEL_TYPE_VXLAN_GPE:
|
||||
ret = i40e_del_vxlan_port(pf, udp_tunnel->udp_port);
|
||||
break;
|
||||
case RTE_TUNNEL_TYPE_GENEVE:
|
||||
|
Loading…
Reference in New Issue
Block a user