i40e/i40evf: Simplify tunnel selection logic
Use l4_tunnel type generically to keep code flow simple. Change-ID: Ic52287e3b1ca4204e6b6e13431890c1a6ae9c422 Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
04294e38a4
commit
4599120466
|
@ -2216,8 +2216,16 @@ static void i40e_tx_enable_csum(struct sk_buff *skb, u32 tx_flags,
|
|||
struct iphdr *this_ip_hdr;
|
||||
u32 network_hdr_len;
|
||||
u8 l4_hdr = 0;
|
||||
u32 l4_tunnel = 0;
|
||||
|
||||
if (skb->encapsulation) {
|
||||
switch (ip_hdr(skb)->protocol) {
|
||||
case IPPROTO_UDP:
|
||||
l4_tunnel = I40E_TXD_CTX_UDP_TUNNELING;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
network_hdr_len = skb_inner_network_header_len(skb);
|
||||
this_ip_hdr = inner_ip_hdr(skb);
|
||||
this_ipv6_hdr = inner_ipv6_hdr(skb);
|
||||
|
@ -2240,8 +2248,8 @@ static void i40e_tx_enable_csum(struct sk_buff *skb, u32 tx_flags,
|
|||
|
||||
/* Now set the ctx descriptor fields */
|
||||
*cd_tunneling |= (skb_network_header_len(skb) >> 2) <<
|
||||
I40E_TXD_CTX_QW0_EXT_IPLEN_SHIFT |
|
||||
I40E_TXD_CTX_UDP_TUNNELING |
|
||||
I40E_TXD_CTX_QW0_EXT_IPLEN_SHIFT |
|
||||
l4_tunnel |
|
||||
((skb_inner_network_offset(skb) -
|
||||
skb_transport_offset(skb)) >> 1) <<
|
||||
I40E_TXD_CTX_QW0_NATLEN_SHIFT;
|
||||
|
|
|
@ -1461,8 +1461,16 @@ static void i40e_tx_enable_csum(struct sk_buff *skb, u32 tx_flags,
|
|||
struct iphdr *this_ip_hdr;
|
||||
u32 network_hdr_len;
|
||||
u8 l4_hdr = 0;
|
||||
u32 l4_tunnel = 0;
|
||||
|
||||
if (skb->encapsulation) {
|
||||
switch (ip_hdr(skb)->protocol) {
|
||||
case IPPROTO_UDP:
|
||||
l4_tunnel = I40E_TXD_CTX_UDP_TUNNELING;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
network_hdr_len = skb_inner_network_header_len(skb);
|
||||
this_ip_hdr = inner_ip_hdr(skb);
|
||||
this_ipv6_hdr = inner_ipv6_hdr(skb);
|
||||
|
@ -1485,8 +1493,8 @@ static void i40e_tx_enable_csum(struct sk_buff *skb, u32 tx_flags,
|
|||
|
||||
/* Now set the ctx descriptor fields */
|
||||
*cd_tunneling |= (skb_network_header_len(skb) >> 2) <<
|
||||
I40E_TXD_CTX_QW0_EXT_IPLEN_SHIFT |
|
||||
I40E_TXD_CTX_UDP_TUNNELING |
|
||||
I40E_TXD_CTX_QW0_EXT_IPLEN_SHIFT |
|
||||
l4_tunnel |
|
||||
((skb_inner_network_offset(skb) -
|
||||
skb_transport_offset(skb)) >> 1) <<
|
||||
I40E_TXD_CTX_QW0_NATLEN_SHIFT;
|
||||
|
|
Loading…
Reference in New Issue