* [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'?
@ 2018-03-20 18:17 kbuild test robot
2018-03-20 21:50 ` Duyck, Alexander H
0 siblings, 1 reply; 6+ messages in thread
From: kbuild test robot @ 2018-03-20 18:17 UTC (permalink / raw)
To: intel-wired-lan
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 }
9930
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 20118 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20180321/b4465526/attachment-0001.bin>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [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'?
2018-03-20 18:17 [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'? kbuild test robot
@ 2018-03-20 21:50 ` Duyck, Alexander H
2018-03-21 15:33 ` Shannon Nelson
0 siblings, 1 reply; 6+ messages in thread
From: Duyck, Alexander H @ 2018-03-20 21:50 UTC (permalink / raw)
To: intel-wired-lan
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* [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'?
2018-03-20 21:50 ` Duyck, Alexander H
@ 2018-03-21 15:33 ` Shannon Nelson
2018-03-21 15:53 ` Alexander Duyck
0 siblings, 1 reply; 6+ messages in thread
From: Shannon Nelson @ 2018-03-21 15:33 UTC (permalink / raw)
To: intel-wired-lan
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* [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'?
2018-03-21 15:33 ` Shannon Nelson
@ 2018-03-21 15:53 ` Alexander Duyck
2018-03-21 16:19 ` Shannon Nelson
0 siblings, 1 reply; 6+ messages in thread
From: Alexander Duyck @ 2018-03-21 15:53 UTC (permalink / raw)
To: intel-wired-lan
On Wed, Mar 21, 2018 at 8:33 AM, Shannon Nelson
<shannon.nelson@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
^ permalink raw reply [flat|nested] 6+ messages in thread
* [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'?
2018-03-21 15:53 ` Alexander Duyck
@ 2018-03-21 16:19 ` Shannon Nelson
2018-03-21 18:14 ` Jeff Kirsher
0 siblings, 1 reply; 6+ messages in thread
From: Shannon Nelson @ 2018-03-21 16:19 UTC (permalink / raw)
To: intel-wired-lan
On 3/21/2018 8:53 AM, Alexander Duyck wrote:
> On Wed, Mar 21, 2018 at 8:33 AM, Shannon Nelson
> <shannon.nelson@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?
sln
^ permalink raw reply [flat|nested] 6+ messages in thread
* [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'?
2018-03-21 16:19 ` Shannon Nelson
@ 2018-03-21 18:14 ` Jeff Kirsher
0 siblings, 0 replies; 6+ messages in thread
From: Jeff Kirsher @ 2018-03-21 18:14 UTC (permalink / raw)
To: intel-wired-lan
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@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>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-03-21 18:14 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-20 18:17 [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'? kbuild test robot
2018-03-20 21:50 ` Duyck, Alexander H
2018-03-21 15:33 ` Shannon Nelson
2018-03-21 15:53 ` Alexander Duyck
2018-03-21 16:19 ` Shannon Nelson
2018-03-21 18:14 ` Jeff Kirsher
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.