DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] Fix KNI compilation under Wind River Linux 6.0 recent RCPLs.
@ 2016-03-30 18:13 Lee Roberts
  2016-03-30 21:50 ` Stephen Hemminger
  0 siblings, 1 reply; 3+ messages in thread
From: Lee Roberts @ 2016-03-30 18:13 UTC (permalink / raw)
  To: dev; +Cc: Lee Roberts

skb_set_hash() has been backported to recent Wind River Linux 6.0 RCPLs.
As a result, the corresponding stanza in kcompat.h must be removed.
Similar patches have already been applied for RHEL, SLES and Ubuntu.

Wind River Linux does not provide convenient macros for kernel version
identification.  Add macros to Makefile to identify the Wind River Linux
version.

Signed-off-by: Lee Roberts <lee.roberts@hpe.com>
---
 lib/librte_eal/linuxapp/kni/Makefile              |  8 ++++++++
 lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 13 +++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/lib/librte_eal/linuxapp/kni/Makefile b/lib/librte_eal/linuxapp/kni/Makefile
index ac99d3f..6310615 100644
--- a/lib/librte_eal/linuxapp/kni/Makefile
+++ b/lib/librte_eal/linuxapp/kni/Makefile
@@ -51,6 +51,14 @@ UBUNTU_KERNEL_CODE := $(shell echo `grep UTS_RELEASE $(RTE_KERNELDIR)/include/ge
 MODULE_CFLAGS += -D"UBUNTU_KERNEL_CODE=UBUNTU_KERNEL_VERSION($(UBUNTU_KERNEL_CODE))"
 endif
 
+ifeq ($(shell lsb_release -si 2>/dev/null),wrlinux)
+WRLINUX_MAJOR := $(shell lsb_release -sr | cut -d. -f1)
+WRLINUX_MINOR := $(shell lsb_release -sr | cut -d. -f2)
+WRLINUX_RCPL  := $(shell lsb_release -sr | cut -d. -f4)
+MODULE_CFLAGS += -D"WRLINUX_RELEASE_CODE=WRLINUX_RELEASE_VERSION($(WRLINUX_MAJOR),$(WRLINUX_MINOR))"
+MODULE_CFLAGS += -D"WRLINUX_RCPL=$(WRLINUX_RCPL)"
+endif
+
 # this lib needs main eal
 DEPDIRS-y += lib/librte_eal/linuxapp/eal
 
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
index e2cf71e..b25a35f 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
@@ -730,6 +730,17 @@ struct _kc_ethtool_pauseparam {
 #define UBUNTU_KERNEL_CODE 0
 #endif
 
+/* Wind River release codes must be specified from Makefile */
+#ifndef WRLINUX_RELEASE_VERSION
+#define WRLINUX_RELEASE_VERSION(a,b) (((a) * 256) + (b))
+#endif
+#ifndef WRLINUX_RELEASE_CODE
+#define WRLINUX_RELEASE_CODE 0
+#endif
+#ifndef WRLINUX_RCPL
+#define WRLINUX_RCPL 0
+#endif
+
 #ifdef __KLOCWORK__
 #ifdef ARRAY_SIZE
 #undef ARRAY_SIZE
@@ -3868,6 +3879,7 @@ static inline struct sk_buff *__kc__vlan_hwaccel_put_tag(struct sk_buff *skb,
     && (UBUNTU_RELEASE_CODE == UBUNTU_RELEASE_VERSION(12,4) \
      || UBUNTU_RELEASE_CODE == UBUNTU_RELEASE_VERSION(14,4))))
 #if (!(SLE_VERSION_CODE == SLE_VERSION(12,0,0)))
+#if (!(WRLINUX_RELEASE_CODE == WRLINUX_RELEASE_VERSION(6,0) && WRLINUX_RCPL >= 26))
 #ifdef NETIF_F_RXHASH
 #define PKT_HASH_TYPE_L3 0
 static inline void
@@ -3876,6 +3888,7 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
 	skb->rxhash = hash;
 }
 #endif /* NETIF_F_RXHASH */
+#endif /* < WRLINUX */
 #endif /* < SLES12 */
 #endif /* < 3.13.0-30.54 (Ubuntu 14.04) */
 #endif /* < RHEL7 */
-- 
1.9.1

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] Fix KNI compilation under Wind River Linux 6.0 recent RCPLs.
  2016-03-30 18:13 [dpdk-dev] [PATCH] Fix KNI compilation under Wind River Linux 6.0 recent RCPLs Lee Roberts
@ 2016-03-30 21:50 ` Stephen Hemminger
  2016-03-30 22:17   ` Vincent JARDIN
  0 siblings, 1 reply; 3+ messages in thread
From: Stephen Hemminger @ 2016-03-30 21:50 UTC (permalink / raw)
  To: Lee Roberts; +Cc: dev

On Wed, 30 Mar 2016 12:13:35 -0600
Lee Roberts <lee.roberts@hpe.com> wrote:

> skb_set_hash() has been backported to recent Wind River Linux 6.0 RCPLs.
> As a result, the corresponding stanza in kcompat.h must be removed.
> Similar patches have already been applied for RHEL, SLES and Ubuntu.
> 
> Wind River Linux does not provide convenient macros for kernel version
> identification.  Add macros to Makefile to identify the Wind River Linux
> version.
> 
> Signed-off-by: Lee Roberts <lee.roberts@hpe.com>
> ---
>  lib/librte_eal/linuxapp/kni/Makefile              |  8 ++++++++
>  lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 13 +++++++++++++
>  2 files changed, 21 insertions(+)
> 
> diff --git a/lib/librte_eal/linuxapp/kni/Makefile b/lib/librte_eal/linuxapp/kni/Makefile
> index ac99d3f..6310615 100644
> --- a/lib/librte_eal/linuxapp/kni/Makefile
> +++ b/lib/librte_eal/linuxapp/kni/Makefile
> @@ -51,6 +51,14 @@ UBUNTU_KERNEL_CODE := $(shell echo `grep UTS_RELEASE $(RTE_KERNELDIR)/include/ge
>  MODULE_CFLAGS += -D"UBUNTU_KERNEL_CODE=UBUNTU_KERNEL_VERSION($(UBUNTU_KERNEL_CODE))"
>  endif
>  
> +ifeq ($(shell lsb_release -si 2>/dev/null),wrlinux)
> +WRLINUX_MAJOR := $(shell lsb_release -sr | cut -d. -f1)
> +WRLINUX_MINOR := $(shell lsb_release -sr | cut -d. -f2)
> +WRLINUX_RCPL  := $(shell lsb_release -sr | cut -d. -f4)
> +MODULE_CFLAGS += -D"WRLINUX_RELEASE_CODE=WRLINUX_RELEASE_VERSION($(WRLINUX_MAJOR),$(WRLINUX_MINOR))"
> +MODULE_CFLAGS += -D"WRLINUX_RCPL=$(WRLINUX_RCPL)"
> +endif
> +

Do we want to require DPDK to work in the face of every weird vendor
kernel backport. This is a road to nowhere...

One more reason to get kernel drivers upstream.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] Fix KNI compilation under Wind River Linux 6.0 recent RCPLs.
  2016-03-30 21:50 ` Stephen Hemminger
@ 2016-03-30 22:17   ` Vincent JARDIN
  0 siblings, 0 replies; 3+ messages in thread
From: Vincent JARDIN @ 2016-03-30 22:17 UTC (permalink / raw)
  To: Lee Roberts; +Cc: Stephen Hemminger, dev

Le 30/03/2016 23:50, Stephen Hemminger a écrit :
> Do we want to require DPDK to work in the face of every weird vendor
> kernel backport. This is a road to nowhere...
+1 with Steve. No way! There is no rational.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-03-30 22:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-30 18:13 [dpdk-dev] [PATCH] Fix KNI compilation under Wind River Linux 6.0 recent RCPLs Lee Roberts
2016-03-30 21:50 ` Stephen Hemminger
2016-03-30 22:17   ` Vincent JARDIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).