[Intel-wired-lan] [jkirsher-next-queue:dev-queue 35/55] drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:9925:12: error: 'struct sk_buff' has no member named 'sp'; did you mean 'sk'?
Duyck, Alexander H
alexander.h.duyck at intel.com
Tue Mar 20 21:50:54 UTC 2018
On Wed, 2018-03-21 at 02:17 +0800, kbuild test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue
> head: 87cc3719efa6c6bd875e67892450bd03a9e147e4
> commit: 747053c601fe8547518069b8791337716b71c4c6 [35/55] ixgbe: enable tso with ipsec offload
> config: powerpc-skiroot_defconfig (attached as .config)
> compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
> reproduce:
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> git checkout 747053c601fe8547518069b8791337716b71c4c6
> # save the attached .config to linux build tree
> make.cross ARCH=powerpc
>
> All errors (new ones prefixed by >>):
>
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c: In function 'ixgbe_features_check':
> > > drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:9925:12: error: 'struct sk_buff' has no member named 'sp'; did you mean 'sk'?
>
> !skb->sp)
> ^~
> sk
>
> vim +9925 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>
> 9896
> 9897 static netdev_features_t
> 9898 ixgbe_features_check(struct sk_buff *skb, struct net_device *dev,
> 9899 netdev_features_t features)
> 9900 {
> 9901 unsigned int network_hdr_len, mac_hdr_len;
> 9902
> 9903 /* Make certain the headers can be described by a context descriptor */
> 9904 mac_hdr_len = skb_network_header(skb) - skb->data;
> 9905 if (unlikely(mac_hdr_len > IXGBE_MAX_MAC_HDR_LEN))
> 9906 return features & ~(NETIF_F_HW_CSUM |
> 9907 NETIF_F_SCTP_CRC |
> 9908 NETIF_F_HW_VLAN_CTAG_TX |
> 9909 NETIF_F_TSO |
> 9910 NETIF_F_TSO6);
> 9911
> 9912 network_hdr_len = skb_checksum_start(skb) - skb_network_header(skb);
> 9913 if (unlikely(network_hdr_len > IXGBE_MAX_NETWORK_HDR_LEN))
> 9914 return features & ~(NETIF_F_HW_CSUM |
> 9915 NETIF_F_SCTP_CRC |
> 9916 NETIF_F_TSO |
> 9917 NETIF_F_TSO6);
> 9918
> 9919 /* We can only support IPV4 TSO in tunnels if we can mangle the
> 9920 * inner IP ID field, so strip TSO if MANGLEID is not supported.
> 9921 * IPsec offoad sets skb->encapsulation but still can handle
> 9922 * the TSO, so it's the exception.
> 9923 */
> 9924 if (skb->encapsulation && !(features & NETIF_F_TSO_MANGLEID) &&
> > 9925 !skb->sp)
>
> 9926 features &= ~NETIF_F_TSO;
> 9927
> 9928 return features;
> 9929 }
What you may want to look at doing in order to fix this is flip the
logic like so:
if (!skb->encapsulation || (features & NETIF_F_TSO_MANGLEID))
return features;
#ifdef CONFIG_XFRM
/* IPSec is a special case excluded from the above rule */
if (skb->sp)
return features;
#endif
return features & ~NETIF_F_TSO;
Anyway just my $0.02, thanks.
- Alex
More information about the Intel-wired-lan
mailing list