* [dpdk-dev] [PATCH] net/iavf: enable on Windows
@ 2021-05-28 23:08 Pallavi Kadam
2021-09-09 20:05 ` [dpdk-dev] [PATCH v2 0/3] Support iavf PMD " Pallavi Kadam
0 siblings, 1 reply; 20+ messages in thread
From: Pallavi Kadam @ 2021-05-28 23:08 UTC (permalink / raw)
To: dev, thomas
Cc: ranjit.menon, navasile, jingjing.wu, beilei.xing, ferruh.yigit,
pallavi.kadam
This patch enables building the iAVF PMD on Windows.
- Replace x86intrin.h with rte_vect.h to avoid __m_prefetchw conflicting
types
- Fix for pointer and integer sign warnings using Clang compiler on
Windows
- Add extra cflags '-fno-asynchronous-unwind-tables'
to avoid MinGW build error:
Error: invalid register for .seh_savexmm
- Update release notes
Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
---
doc/guides/rel_notes/release_21_08.rst | 4 ++++
drivers/net/iavf/iavf.h | 3 ++-
drivers/net/iavf/iavf_rxtx_vec_avx2.c | 2 +-
drivers/net/iavf/iavf_rxtx_vec_avx512.c | 2 +-
drivers/net/iavf/meson.build | 10 ++++------
5 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/doc/guides/rel_notes/release_21_08.rst b/doc/guides/rel_notes/release_21_08.rst
index a6ecfdf3c..931f5c322 100644
--- a/doc/guides/rel_notes/release_21_08.rst
+++ b/doc/guides/rel_notes/release_21_08.rst
@@ -55,6 +55,10 @@ New Features
Also, make sure to start the actual text at the margin.
=======================================================
+* **Updated Intel iavf driver.**
+
+ * Added Intel iavf support on Windows.
+
Removed Items
-------------
diff --git a/drivers/net/iavf/iavf.h b/drivers/net/iavf/iavf.h
index 4f5811ae8..9b46608b6 100644
--- a/drivers/net/iavf/iavf.h
+++ b/drivers/net/iavf/iavf.h
@@ -286,7 +286,8 @@ _clear_cmd(struct iavf_info *vf)
static inline int
_atomic_set_cmd(struct iavf_info *vf, enum virtchnl_ops ops)
{
- int ret = rte_atomic32_cmpset(&vf->pend_cmd, VIRTCHNL_OP_UNKNOWN, ops);
+ int ret = rte_atomic32_cmpset((volatile uint32_t *)&vf->pend_cmd,
+ VIRTCHNL_OP_UNKNOWN, ops);
if (!ret)
PMD_DRV_LOG(ERR, "There is incomplete cmd %d", vf->pend_cmd);
diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx2.c b/drivers/net/iavf/iavf_rxtx_vec_avx2.c
index f5646d645..60ff3e356 100644
--- a/drivers/net/iavf/iavf_rxtx_vec_avx2.c
+++ b/drivers/net/iavf/iavf_rxtx_vec_avx2.c
@@ -4,7 +4,7 @@
#include "iavf_rxtx_vec_common.h"
-#include <x86intrin.h>
+#include <rte_vect.h>
#ifndef __INTEL_COMPILER
#pragma GCC diagnostic ignored "-Wcast-qual"
diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx512.c b/drivers/net/iavf/iavf_rxtx_vec_avx512.c
index d99de2a8b..8669a71ba 100644
--- a/drivers/net/iavf/iavf_rxtx_vec_avx512.c
+++ b/drivers/net/iavf/iavf_rxtx_vec_avx512.c
@@ -4,7 +4,7 @@
#include "iavf_rxtx_vec_common.h"
-#include <x86intrin.h>
+#include <rte_vect.h>
#ifndef __INTEL_COMPILER
#pragma GCC diagnostic ignored "-Wcast-qual"
diff --git a/drivers/net/iavf/meson.build b/drivers/net/iavf/meson.build
index 6f222a9e8..a6baa77ce 100644
--- a/drivers/net/iavf/meson.build
+++ b/drivers/net/iavf/meson.build
@@ -1,12 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
-if is_windows
- build = false
- reason = 'not supported on Windows'
- subdir_done()
-endif
-
cflags += ['-Wno-strict-aliasing']
includes += include_directories('../../common/iavf')
@@ -24,6 +18,10 @@ sources = files(
if arch_subdir == 'x86'
sources += files('iavf_rxtx_vec_sse.c')
+ if is_windows and cc.get_id() != 'clang'
+ cflags += ['-fno-asynchronous-unwind-tables']
+ endif
+
# compile AVX2 version if either:
# a. we have AVX supported in minimum instruction set baseline
# b. it's not minimum instruction set, but supported by compiler
--
2.18.0.windows.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* [dpdk-dev] [PATCH v2 0/3] Support iavf PMD on Windows
2021-05-28 23:08 [dpdk-dev] [PATCH] net/iavf: enable on Windows Pallavi Kadam
@ 2021-09-09 20:05 ` Pallavi Kadam
2021-09-09 20:05 ` [dpdk-dev] [PATCH v2 1/3] net/iavf: build " Pallavi Kadam
` (3 more replies)
0 siblings, 4 replies; 20+ messages in thread
From: Pallavi Kadam @ 2021-09-09 20:05 UTC (permalink / raw)
To: dev
Cc: thomas, qi.z.zhang, -fady, dmitry.kozliuk, jingjing.wu,
beilei.xing, ranjit.menon, shivanshu.shukla, pallavi.kadam
This patch-set enables building the iavf PMD on Windows.
Currently, it uses alarm functions so, depends on following series.
Depends-on: series-18447 ("net/iavf: enable interrupt polling")
v2 changes:
- rebase for 21.11
- Fix for 'random'
Pallavi Kadam (3):
net/iavf: build on Windows
lib/net: fix support of random
doc: update iavf PMD and 21.11 release notes
doc/guides/nics/intel_vf.rst | 17 +++++++++++++++++
doc/guides/rel_notes/release_21_11.rst | 4 ++++
drivers/net/iavf/iavf.h | 3 ++-
drivers/net/iavf/iavf_rxtx_vec_avx2.c | 2 +-
drivers/net/iavf/iavf_rxtx_vec_avx512.c | 2 +-
drivers/net/iavf/iavf_tm.c | 2 +-
drivers/net/iavf/meson.build | 9 ++++-----
lib/net/rte_ether.c | 4 ----
8 files changed, 30 insertions(+), 13 deletions(-)
--
2.31.1.windows.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* [dpdk-dev] [PATCH v2 1/3] net/iavf: build on Windows
2021-09-09 20:05 ` [dpdk-dev] [PATCH v2 0/3] Support iavf PMD " Pallavi Kadam
@ 2021-09-09 20:05 ` Pallavi Kadam
2021-09-09 20:05 ` [dpdk-dev] [PATCH v2 2/3] lib/net: fix support of random Pallavi Kadam
` (2 subsequent siblings)
3 siblings, 0 replies; 20+ messages in thread
From: Pallavi Kadam @ 2021-09-09 20:05 UTC (permalink / raw)
To: dev
Cc: thomas, qi.z.zhang, -fady, dmitry.kozliuk, jingjing.wu,
beilei.xing, ranjit.menon, shivanshu.shukla, pallavi.kadam
- Enable IAVF PMD build on Windows
- Replace x86intrin.h with rte_vect.h to avoid __m_prefetchw conflicting
types
- Fix for pointer and integer sign warnings using Clang compiler on
Windows
- Add extra cflags '-fno-asynchronous-unwind-tables'
to avoid MinGW build error:
Error: invalid register for .seh_savexmm
Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
---
drivers/net/iavf/iavf.h | 3 ++-
drivers/net/iavf/iavf_rxtx_vec_avx2.c | 2 +-
drivers/net/iavf/iavf_rxtx_vec_avx512.c | 2 +-
drivers/net/iavf/iavf_tm.c | 2 +-
drivers/net/iavf/meson.build | 9 ++++-----
5 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/net/iavf/iavf.h b/drivers/net/iavf/iavf.h
index b3bd078111..55b20a80af 100644
--- a/drivers/net/iavf/iavf.h
+++ b/drivers/net/iavf/iavf.h
@@ -335,7 +335,8 @@ _clear_cmd(struct iavf_info *vf)
static inline int
_atomic_set_cmd(struct iavf_info *vf, enum virtchnl_ops ops)
{
- int ret = rte_atomic32_cmpset(&vf->pend_cmd, VIRTCHNL_OP_UNKNOWN, ops);
+ int ret = rte_atomic32_cmpset((volatile uint32_t *)&vf->pend_cmd,
+ VIRTCHNL_OP_UNKNOWN, ops);
if (!ret)
PMD_DRV_LOG(ERR, "There is incomplete cmd %d", vf->pend_cmd);
diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx2.c b/drivers/net/iavf/iavf_rxtx_vec_avx2.c
index 475070e036..96c05d9319 100644
--- a/drivers/net/iavf/iavf_rxtx_vec_avx2.c
+++ b/drivers/net/iavf/iavf_rxtx_vec_avx2.c
@@ -4,7 +4,7 @@
#include "iavf_rxtx_vec_common.h"
-#include <x86intrin.h>
+#include <rte_vect.h>
#ifndef __INTEL_COMPILER
#pragma GCC diagnostic ignored "-Wcast-qual"
diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx512.c b/drivers/net/iavf/iavf_rxtx_vec_avx512.c
index 571161c0cd..cb0b057b0f 100644
--- a/drivers/net/iavf/iavf_rxtx_vec_avx512.c
+++ b/drivers/net/iavf/iavf_rxtx_vec_avx512.c
@@ -4,7 +4,7 @@
#include "iavf_rxtx_vec_common.h"
-#include <x86intrin.h>
+#include <rte_vect.h>
#ifndef __INTEL_COMPILER
#pragma GCC diagnostic ignored "-Wcast-qual"
diff --git a/drivers/net/iavf/iavf_tm.c b/drivers/net/iavf/iavf_tm.c
index 3c80276ff3..8d92062c7f 100644
--- a/drivers/net/iavf/iavf_tm.c
+++ b/drivers/net/iavf/iavf_tm.c
@@ -321,7 +321,7 @@ iavf_tm_node_add(struct rte_eth_dev *dev, uint32_t node_id,
}
/* check level */
if (level_id != RTE_TM_NODE_LEVEL_ID_ANY &&
- level_id != parent_node_type + 1) {
+ level_id != (uint32_t)parent_node_type + 1) {
error->type = RTE_TM_ERROR_TYPE_NODE_PARAMS;
error->message = "Wrong level";
return -EINVAL;
diff --git a/drivers/net/iavf/meson.build b/drivers/net/iavf/meson.build
index f2010a8337..36a82e3faa 100644
--- a/drivers/net/iavf/meson.build
+++ b/drivers/net/iavf/meson.build
@@ -1,11 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
-if is_windows
- build = false
- reason = 'not supported on Windows'
- subdir_done()
-endif
cflags += ['-Wno-strict-aliasing']
@@ -25,6 +20,10 @@ sources = files(
if arch_subdir == 'x86'
sources += files('iavf_rxtx_vec_sse.c')
+ if is_windows and cc.get_id() != 'clang'
+ cflags += ['-fno-asynchronous-unwind-tables']
+ endif
+
# compile AVX2 version if either:
# a. we have AVX supported in minimum instruction set baseline
# b. it's not minimum instruction set, but supported by compiler
--
2.31.1.windows.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* [dpdk-dev] [PATCH v2 2/3] lib/net: fix support of random
2021-09-09 20:05 ` [dpdk-dev] [PATCH v2 0/3] Support iavf PMD " Pallavi Kadam
2021-09-09 20:05 ` [dpdk-dev] [PATCH v2 1/3] net/iavf: build " Pallavi Kadam
@ 2021-09-09 20:05 ` Pallavi Kadam
2021-09-09 20:05 ` [dpdk-dev] [PATCH v2 3/3] doc: update iavf PMD and 21.11 release notes Pallavi Kadam
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows Pallavi Kadam
3 siblings, 0 replies; 20+ messages in thread
From: Pallavi Kadam @ 2021-09-09 20:05 UTC (permalink / raw)
To: dev
Cc: thomas, qi.z.zhang, -fady, dmitry.kozliuk, jingjing.wu,
beilei.xing, ranjit.menon, shivanshu.shukla, pallavi.kadam
IAVF PMD needs to generate a random MAC address if it is not configured
by host.
'random' is now supported on Windows.
Fixes: 16f0d03098cb ("net: build on Windows")
Cc: fady@mellanox.com
Cc: stable@dpdk.org
Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
---
lib/net/rte_ether.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/lib/net/rte_ether.c b/lib/net/rte_ether.c
index 34605838b5..ced65ed9f3 100644
--- a/lib/net/rte_ether.c
+++ b/lib/net/rte_ether.c
@@ -10,16 +10,12 @@
void
rte_eth_random_addr(uint8_t *addr)
{
-#ifdef RTE_EXEC_ENV_WINDOWS /* FIXME: random is not supported */
- RTE_SET_USED(addr);
-#else
uint64_t rand = rte_rand();
uint8_t *p = (uint8_t *)&rand;
rte_memcpy(addr, p, RTE_ETHER_ADDR_LEN);
addr[0] &= (uint8_t)~RTE_ETHER_GROUP_ADDR; /* clear multicast bit */
addr[0] |= RTE_ETHER_LOCAL_ADMIN_ADDR; /* set local assignment bit */
-#endif
}
void
--
2.31.1.windows.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* [dpdk-dev] [PATCH v2 3/3] doc: update iavf PMD and 21.11 release notes
2021-09-09 20:05 ` [dpdk-dev] [PATCH v2 0/3] Support iavf PMD " Pallavi Kadam
2021-09-09 20:05 ` [dpdk-dev] [PATCH v2 1/3] net/iavf: build " Pallavi Kadam
2021-09-09 20:05 ` [dpdk-dev] [PATCH v2 2/3] lib/net: fix support of random Pallavi Kadam
@ 2021-09-09 20:05 ` Pallavi Kadam
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows Pallavi Kadam
3 siblings, 0 replies; 20+ messages in thread
From: Pallavi Kadam @ 2021-09-09 20:05 UTC (permalink / raw)
To: dev
Cc: thomas, qi.z.zhang, -fady, dmitry.kozliuk, jingjing.wu,
beilei.xing, ranjit.menon, shivanshu.shukla, pallavi.kadam
Add documentation to support iavf PMD on Windows.
Update the release notes for the same.
Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
---
doc/guides/nics/intel_vf.rst | 17 +++++++++++++++++
doc/guides/rel_notes/release_21_11.rst | 4 ++++
2 files changed, 21 insertions(+)
diff --git a/doc/guides/nics/intel_vf.rst b/doc/guides/nics/intel_vf.rst
index fcea8151bf..27f8b5093e 100644
--- a/doc/guides/nics/intel_vf.rst
+++ b/doc/guides/nics/intel_vf.rst
@@ -616,3 +616,20 @@ which belongs to the destination VF on the VM.
.. figure:: img/inter_vm_comms.*
Inter-VM Communication
+
+
+Windows Support
+---------------
+
+* IAVF PMD currently is supported only inside Windows guest created on Linux host.
+
+* Physical PCI resources are exposed as virtual functions into Windows VM using SR-IOV pass through feature.
+
+* Create a Windows guest on Linux host using KVM hypervisor. Refer to the steps mentioned in the above section "Setting Up a KVM Virtual Machine monitor"
+
+* In the Host machine, download and install the kernel Ethernet driver from: `https://www.intel.com/content/www/us/en/download-center/home.html?agr=Y&DwnldID=14687`.
+
+* For Windows guest, install NetUIO driver in place of existing built-in(inbox) Virtual Function driver.
+
+* To load NetUIO driver, follow the steps mentioned in `dpdk-kmods repository
+ <https://git.dpdk.org/dpdk-kmods/tree/windows/netuio/README.rst>`_.
diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst
index 675b573834..f5ae66a0ef 100644
--- a/doc/guides/rel_notes/release_21_11.rst
+++ b/doc/guides/rel_notes/release_21_11.rst
@@ -62,6 +62,10 @@ New Features
* Added bus-level parsing of the devargs syntax.
* Kept compatibility with the legacy syntax as parsing fallback.
+* **Updated Intel iavf driver.**
+
+ * Added Intel iavf support on Windows.
+
Removed Items
-------------
--
2.31.1.windows.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows
2021-09-09 20:05 ` [dpdk-dev] [PATCH v2 0/3] Support iavf PMD " Pallavi Kadam
` (2 preceding siblings ...)
2021-09-09 20:05 ` [dpdk-dev] [PATCH v2 3/3] doc: update iavf PMD and 21.11 release notes Pallavi Kadam
@ 2021-09-09 23:23 ` Pallavi Kadam
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 1/3] net/iavf: build " Pallavi Kadam
` (6 more replies)
3 siblings, 7 replies; 20+ messages in thread
From: Pallavi Kadam @ 2021-09-09 23:23 UTC (permalink / raw)
To: dev
Cc: thomas, qi.z.zhang, fady, Narcisa.Vasile, dmitry.kozliuk,
ferruh.yigit, jingjing.wu, beilei.xing, ranjit.menon,
shivanshu.shukla, pallavi.kadam
This patch-set enables building the iavf PMD on Windows.
Currently, it uses alarm functions so, depends on following series.
Depends-on: series-18447 ("net/iavf: enable interrupt polling")
v3 changes:
- Fix doc build warning
v2 changes:
- Rebase for 21.11
- Fix for 'random'
Pallavi Kadam (3):
net/iavf: build on Windows
lib/net: fix support of random
doc: update iavf PMD and 21.11 release notes
doc/guides/nics/intel_vf.rst | 18 ++++++++++++++++++
doc/guides/rel_notes/release_21_11.rst | 4 ++++
drivers/net/iavf/iavf.h | 3 ++-
drivers/net/iavf/iavf_rxtx_vec_avx2.c | 2 +-
drivers/net/iavf/iavf_rxtx_vec_avx512.c | 2 +-
drivers/net/iavf/iavf_tm.c | 2 +-
drivers/net/iavf/meson.build | 9 ++++-----
lib/net/rte_ether.c | 4 ----
8 files changed, 31 insertions(+), 13 deletions(-)
--
2.31.1.windows.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* [dpdk-dev] [PATCH v3 1/3] net/iavf: build on Windows
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows Pallavi Kadam
@ 2021-09-09 23:23 ` Pallavi Kadam
2021-09-22 20:58 ` Shukla, Shivanshu
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 2/3] lib/net: fix support of random Pallavi Kadam
` (5 subsequent siblings)
6 siblings, 1 reply; 20+ messages in thread
From: Pallavi Kadam @ 2021-09-09 23:23 UTC (permalink / raw)
To: dev
Cc: thomas, qi.z.zhang, fady, Narcisa.Vasile, dmitry.kozliuk,
ferruh.yigit, jingjing.wu, beilei.xing, ranjit.menon,
shivanshu.shukla, pallavi.kadam
- Enable IAVF PMD build on Windows
- Replace x86intrin.h with rte_vect.h to avoid __m_prefetchw conflicting
types
- Fix for pointer and integer sign warnings using Clang compiler on
Windows
- Add extra cflags '-fno-asynchronous-unwind-tables'
to avoid MinGW build error:
Error: invalid register for .seh_savexmm
Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
---
drivers/net/iavf/iavf.h | 3 ++-
drivers/net/iavf/iavf_rxtx_vec_avx2.c | 2 +-
drivers/net/iavf/iavf_rxtx_vec_avx512.c | 2 +-
drivers/net/iavf/iavf_tm.c | 2 +-
drivers/net/iavf/meson.build | 9 ++++-----
5 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/net/iavf/iavf.h b/drivers/net/iavf/iavf.h
index b3bd078111..55b20a80af 100644
--- a/drivers/net/iavf/iavf.h
+++ b/drivers/net/iavf/iavf.h
@@ -335,7 +335,8 @@ _clear_cmd(struct iavf_info *vf)
static inline int
_atomic_set_cmd(struct iavf_info *vf, enum virtchnl_ops ops)
{
- int ret = rte_atomic32_cmpset(&vf->pend_cmd, VIRTCHNL_OP_UNKNOWN, ops);
+ int ret = rte_atomic32_cmpset((volatile uint32_t *)&vf->pend_cmd,
+ VIRTCHNL_OP_UNKNOWN, ops);
if (!ret)
PMD_DRV_LOG(ERR, "There is incomplete cmd %d", vf->pend_cmd);
diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx2.c b/drivers/net/iavf/iavf_rxtx_vec_avx2.c
index 475070e036..96c05d9319 100644
--- a/drivers/net/iavf/iavf_rxtx_vec_avx2.c
+++ b/drivers/net/iavf/iavf_rxtx_vec_avx2.c
@@ -4,7 +4,7 @@
#include "iavf_rxtx_vec_common.h"
-#include <x86intrin.h>
+#include <rte_vect.h>
#ifndef __INTEL_COMPILER
#pragma GCC diagnostic ignored "-Wcast-qual"
diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx512.c b/drivers/net/iavf/iavf_rxtx_vec_avx512.c
index 571161c0cd..cb0b057b0f 100644
--- a/drivers/net/iavf/iavf_rxtx_vec_avx512.c
+++ b/drivers/net/iavf/iavf_rxtx_vec_avx512.c
@@ -4,7 +4,7 @@
#include "iavf_rxtx_vec_common.h"
-#include <x86intrin.h>
+#include <rte_vect.h>
#ifndef __INTEL_COMPILER
#pragma GCC diagnostic ignored "-Wcast-qual"
diff --git a/drivers/net/iavf/iavf_tm.c b/drivers/net/iavf/iavf_tm.c
index 3c80276ff3..8d92062c7f 100644
--- a/drivers/net/iavf/iavf_tm.c
+++ b/drivers/net/iavf/iavf_tm.c
@@ -321,7 +321,7 @@ iavf_tm_node_add(struct rte_eth_dev *dev, uint32_t node_id,
}
/* check level */
if (level_id != RTE_TM_NODE_LEVEL_ID_ANY &&
- level_id != parent_node_type + 1) {
+ level_id != (uint32_t)parent_node_type + 1) {
error->type = RTE_TM_ERROR_TYPE_NODE_PARAMS;
error->message = "Wrong level";
return -EINVAL;
diff --git a/drivers/net/iavf/meson.build b/drivers/net/iavf/meson.build
index f2010a8337..36a82e3faa 100644
--- a/drivers/net/iavf/meson.build
+++ b/drivers/net/iavf/meson.build
@@ -1,11 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
-if is_windows
- build = false
- reason = 'not supported on Windows'
- subdir_done()
-endif
cflags += ['-Wno-strict-aliasing']
@@ -25,6 +20,10 @@ sources = files(
if arch_subdir == 'x86'
sources += files('iavf_rxtx_vec_sse.c')
+ if is_windows and cc.get_id() != 'clang'
+ cflags += ['-fno-asynchronous-unwind-tables']
+ endif
+
# compile AVX2 version if either:
# a. we have AVX supported in minimum instruction set baseline
# b. it's not minimum instruction set, but supported by compiler
--
2.31.1.windows.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* [dpdk-dev] [PATCH v3 2/3] lib/net: fix support of random
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows Pallavi Kadam
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 1/3] net/iavf: build " Pallavi Kadam
@ 2021-09-09 23:23 ` Pallavi Kadam
2021-09-22 21:00 ` Shukla, Shivanshu
2021-09-30 16:46 ` Thomas Monjalon
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 3/3] doc: update iavf PMD and 21.11 release notes Pallavi Kadam
` (4 subsequent siblings)
6 siblings, 2 replies; 20+ messages in thread
From: Pallavi Kadam @ 2021-09-09 23:23 UTC (permalink / raw)
To: dev
Cc: thomas, qi.z.zhang, fady, Narcisa.Vasile, dmitry.kozliuk,
ferruh.yigit, jingjing.wu, beilei.xing, ranjit.menon,
shivanshu.shukla, pallavi.kadam
IAVF PMD needs to generate a random MAC address if it is not configured
by host.
'random' is now supported on Windows.
Fixes: 16f0d03098cb ("net: build on Windows")
Cc: fady@mellanox.com
Cc: stable@dpdk.org
Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
---
lib/net/rte_ether.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/lib/net/rte_ether.c b/lib/net/rte_ether.c
index 34605838b5..ced65ed9f3 100644
--- a/lib/net/rte_ether.c
+++ b/lib/net/rte_ether.c
@@ -10,16 +10,12 @@
void
rte_eth_random_addr(uint8_t *addr)
{
-#ifdef RTE_EXEC_ENV_WINDOWS /* FIXME: random is not supported */
- RTE_SET_USED(addr);
-#else
uint64_t rand = rte_rand();
uint8_t *p = (uint8_t *)&rand;
rte_memcpy(addr, p, RTE_ETHER_ADDR_LEN);
addr[0] &= (uint8_t)~RTE_ETHER_GROUP_ADDR; /* clear multicast bit */
addr[0] |= RTE_ETHER_LOCAL_ADMIN_ADDR; /* set local assignment bit */
-#endif
}
void
--
2.31.1.windows.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* [dpdk-dev] [PATCH v3 3/3] doc: update iavf PMD and 21.11 release notes
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows Pallavi Kadam
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 1/3] net/iavf: build " Pallavi Kadam
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 2/3] lib/net: fix support of random Pallavi Kadam
@ 2021-09-09 23:23 ` Pallavi Kadam
2021-09-22 21:01 ` Shukla, Shivanshu
` (2 more replies)
2021-09-22 20:56 ` [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows Shukla, Shivanshu
` (3 subsequent siblings)
6 siblings, 3 replies; 20+ messages in thread
From: Pallavi Kadam @ 2021-09-09 23:23 UTC (permalink / raw)
To: dev
Cc: thomas, qi.z.zhang, fady, Narcisa.Vasile, dmitry.kozliuk,
ferruh.yigit, jingjing.wu, beilei.xing, ranjit.menon,
shivanshu.shukla, pallavi.kadam
Add documentation to support iavf PMD on Windows.
Update the release notes for the same.
Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
---
doc/guides/nics/intel_vf.rst | 18 ++++++++++++++++++
doc/guides/rel_notes/release_21_11.rst | 4 ++++
2 files changed, 22 insertions(+)
diff --git a/doc/guides/nics/intel_vf.rst b/doc/guides/nics/intel_vf.rst
index fcea8151bf..20b89431a4 100644
--- a/doc/guides/nics/intel_vf.rst
+++ b/doc/guides/nics/intel_vf.rst
@@ -616,3 +616,21 @@ which belongs to the destination VF on the VM.
.. figure:: img/inter_vm_comms.*
Inter-VM Communication
+
+
+Windows Support
+---------------
+
+* IAVF PMD currently is supported only inside Windows guest created on Linux host.
+
+* Physical PCI resources are exposed as virtual functions into Windows VM using SR-IOV pass through feature.
+
+* Create a Windows guest on Linux host using KVM hypervisor. Refer to the steps mentioned in the above section "Setting Up a KVM Virtual Machine monitor"
+
+* In the Host machine, download and install the kernel Ethernet driver from:
+ `http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=14687 <http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=14687>`_
+
+* For Windows guest, install NetUIO driver in place of existing built-in(inbox) Virtual Function driver.
+
+* To load NetUIO driver, follow the steps mentioned in `dpdk-kmods repository
+ <https://git.dpdk.org/dpdk-kmods/tree/windows/netuio/README.rst>`_.
diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst
index 675b573834..f5ae66a0ef 100644
--- a/doc/guides/rel_notes/release_21_11.rst
+++ b/doc/guides/rel_notes/release_21_11.rst
@@ -62,6 +62,10 @@ New Features
* Added bus-level parsing of the devargs syntax.
* Kept compatibility with the legacy syntax as parsing fallback.
+* **Updated Intel iavf driver.**
+
+ * Added Intel iavf support on Windows.
+
Removed Items
-------------
--
2.31.1.windows.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows Pallavi Kadam
` (2 preceding siblings ...)
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 3/3] doc: update iavf PMD and 21.11 release notes Pallavi Kadam
@ 2021-09-22 20:56 ` Shukla, Shivanshu
2021-09-22 20:58 ` Shukla, Shivanshu
` (2 subsequent siblings)
6 siblings, 0 replies; 20+ messages in thread
From: Shukla, Shivanshu @ 2021-09-22 20:56 UTC (permalink / raw)
To: Pallavi Kadam, dev
Cc: thomas, qi.z.zhang, fady, Narcisa.Vasile, dmitry.kozliuk,
ferruh.yigit, jingjing.wu, beilei.xing, ranjit.menon
Ack-by: shivanshu.shukla@intel.com
On 9/9/2021 4:23 PM, Pallavi Kadam wrote:
> This patch-set enables building the iavf PMD on Windows.
> Currently, it uses alarm functions so, depends on following series.
>
> Depends-on: series-18447 ("net/iavf: enable interrupt polling")
>
> v3 changes:
> - Fix doc build warning
> v2 changes:
> - Rebase for 21.11
> - Fix for 'random'
>
> Pallavi Kadam (3):
> net/iavf: build on Windows
> lib/net: fix support of random
> doc: update iavf PMD and 21.11 release notes
>
> doc/guides/nics/intel_vf.rst | 18 ++++++++++++++++++
> doc/guides/rel_notes/release_21_11.rst | 4 ++++
> drivers/net/iavf/iavf.h | 3 ++-
> drivers/net/iavf/iavf_rxtx_vec_avx2.c | 2 +-
> drivers/net/iavf/iavf_rxtx_vec_avx512.c | 2 +-
> drivers/net/iavf/iavf_tm.c | 2 +-
> drivers/net/iavf/meson.build | 9 ++++-----
> lib/net/rte_ether.c | 4 ----
> 8 files changed, 31 insertions(+), 13 deletions(-)
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows Pallavi Kadam
` (3 preceding siblings ...)
2021-09-22 20:56 ` [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows Shukla, Shivanshu
@ 2021-09-22 20:58 ` Shukla, Shivanshu
2021-09-27 21:33 ` Shukla, Shivanshu
2021-09-30 20:15 ` Thomas Monjalon
6 siblings, 0 replies; 20+ messages in thread
From: Shukla, Shivanshu @ 2021-09-22 20:58 UTC (permalink / raw)
To: Kadam, Pallavi, dev
Cc: thomas, Zhang, Qi Z, fady, Narcisa.Vasile, dmitry.kozliuk, Yigit,
Ferruh, Wu, Jingjing, Xing, Beilei, Menon, Ranjit
Ack-by: Shivanshu Shukla <Shivanshu.shukla@intel.com>
-----Original Message-----
From: Kadam, Pallavi <pallavi.kadam@intel.com>
Sent: Thursday, September 9, 2021 4:23 PM
To: dev@dpdk.org
Cc: thomas@monjalon.net; Zhang, Qi Z <qi.z.zhang@intel.com>; fady@mellanox.com; Narcisa.Vasile@microsoft.com; dmitry.kozliuk@gmail.com; Yigit, Ferruh <ferruh.yigit@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Menon, Ranjit <ranjit.menon@intel.com>; Shukla, Shivanshu <shivanshu.shukla@intel.com>; Kadam, Pallavi <pallavi.kadam@intel.com>
Subject: [PATCH v3 0/3] Support iavf PMD on Windows
This patch-set enables building the iavf PMD on Windows.
Currently, it uses alarm functions so, depends on following series.
Depends-on: series-18447 ("net/iavf: enable interrupt polling")
v3 changes:
- Fix doc build warning
v2 changes:
- Rebase for 21.11
- Fix for 'random'
Pallavi Kadam (3):
net/iavf: build on Windows
lib/net: fix support of random
doc: update iavf PMD and 21.11 release notes
doc/guides/nics/intel_vf.rst | 18 ++++++++++++++++++
doc/guides/rel_notes/release_21_11.rst | 4 ++++
drivers/net/iavf/iavf.h | 3 ++-
drivers/net/iavf/iavf_rxtx_vec_avx2.c | 2 +-
drivers/net/iavf/iavf_rxtx_vec_avx512.c | 2 +-
drivers/net/iavf/iavf_tm.c | 2 +-
drivers/net/iavf/meson.build | 9 ++++-----
lib/net/rte_ether.c | 4 ----
8 files changed, 31 insertions(+), 13 deletions(-)
--
2.31.1.windows.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] [PATCH v3 1/3] net/iavf: build on Windows
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 1/3] net/iavf: build " Pallavi Kadam
@ 2021-09-22 20:58 ` Shukla, Shivanshu
0 siblings, 0 replies; 20+ messages in thread
From: Shukla, Shivanshu @ 2021-09-22 20:58 UTC (permalink / raw)
To: Kadam, Pallavi, dev
Cc: thomas, Zhang, Qi Z, fady, Narcisa.Vasile, dmitry.kozliuk, Yigit,
Ferruh, Wu, Jingjing, Xing, Beilei, Menon, Ranjit
Ack-by:Shivanshu Shukla <Shivanshu.shukla@intel.com>
-----Original Message-----
From: Kadam, Pallavi <pallavi.kadam@intel.com>
Sent: Thursday, September 9, 2021 4:23 PM
To: dev@dpdk.org
Cc: thomas@monjalon.net; Zhang, Qi Z <qi.z.zhang@intel.com>; fady@mellanox.com; Narcisa.Vasile@microsoft.com; dmitry.kozliuk@gmail.com; Yigit, Ferruh <ferruh.yigit@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Menon, Ranjit <ranjit.menon@intel.com>; Shukla, Shivanshu <shivanshu.shukla@intel.com>; Kadam, Pallavi <pallavi.kadam@intel.com>
Subject: [PATCH v3 1/3] net/iavf: build on Windows
- Enable IAVF PMD build on Windows
- Replace x86intrin.h with rte_vect.h to avoid __m_prefetchw conflicting
types
- Fix for pointer and integer sign warnings using Clang compiler on
Windows
- Add extra cflags '-fno-asynchronous-unwind-tables'
to avoid MinGW build error:
Error: invalid register for .seh_savexmm
Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
---
drivers/net/iavf/iavf.h | 3 ++-
drivers/net/iavf/iavf_rxtx_vec_avx2.c | 2 +-
drivers/net/iavf/iavf_rxtx_vec_avx512.c | 2 +-
drivers/net/iavf/iavf_tm.c | 2 +-
drivers/net/iavf/meson.build | 9 ++++-----
5 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/net/iavf/iavf.h b/drivers/net/iavf/iavf.h index b3bd078111..55b20a80af 100644
--- a/drivers/net/iavf/iavf.h
+++ b/drivers/net/iavf/iavf.h
@@ -335,7 +335,8 @@ _clear_cmd(struct iavf_info *vf) static inline int _atomic_set_cmd(struct iavf_info *vf, enum virtchnl_ops ops) {
- int ret = rte_atomic32_cmpset(&vf->pend_cmd, VIRTCHNL_OP_UNKNOWN, ops);
+ int ret = rte_atomic32_cmpset((volatile uint32_t *)&vf->pend_cmd,
+ VIRTCHNL_OP_UNKNOWN, ops);
if (!ret)
PMD_DRV_LOG(ERR, "There is incomplete cmd %d", vf->pend_cmd); diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx2.c b/drivers/net/iavf/iavf_rxtx_vec_avx2.c
index 475070e036..96c05d9319 100644
--- a/drivers/net/iavf/iavf_rxtx_vec_avx2.c
+++ b/drivers/net/iavf/iavf_rxtx_vec_avx2.c
@@ -4,7 +4,7 @@
#include "iavf_rxtx_vec_common.h"
-#include <x86intrin.h>
+#include <rte_vect.h>
#ifndef __INTEL_COMPILER
#pragma GCC diagnostic ignored "-Wcast-qual"
diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx512.c b/drivers/net/iavf/iavf_rxtx_vec_avx512.c
index 571161c0cd..cb0b057b0f 100644
--- a/drivers/net/iavf/iavf_rxtx_vec_avx512.c
+++ b/drivers/net/iavf/iavf_rxtx_vec_avx512.c
@@ -4,7 +4,7 @@
#include "iavf_rxtx_vec_common.h"
-#include <x86intrin.h>
+#include <rte_vect.h>
#ifndef __INTEL_COMPILER
#pragma GCC diagnostic ignored "-Wcast-qual"
diff --git a/drivers/net/iavf/iavf_tm.c b/drivers/net/iavf/iavf_tm.c index 3c80276ff3..8d92062c7f 100644
--- a/drivers/net/iavf/iavf_tm.c
+++ b/drivers/net/iavf/iavf_tm.c
@@ -321,7 +321,7 @@ iavf_tm_node_add(struct rte_eth_dev *dev, uint32_t node_id,
}
/* check level */
if (level_id != RTE_TM_NODE_LEVEL_ID_ANY &&
- level_id != parent_node_type + 1) {
+ level_id != (uint32_t)parent_node_type + 1) {
error->type = RTE_TM_ERROR_TYPE_NODE_PARAMS;
error->message = "Wrong level";
return -EINVAL;
diff --git a/drivers/net/iavf/meson.build b/drivers/net/iavf/meson.build index f2010a8337..36a82e3faa 100644
--- a/drivers/net/iavf/meson.build
+++ b/drivers/net/iavf/meson.build
@@ -1,11 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
-if is_windows
- build = false
- reason = 'not supported on Windows'
- subdir_done()
-endif
cflags += ['-Wno-strict-aliasing']
@@ -25,6 +20,10 @@ sources = files(
if arch_subdir == 'x86'
sources += files('iavf_rxtx_vec_sse.c')
+ if is_windows and cc.get_id() != 'clang'
+ cflags += ['-fno-asynchronous-unwind-tables']
+ endif
+
# compile AVX2 version if either:
# a. we have AVX supported in minimum instruction set baseline
# b. it's not minimum instruction set, but supported by compiler
--
2.31.1.windows.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] [PATCH v3 2/3] lib/net: fix support of random
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 2/3] lib/net: fix support of random Pallavi Kadam
@ 2021-09-22 21:00 ` Shukla, Shivanshu
2021-09-30 16:46 ` Thomas Monjalon
1 sibling, 0 replies; 20+ messages in thread
From: Shukla, Shivanshu @ 2021-09-22 21:00 UTC (permalink / raw)
To: Kadam, Pallavi, dev
Cc: thomas, Zhang, Qi Z, fady, Narcisa.Vasile, dmitry.kozliuk, Yigit,
Ferruh, Wu, Jingjing, Xing, Beilei, Menon, Ranjit
Ack-by: Shivanshu Shukla <shivanshu.shukla@intel.com>
-----Original Message-----
From: Kadam, Pallavi <pallavi.kadam@intel.com>
Sent: Thursday, September 9, 2021 4:23 PM
To: dev@dpdk.org
Cc: thomas@monjalon.net; Zhang, Qi Z <qi.z.zhang@intel.com>; fady@mellanox.com; Narcisa.Vasile@microsoft.com; dmitry.kozliuk@gmail.com; Yigit, Ferruh <ferruh.yigit@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Menon, Ranjit <ranjit.menon@intel.com>; Shukla, Shivanshu <shivanshu.shukla@intel.com>; Kadam, Pallavi <pallavi.kadam@intel.com>
Subject: [PATCH v3 2/3] lib/net: fix support of random
IAVF PMD needs to generate a random MAC address if it is not configured by host.
'random' is now supported on Windows.
Fixes: 16f0d03098cb ("net: build on Windows")
Cc: fady@mellanox.com
Cc: stable@dpdk.org
Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
---
lib/net/rte_ether.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/lib/net/rte_ether.c b/lib/net/rte_ether.c index 34605838b5..ced65ed9f3 100644
--- a/lib/net/rte_ether.c
+++ b/lib/net/rte_ether.c
@@ -10,16 +10,12 @@
void
rte_eth_random_addr(uint8_t *addr)
{
-#ifdef RTE_EXEC_ENV_WINDOWS /* FIXME: random is not supported */
- RTE_SET_USED(addr);
-#else
uint64_t rand = rte_rand();
uint8_t *p = (uint8_t *)&rand;
rte_memcpy(addr, p, RTE_ETHER_ADDR_LEN);
addr[0] &= (uint8_t)~RTE_ETHER_GROUP_ADDR; /* clear multicast bit */
addr[0] |= RTE_ETHER_LOCAL_ADMIN_ADDR; /* set local assignment bit */
-#endif
}
void
--
2.31.1.windows.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] [PATCH v3 3/3] doc: update iavf PMD and 21.11 release notes
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 3/3] doc: update iavf PMD and 21.11 release notes Pallavi Kadam
@ 2021-09-22 21:01 ` Shukla, Shivanshu
2021-09-30 16:49 ` Thomas Monjalon
2021-09-30 19:07 ` Thomas Monjalon
2 siblings, 0 replies; 20+ messages in thread
From: Shukla, Shivanshu @ 2021-09-22 21:01 UTC (permalink / raw)
To: Kadam, Pallavi, dev
Cc: thomas, Zhang, Qi Z, fady, Narcisa.Vasile, dmitry.kozliuk, Yigit,
Ferruh, Wu, Jingjing, Xing, Beilei, Menon, Ranjit
-----Original Message-----
From: Kadam, Pallavi <pallavi.kadam@intel.com>
Sent: Thursday, September 9, 2021 4:23 PM
To: dev@dpdk.org
Cc: thomas@monjalon.net; Zhang, Qi Z <qi.z.zhang@intel.com>; fady@mellanox.com; Narcisa.Vasile@microsoft.com; dmitry.kozliuk@gmail.com; Yigit, Ferruh <ferruh.yigit@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Menon, Ranjit <ranjit.menon@intel.com>; Shukla, Shivanshu <shivanshu.shukla@intel.com>; Kadam, Pallavi <pallavi.kadam@intel.com>
Subject: [PATCH v3 3/3] doc: update iavf PMD and 21.11 release notes
Add documentation to support iavf PMD on Windows.
Update the release notes for the same.
Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
Ack-by: Shivanshu Shukla <shivanshu.shukla@intel.com>
---
doc/guides/nics/intel_vf.rst | 18 ++++++++++++++++++
doc/guides/rel_notes/release_21_11.rst | 4 ++++
2 files changed, 22 insertions(+)
diff --git a/doc/guides/nics/intel_vf.rst b/doc/guides/nics/intel_vf.rst index fcea8151bf..20b89431a4 100644
--- a/doc/guides/nics/intel_vf.rst
+++ b/doc/guides/nics/intel_vf.rst
@@ -616,3 +616,21 @@ which belongs to the destination VF on the VM.
.. figure:: img/inter_vm_comms.*
Inter-VM Communication
+
+
+Windows Support
+---------------
+
+* IAVF PMD currently is supported only inside Windows guest created on Linux host.
+
+* Physical PCI resources are exposed as virtual functions into Windows VM using SR-IOV pass through feature.
+
+* Create a Windows guest on Linux host using KVM hypervisor. Refer to the steps mentioned in the above section "Setting Up a KVM Virtual Machine monitor"
+
+* In the Host machine, download and install the kernel Ethernet driver from:
+
+`http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=146
+87
+<http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=146
+87>`_
+
+* For Windows guest, install NetUIO driver in place of existing built-in(inbox) Virtual Function driver.
+
+* To load NetUIO driver, follow the steps mentioned in `dpdk-kmods repository
+ <https://git.dpdk.org/dpdk-kmods/tree/windows/netuio/README.rst>`_.
diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst
index 675b573834..f5ae66a0ef 100644
--- a/doc/guides/rel_notes/release_21_11.rst
+++ b/doc/guides/rel_notes/release_21_11.rst
@@ -62,6 +62,10 @@ New Features
* Added bus-level parsing of the devargs syntax.
* Kept compatibility with the legacy syntax as parsing fallback.
+* **Updated Intel iavf driver.**
+
+ * Added Intel iavf support on Windows.
+
Removed Items
-------------
--
2.31.1.windows.1
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows Pallavi Kadam
` (4 preceding siblings ...)
2021-09-22 20:58 ` Shukla, Shivanshu
@ 2021-09-27 21:33 ` Shukla, Shivanshu
2021-09-30 20:15 ` Thomas Monjalon
6 siblings, 0 replies; 20+ messages in thread
From: Shukla, Shivanshu @ 2021-09-27 21:33 UTC (permalink / raw)
To: Kadam, Pallavi, dev
Cc: thomas, Zhang, Qi Z, fady, Narcisa.Vasile, dmitry.kozliuk, Yigit,
Ferruh, Wu, Jingjing, Xing, Beilei, Menon, Ranjit
On 9/9/2021 4:23 PM, Kadam, Pallavi wrote:
> This patch-set enables building the iavf PMD on Windows.
> Currently, it uses alarm functions so, depends on following series.
>
> Depends-on: series-18447 ("net/iavf: enable interrupt polling")
>
> v3 changes:
> - Fix doc build warning
> v2 changes:
> - Rebase for 21.11
> - Fix for 'random'
>
> Pallavi Kadam (3):
> net/iavf: build on Windows
> lib/net: fix support of random
> doc: update iavf PMD and 21.11 release notes
>
> doc/guides/nics/intel_vf.rst | 18 ++++++++++++++++++
> doc/guides/rel_notes/release_21_11.rst | 4 ++++
> drivers/net/iavf/iavf.h | 3 ++-
> drivers/net/iavf/iavf_rxtx_vec_avx2.c | 2 +-
> drivers/net/iavf/iavf_rxtx_vec_avx512.c | 2 +-
> drivers/net/iavf/iavf_tm.c | 2 +-
> drivers/net/iavf/meson.build | 9 ++++-----
> lib/net/rte_ether.c | 4 ----
> 8 files changed, 31 insertions(+), 13 deletions(-)
>
> --
Acked-by: Shivanshu Shukla <shivanshu.shukla@intel.com>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] [PATCH v3 2/3] lib/net: fix support of random
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 2/3] lib/net: fix support of random Pallavi Kadam
2021-09-22 21:00 ` Shukla, Shivanshu
@ 2021-09-30 16:46 ` Thomas Monjalon
2021-09-30 22:36 ` Kadam, Pallavi
1 sibling, 1 reply; 20+ messages in thread
From: Thomas Monjalon @ 2021-09-30 16:46 UTC (permalink / raw)
To: Pallavi Kadam
Cc: dev, qi.z.zhang, fady, Narcisa.Vasile, dmitry.kozliuk,
ferruh.yigit, jingjing.wu, beilei.xing, ranjit.menon,
shivanshu.shukla
10/09/2021 01:23, Pallavi Kadam:
> IAVF PMD needs to generate a random MAC address if it is not configured
> by host.
> 'random' is now supported on Windows.
This patch can be the first of this series
to respect the dependency order.
> Fixes: 16f0d03098cb ("net: build on Windows")
> Cc: fady@mellanox.com
> Cc: stable@dpdk.org
This commit log does not explain why it was disabled before,
and what makes it possible now, but for sure,
there is no need to backport.
I will remove above lines.
> Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
> Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
> ---
> rte_eth_random_addr(uint8_t *addr)
> {
> -#ifdef RTE_EXEC_ENV_WINDOWS /* FIXME: random is not supported */
> - RTE_SET_USED(addr);
> -#else
> uint64_t rand = rte_rand();
> uint8_t *p = (uint8_t *)&rand;
>
> rte_memcpy(addr, p, RTE_ETHER_ADDR_LEN);
> addr[0] &= (uint8_t)~RTE_ETHER_GROUP_ADDR; /* clear multicast bit */
> addr[0] |= RTE_ETHER_LOCAL_ADMIN_ADDR; /* set local assignment bit */
> -#endif
> }
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] [PATCH v3 3/3] doc: update iavf PMD and 21.11 release notes
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 3/3] doc: update iavf PMD and 21.11 release notes Pallavi Kadam
2021-09-22 21:01 ` Shukla, Shivanshu
@ 2021-09-30 16:49 ` Thomas Monjalon
2021-09-30 19:07 ` Thomas Monjalon
2 siblings, 0 replies; 20+ messages in thread
From: Thomas Monjalon @ 2021-09-30 16:49 UTC (permalink / raw)
To: Pallavi Kadam
Cc: dev, qi.z.zhang, fady, Narcisa.Vasile, dmitry.kozliuk,
ferruh.yigit, jingjing.wu, beilei.xing, ranjit.menon,
shivanshu.shukla
10/09/2021 01:23, Pallavi Kadam:
> Add documentation to support iavf PMD on Windows.
> Update the release notes for the same.
>
> Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
> Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
> ---
> doc/guides/nics/intel_vf.rst | 18 ++++++++++++++++++
> doc/guides/rel_notes/release_21_11.rst | 4 ++++
> 2 files changed, 22 insertions(+)
It should be squashed with the patch enabling IAVF on Windows.
In general, doc should not be updated separately.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] [PATCH v3 3/3] doc: update iavf PMD and 21.11 release notes
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 3/3] doc: update iavf PMD and 21.11 release notes Pallavi Kadam
2021-09-22 21:01 ` Shukla, Shivanshu
2021-09-30 16:49 ` Thomas Monjalon
@ 2021-09-30 19:07 ` Thomas Monjalon
2 siblings, 0 replies; 20+ messages in thread
From: Thomas Monjalon @ 2021-09-30 19:07 UTC (permalink / raw)
To: Pallavi Kadam
Cc: dev, qi.z.zhang, fady, Narcisa.Vasile, dmitry.kozliuk,
ferruh.yigit, jingjing.wu, beilei.xing, ranjit.menon,
shivanshu.shukla
10/09/2021 01:23, Pallavi Kadam:
> Add documentation to support iavf PMD on Windows.
> Update the release notes for the same.
>
> Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
> Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
> ---
> --- a/doc/guides/nics/intel_vf.rst
> +++ b/doc/guides/nics/intel_vf.rst
> +Windows Support
> +---------------
> +
> +* IAVF PMD currently is supported only inside Windows guest created on Linux host.
> +
> +* Physical PCI resources are exposed as virtual functions into Windows VM using SR-IOV pass through feature.
> +
> +* Create a Windows guest on Linux host using KVM hypervisor. Refer to the steps mentioned in the above section "Setting Up a KVM Virtual Machine monitor"
It should be an internal hyperlink.
> +
> +* In the Host machine, download and install the kernel Ethernet driver from:
> + `http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=14687 <http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=14687>`_
No need to print the full URL as hyperlink.
> +
> +* For Windows guest, install NetUIO driver in place of existing built-in(inbox) Virtual Function driver.
> +
> +* To load NetUIO driver, follow the steps mentioned in `dpdk-kmods repository
> + <https://git.dpdk.org/dpdk-kmods/tree/windows/netuio/README.rst>`_.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows Pallavi Kadam
` (5 preceding siblings ...)
2021-09-27 21:33 ` Shukla, Shivanshu
@ 2021-09-30 20:15 ` Thomas Monjalon
6 siblings, 0 replies; 20+ messages in thread
From: Thomas Monjalon @ 2021-09-30 20:15 UTC (permalink / raw)
To: Pallavi Kadam
Cc: dev, qi.z.zhang, fady, Narcisa.Vasile, dmitry.kozliuk,
ferruh.yigit, jingjing.wu, beilei.xing, ranjit.menon,
shivanshu.shukla
> Pallavi Kadam (3):
> net/iavf: build on Windows
> lib/net: fix support of random
> doc: update iavf PMD and 21.11 release notes
Applied with improvements and intel.com links fixed.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [dpdk-dev] [PATCH v3 2/3] lib/net: fix support of random
2021-09-30 16:46 ` Thomas Monjalon
@ 2021-09-30 22:36 ` Kadam, Pallavi
0 siblings, 0 replies; 20+ messages in thread
From: Kadam, Pallavi @ 2021-09-30 22:36 UTC (permalink / raw)
To: Thomas Monjalon
Cc: dev, qi.z.zhang, fady, Narcisa.Vasile, dmitry.kozliuk,
ferruh.yigit, jingjing.wu, beilei.xing, ranjit.menon,
shivanshu.shukla
On 9/30/2021 9:46 AM, Thomas Monjalon wrote:
> 10/09/2021 01:23, Pallavi Kadam:
>> IAVF PMD needs to generate a random MAC address if it is not configured
>> by host.
>> 'random' is now supported on Windows.
> This patch can be the first of this series
> to respect the dependency order.
>
>> Fixes: 16f0d03098cb ("net: build on Windows")
>> Cc: fady@mellanox.com
>> Cc: stable@dpdk.org
> This commit log does not explain why it was disabled before,
> and what makes it possible now, but for sure,
At the time rte_rand was not exported to Windows.
We were adding the files to eal/common as and when required in the
Windows build.
So, rte_random.c was added in 21.02 release after Fady's patch was
already merged.
> there is no need to backport.
ok
> I will remove above lines.
Thank you!
>
>> Signed-off-by: Pallavi Kadam <pallavi.kadam@intel.com>
>> Reviewed-by: Ranjit Menon <ranjit.menon@intel.com>
>> ---
>> rte_eth_random_addr(uint8_t *addr)
>> {
>> -#ifdef RTE_EXEC_ENV_WINDOWS /* FIXME: random is not supported */
>> - RTE_SET_USED(addr);
>> -#else
>> uint64_t rand = rte_rand();
>> uint8_t *p = (uint8_t *)&rand;
>>
>> rte_memcpy(addr, p, RTE_ETHER_ADDR_LEN);
>> addr[0] &= (uint8_t)~RTE_ETHER_GROUP_ADDR; /* clear multicast bit */
>> addr[0] |= RTE_ETHER_LOCAL_ADMIN_ADDR; /* set local assignment bit */
>> -#endif
>> }
>
>
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2021-09-30 22:36 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-28 23:08 [dpdk-dev] [PATCH] net/iavf: enable on Windows Pallavi Kadam
2021-09-09 20:05 ` [dpdk-dev] [PATCH v2 0/3] Support iavf PMD " Pallavi Kadam
2021-09-09 20:05 ` [dpdk-dev] [PATCH v2 1/3] net/iavf: build " Pallavi Kadam
2021-09-09 20:05 ` [dpdk-dev] [PATCH v2 2/3] lib/net: fix support of random Pallavi Kadam
2021-09-09 20:05 ` [dpdk-dev] [PATCH v2 3/3] doc: update iavf PMD and 21.11 release notes Pallavi Kadam
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows Pallavi Kadam
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 1/3] net/iavf: build " Pallavi Kadam
2021-09-22 20:58 ` Shukla, Shivanshu
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 2/3] lib/net: fix support of random Pallavi Kadam
2021-09-22 21:00 ` Shukla, Shivanshu
2021-09-30 16:46 ` Thomas Monjalon
2021-09-30 22:36 ` Kadam, Pallavi
2021-09-09 23:23 ` [dpdk-dev] [PATCH v3 3/3] doc: update iavf PMD and 21.11 release notes Pallavi Kadam
2021-09-22 21:01 ` Shukla, Shivanshu
2021-09-30 16:49 ` Thomas Monjalon
2021-09-30 19:07 ` Thomas Monjalon
2021-09-22 20:56 ` [dpdk-dev] [PATCH v3 0/3] Support iavf PMD on Windows Shukla, Shivanshu
2021-09-22 20:58 ` Shukla, Shivanshu
2021-09-27 21:33 ` Shukla, Shivanshu
2021-09-30 20:15 ` Thomas Monjalon
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).