[v3] pci/windows: fix build with SDK >= 10.0.20253

Message ID 1610659355-31330-1-git-send-email-roretzla@linux.microsoft.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series [v3] pci/windows: fix build with SDK >= 10.0.20253 |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Functional success Functional Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-mellanox-Functional success Functional Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS

Commit Message

Tyler Retzlaff Jan. 14, 2021, 9:22 p.m. UTC
  NetUIO device class and interface GUIDs are defined in system
headers starting from platform SDK v10.0.20253. Inspect SDK
version to avoid redefinition.

Pre-release SDKs do not promise compatibility and a narrow
subset of SDKs may still be subject to redefinition.

Fixes: c76ec01b4591 (bus/pci: support netuio on Windows)
Cc: stable@dpdk.org

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---
 drivers/bus/pci/windows/pci_netuio.c | 6 ++++++
 drivers/bus/pci/windows/pci_netuio.h | 2 ++
 2 files changed, 8 insertions(+)
  

Comments

Dmitry Kozlyuk Jan. 14, 2021, 10:06 p.m. UTC | #1
On Thu, 14 Jan 2021 13:22:35 -0800, Tyler Retzlaff wrote:
> NetUIO device class and interface GUIDs are defined in system
> headers starting from platform SDK v10.0.20253. Inspect SDK
> version to avoid redefinition.
> 
> Pre-release SDKs do not promise compatibility and a narrow
> subset of SDKs may still be subject to redefinition.
> 
> Fixes: c76ec01b4591 (bus/pci: support netuio on Windows)
> Cc: stable@dpdk.org
> 
> Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>

Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
  
Menon, Ranjit Jan. 14, 2021, 10:59 p.m. UTC | #2
On 1/14/2021 1:22 PM, Tyler Retzlaff wrote:
> NetUIO device class and interface GUIDs are defined in system
> headers starting from platform SDK v10.0.20253. Inspect SDK
> version to avoid redefinition.
>
> Pre-release SDKs do not promise compatibility and a narrow
> subset of SDKs may still be subject to redefinition.
>
> Fixes: c76ec01b4591 (bus/pci: support netuio on Windows)
> Cc: stable@dpdk.org
>
> Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> ---
>   drivers/bus/pci/windows/pci_netuio.c | 6 ++++++
>   drivers/bus/pci/windows/pci_netuio.h | 2 ++
>   2 files changed, 8 insertions(+)
>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>


Quick q: Do you know when this new SDK will be available publicly?

ranjit m.
  
Tyler Retzlaff Jan. 15, 2021, 5:34 a.m. UTC | #3
On Thu, Jan 14, 2021 at 02:59:44PM -0800, Ranjit Menon wrote:

> Quick q: Do you know when this new SDK will be available publicly?

there are periodic release of the sdk [2] that match the versions of windows
available through the windows insider program [1].

i can see the latest available appears to be 20279 (so later) than the
kit i referenced in the change. so to answer your question a newer kit
is available now. just remember preview kits do not provide a compatibility
guarantee i.e. api and abi may change

[1] https://insider.windows.com/en-us/
[2] https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewSDK
  
Thomas Monjalon Jan. 15, 2021, 1:50 p.m. UTC | #4
14/01/2021 23:06, Dmitry Kozlyuk:
> On Thu, 14 Jan 2021 13:22:35 -0800, Tyler Retzlaff wrote:
> > NetUIO device class and interface GUIDs are defined in system
> > headers starting from platform SDK v10.0.20253. Inspect SDK
> > version to avoid redefinition.
> > 
> > Pre-release SDKs do not promise compatibility and a narrow
> > subset of SDKs may still be subject to redefinition.
> > 
> > Fixes: c76ec01b4591 (bus/pci: support netuio on Windows)
> > Cc: stable@dpdk.org
> > 
> > Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> 
> Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>

Applied, thanks
  

Patch

diff --git a/drivers/bus/pci/windows/pci_netuio.c b/drivers/bus/pci/windows/pci_netuio.c
index 670194839..1bf9133f7 100644
--- a/drivers/bus/pci/windows/pci_netuio.c
+++ b/drivers/bus/pci/windows/pci_netuio.c
@@ -7,6 +7,12 @@ 
 #include <rte_log.h>
 #include <rte_eal.h>
 
+#ifdef __MINGW32__
+#include <ddk/ndisguid.h>
+#else
+#include <ndisguid.h>
+#endif
+
 #include "private.h"
 #include "pci_netuio.h"
 
diff --git a/drivers/bus/pci/windows/pci_netuio.h b/drivers/bus/pci/windows/pci_netuio.h
index 9a77806b5..2f6c97ea7 100644
--- a/drivers/bus/pci/windows/pci_netuio.h
+++ b/drivers/bus/pci/windows/pci_netuio.h
@@ -5,6 +5,7 @@ 
 #ifndef _PCI_NETUIO_H_
 #define _PCI_NETUIO_H_
 
+#if !defined(NTDDI_WIN10_FE) || NTDDI_VERSION < NTDDI_WIN10_FE
 /* GUID definition for device class netUIO */
 DEFINE_GUID(GUID_DEVCLASS_NETUIO, 0x78912bc1, 0xcb8e, 0x4b28,
 	0xa3, 0x29, 0xf3, 0x22, 0xeb, 0xad, 0xbe, 0x0f);
@@ -12,6 +13,7 @@  DEFINE_GUID(GUID_DEVCLASS_NETUIO, 0x78912bc1, 0xcb8e, 0x4b28,
 /* GUID definition for the netuio device interface */
 DEFINE_GUID(GUID_DEVINTERFACE_NETUIO, 0x08336f60, 0x0679, 0x4c6c,
 	0x85, 0xd2, 0xae, 0x7c, 0xed, 0x65, 0xff, 0xf7);
+#endif
 
 /* IOCTL code definitions */
 #define IOCTL_NETUIO_MAP_HW_INTO_USERSPACE \