[dpdk-dev,v2] kni: define HAVE_VF_VLAN_PROTO for SLES12SP3

Message ID 20170404131948.13899-1-ndas@suse.de (mailing list archive)
State Superseded, archived
Headers

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation fail Compilation issues

Commit Message

Nirmoy Das April 4, 2017, 1:19 p.m. UTC
  Add support for SLES12SP3, which uses kernel 4.4,
but backported features from newer kernels.

Signed-off-by: Nirmoy Das <ndas@suse.de>
---
 lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
  

Comments

Ferruh Yigit April 4, 2017, 1:43 p.m. UTC | #1
On 4/4/2017 2:19 PM, Nirmoy Das wrote:
> Add support for SLES12SP3, which uses kernel 4.4,
> but backported features from newer kernels.
> 
> Signed-off-by: Nirmoy Das <ndas@suse.de>
> ---
>  lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
> index 84826b26e..173599ccd 100644
> --- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
> +++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
> @@ -710,6 +710,9 @@ struct _kc_ethtool_pauseparam {
>  #elif ( LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,28) )
>  /* SLES12 is at least 3.12.28+ based */
>  #define SLE_VERSION_CODE SLE_VERSION(12,0,0)
> +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 57))
> +/* SLES12SP3 is at least 4.4.57+ based */
> +#define SLE_VERSION_CODE SLE_VERSION(12, 3, 0)
>  #endif /* LINUX_VERSION_CODE == KERNEL_VERSION(x,y,z) */
>  #endif /* CONFIG_SUSE_KERNEL */
>  #ifndef SLE_VERSION_CODE
> @@ -3929,8 +3932,10 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
>  #define vlan_tx_tag_present skb_vlan_tag_present
>  #endif
>  
> -#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0) )
> +#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)) \
> +    || (defined(SLE_VERSION_CODE) && \
> +       (SLE_VERSION_CODE >= SLE_VERSION(12, 3, 0))))
>  #define HAVE_VF_VLAN_PROTO
> -#endif /* >= 4.9.0 */
> +#endif /* >= 4.9.0, >= SLES12SP3 */

Is it possible to use SLE_VERSION_CODE check same as rest of the document?:
(SLE_VERSION_CODE && SLE_VERSION_CODE >= SLE_VERSION(12, 3, 0))

#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)) || \
    (SLE_VERSION_CODE && SLE_VERSION_CODE >= SLE_VERSION(12, 3, 0)))
#define HAVE_VF_VLAN_PROTO
#endif /* >= 4.9.0, >= SLES12SP3 */

>  
>  #endif /* _KCOMPAT_H_ */
>
  

Patch

diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
index 84826b26e..173599ccd 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
@@ -710,6 +710,9 @@  struct _kc_ethtool_pauseparam {
 #elif ( LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,28) )
 /* SLES12 is at least 3.12.28+ based */
 #define SLE_VERSION_CODE SLE_VERSION(12,0,0)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 57))
+/* SLES12SP3 is at least 4.4.57+ based */
+#define SLE_VERSION_CODE SLE_VERSION(12, 3, 0)
 #endif /* LINUX_VERSION_CODE == KERNEL_VERSION(x,y,z) */
 #endif /* CONFIG_SUSE_KERNEL */
 #ifndef SLE_VERSION_CODE
@@ -3929,8 +3932,10 @@  skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
 #define vlan_tx_tag_present skb_vlan_tag_present
 #endif
 
-#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0) )
+#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)) \
+    || (defined(SLE_VERSION_CODE) && \
+       (SLE_VERSION_CODE >= SLE_VERSION(12, 3, 0))))
 #define HAVE_VF_VLAN_PROTO
-#endif /* >= 4.9.0 */
+#endif /* >= 4.9.0, >= SLES12SP3 */
 
 #endif /* _KCOMPAT_H_ */