[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'?
Jeff Kirsher
jeffrey.t.kirsher at intel.com
Wed Mar 21 18:14:14 UTC 2018
On Wed, 2018-03-21 at 09:19 -0700, Shannon Nelson wrote:
> On 3/21/2018 8:53 AM, Alexander Duyck wrote:
> > On Wed, Mar 21, 2018 at 8:33 AM, Shannon Nelson
> > <shannon.nelson at oracle.com> wrote:
> > >
> > >
> > > On 3/20/2018 2:50 PM, Duyck, Alexander H wrote:
> > > >
> > > > 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.
> > >
> > >
> > > Thanks, Alex, but I think this obfuscates the code a little, and
> > > might make
> > > it harder to add other feature concerns in the future. I'd
> > > rather keep the
> > > look of the exception if possible. Maybe something like this?
> > >
> > > if (skb->encapsulation && !(features &
> > > NETIF_F_TSO_MANGLEID))
> > > #ifdef CONFIG_XFRM
> > > if (!skb->sp)
> > > #endif
> > > features &= ~NETIF_F_TSO;
> > >
> > > return features;
> > >
> > >
> > > sln
> >
> > That works. My only ask then would be add braces around the
> > statement
> > since it is technically a multi-line statement at that point.
> >
> > - Alex
> >
>
> Sure - that makes sense.
>
> Jeff, can you tweak this inline or shall I repost it this afternoon?
I can fix it inline.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20180321/a447e5fc/attachment-0001.asc>
More information about the Intel-wired-lan
mailing list