mirror of https://gitee.com/openkylin/linux.git
i40evf: remove open-coded skb_cow_head
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Cc: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
a173f045a8
commit
fe6d4aa437
|
@ -1114,20 +1114,18 @@ static int i40e_tso(struct i40e_ring *tx_ring, struct sk_buff *skb,
|
||||||
u64 *cd_type_cmd_tso_mss, u32 *cd_tunneling)
|
u64 *cd_type_cmd_tso_mss, u32 *cd_tunneling)
|
||||||
{
|
{
|
||||||
u32 cd_cmd, cd_tso_len, cd_mss;
|
u32 cd_cmd, cd_tso_len, cd_mss;
|
||||||
|
struct ipv6hdr *ipv6h;
|
||||||
struct tcphdr *tcph;
|
struct tcphdr *tcph;
|
||||||
struct iphdr *iph;
|
struct iphdr *iph;
|
||||||
u32 l4len;
|
u32 l4len;
|
||||||
int err;
|
int err;
|
||||||
struct ipv6hdr *ipv6h;
|
|
||||||
|
|
||||||
if (!skb_is_gso(skb))
|
if (!skb_is_gso(skb))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (skb_header_cloned(skb)) {
|
err = skb_cow_head(skb, 0);
|
||||||
err = pskb_expand_head(skb, 0, 0, GFP_ATOMIC);
|
if (err < 0)
|
||||||
if (err)
|
return err;
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (protocol == htons(ETH_P_IP)) {
|
if (protocol == htons(ETH_P_IP)) {
|
||||||
iph = skb->encapsulation ? inner_ip_hdr(skb) : ip_hdr(skb);
|
iph = skb->encapsulation ? inner_ip_hdr(skb) : ip_hdr(skb);
|
||||||
|
|
Loading…
Reference in New Issue