From: Ophir Munk
GENEVE is a widely used tunneling protocol in modern Virtualized
Networks. testpmd already supports parsing of several tunneling
protocols including VXLAN, VXLAN-GPE, GRE. This commit adds GENEVE
parsing of inner protocols (IPv4-0x0800, IPv6-0x86dd, Ethernet-0x6558)
based on
From: Ophir Munk
This is a cleanup commit.
It assembles all tunnel outer updates into one function call to avoid
code duplications.
It defines RTE_VXLAN_GPE_DEFAULT_PORT (4790) in accordance with all
other tunnel protocol definitions.
It replaces all numeric values 4789 in their corresponding
owing reviews: more cleanup and added documentation.
v7:
Updates following reviews: rename geneve-port as geneve-parsed-port + added
documentation.
Ophir Munk (3):
app/testpmd: add GENEVE parsing
app/testpmd: enable configuring GENEVE port
app/testpmd: tunnel parsing protocols cleanup
From: Ophir Munk
IANA has assigned port 6081 as the fixed well-known destination port for
GENEVE. Nevertheless draft-ietf-nvo3-geneve-09 recommends that
implementations make this configurable. This commit enables specifying
any positive UDP destination port number for GENEVE protocol parsing
From: Ophir Munk
strsep() is a non-standardized API (by C or POSIX) and thus it is
non-portable between different operating systems. Replace it with
strtok_r() which is standardized by the C standard, and hence also by
POSIX.
The replacement occurs in the code that extracts individual PCI class
From: Ophir Munk
mlx5_get_ifname() prototype includes 'IF_NAMESIZE' definition from Linux
file net/if.h. Since this API is only used under Linux and to enable
compilation under non-Linux OS - move this prototype from shared file
mlx5.h to file linux/mlx5_os.h.
Signed-off-by: Ophir M
From: Ophir Munk
Replace Linux specific int types with their corresponding rte typedefs.
__be16 ==> rte_be16_t
__be32 ==> rte_be32_t
__be64 ==> rte_be64_t
Signed-off-by: Ophir Munk
Acked-by: Matan Azrad
---
drivers/common/mlx5/mlx5_prm.h | 14 +++---
1 file changed, 7 i
From: Ophir Munk
Remove unused Linux included files:
, from file net/mlx5/mlx5_mac.c
from file net/mlx5/mlx5.c
Fixes: 771fa900b73a ("mlx5: introduce new driver for Mellanox ConnectX-4
adapters")
Cc: sta...@dpdk.org
Signed-off-by: Ophir Munk
Acked-by: Matan Azrad
---
driver
From: Ophir Munk
This commit adds Linux implementation of routine mlx5_os_mac_addr_flush
as wrapper to Netlink API to avoid direct calls under non-Linux
operating systems.
Signed-off-by: Ophir Munk
Acked-by: Matan Azrad
---
drivers/net/mlx5/linux/mlx5_os.c | 18 ++
drivers
From: Ophir Munk
Enumerated variable REG_NONE (defined in mlx5_prm.h) is in conflict with
Windows definition (winnt.h): #define REG_NONE ( 0ul ) // No value type
To enable mlx5 PMD Windows compilation - rename REG_NONE as REG_NON.
Signed-off-by: Ophir Munk
Acked-by: Matan Azrad
---
drivers
From: Ophir Munk
Replace pointers to ibv structs with pointers to void (file
mlx5_rxtx.h). Specifically the following pointers were replaced:
'struct ibv_cq *', 'struct ibv_wq *', 'struct ibv_comp_channel *',
'struct ibv_rwq_ind_table *a', 'struct ib
From: Ophir Munk
Remove utility macros INFO, WARN, ERROR. They are not in use and
conflict with identical definitions when compiled under Windows.
Fixes: 80f2d0ed7ff9 ("net/mlx5: add hardware flow debug dump")
Cc: sta...@dpdk.org
Signed-off-by: Ophir Munk
Acked-by: Matan Azrad
--
From: Ophir Munk
File mlx5_vlan.c contains Netlink APIs (Linux dependent) as part of VM
workaround implementation. Move this implementation to file
linux/mlx5_vlan_os.c. To remove Netlink dependency in header files
change pointer of type 'struct mlx5_nl_vlan_vmwa_context *' to 'v
From: Ophir Munk
Some Windows distributions do not include ICMP protocol definitions
IPPROTO_ICMP and IPPROTO_ICMPV6. This commit defines them if needed.
Signed-off-by: Ophir Munk
Acked-by: Matan Azrad
---
drivers/net/mlx5/mlx5_flow.c | 7 +++
1 file changed, 7 insertions(+)
diff --git
From: Ophir Munk
Flow metering is supported only in direct rules (DR). Currently the APIs
of meter actions create and modify are under #ifdef
HAVE_MLX5_DR_CREATE_ACTION_FLOW_METER, while detaching the meter action
is executed unconditionally. This commit adds the same ifdef to API
From: Ophir Munk
Several DV-based structs of type 'struct mlx5dv_devx_XXX' are replaced
with 'void *' to enable compilation under non-Linux operating systems.
New getter functions were added to retrieve the specific fields that
were previously accessed directly.
Repla
From: Ophir Munk
When updating a queue vlan stripping offload - either the WQ is modified
in Verbs or the RQ is modified in DevX. Add a vlan stripping modify
callback to 'struct mlx5_obj_ops' and assign it with the specic Verbs
and DevX implementations: 'rxq_obj_modify_wq_
commit avoids compilation failure of non-Linux operating systems
which do not support DR.
Signed-off-by: Ophir Munk
Acked-by: Matan Azrad
---
drivers/net/mlx5/mlx5_flow_meter.c | 4
1 file changed, 4 insertions(+)
diff --git a/drivers/net/mlx5/mlx5_flow_meter.c
b/drivers/net/mlx5
ruct mlx5dv_pp *'
'struct mlx5dv_devx_event_channel *'
'struct mlx5dv_devx_umem *'
'struct mlx5dv_devx_uar *'
Signed-off-by: Ophir Munk
Acked-by: Matan Azrad
---
drivers/common/mlx5/linux/mlx5_common_os.h | 91 ++
drivers/net/mlx5/m
vlan_strip' and
'rxq_obj_modify_rq_vlan_strip' respectively.
Signed-off-by: Ophir Munk
Acked-by: Matan Azrad
---
drivers/net/mlx5/linux/mlx5_verbs.c | 28 ++
drivers/net/mlx5/mlx5.h | 6 +
drivers/net/mlx5/mlx5_devx.c| 48 +
From: Ophir Munk
This commit adds Linux implementation of routine mlx5_os_mac_addr_flush
as wrapper to Netlink API to avoid direct calls under non-Linux
operating systems.
Signed-off-by: Ophir Munk
Acked-by: Matan Azrad
---
drivers/net/mlx5/linux/mlx5_os.c | 18 ++
drivers
From: Ophir Munk
Replace Linux specific int types with their corresponding rte typedefs.
__be16 ==> rte_be16_t
__be32 ==> rte_be32_t
__be64 ==> rte_be64_t
Signed-off-by: Ophir Munk
Acked-by: Matan Azrad
---
drivers/common/mlx5/mlx5_prm.h | 14 +++---
1 file changed, 7 i
From: Ophir Munk
Enumerated variable REG_NONE (defined in mlx5_prm.h) is in conflict with
Windows definition (winnt.h): #define REG_NONE ( 0ul ) // No value type
To enable mlx5 PMD Windows compilation - rename REG_NONE as REG_NON.
Signed-off-by: Ophir Munk
Acked-by: Matan Azrad
---
drivers
This patch series is part of preparing mlx5 PMD to compile and run under
multiple OSs. Part #4
v1: initial version
v2: checkpatch fixes
Ophir Munk (13):
common/mlx5: replace strsep with strtok_r
common/mlx5: replace Linux __bexx types with rte
net/mlx5: rename mlx5 enumeration REG_NONE
From: Ophir Munk
Remove unused Linux included files:
, from file net/mlx5/mlx5_mac.c
from file net/mlx5/mlx5.c
Fixes: 771fa900b73a ("mlx5: introduce new driver for Mellanox ConnectX-4
adapters")
Cc: sta...@dpdk.org
Signed-off-by: Ophir Munk
Acked-by: Matan Azrad
---
driver
From: Ophir Munk
mlx5_get_ifname() prototype includes 'IF_NAMESIZE' definition from Linux
file net/if.h. Since this API is only used under Linux and to enable
compilation under non-Linux OS - move this prototype from shared file
mlx5.h to file linux/mlx5_os.h.
Signed-off-by: Ophir M
From: Ophir Munk
strsep() is a non-standardized API (by C or POSIX) and thus it is
non-portable between different operating systems. Replace it with
strtok_r() which is standardized by the C standard, and hence also by
POSIX.
The replacement occurs in the code that extracts individual PCI class
From: Ophir Munk
Some Windows distributions do not include ICMP protocol definitions
IPPROTO_ICMP and IPPROTO_ICMPV6. This commit defines them if needed.
Signed-off-by: Ophir Munk
Acked-by: Matan Azrad
---
drivers/net/mlx5/mlx5_flow.c | 7 +++
1 file changed, 7 insertions(+)
diff --git
From: Ophir Munk
Flow metering is supported only in direct rules (DR). Currently the APIs
of meter actions create and modify are under #ifdef
HAVE_MLX5_DR_CREATE_ACTION_FLOW_METER, while detaching the meter action
is executed unconditionally. This commit adds the same ifdef to API
From: Ophir Munk
Remove utility macros INFO, WARN, ERROR. They are not in use and
conflict with identical definitions when compiled under Windows.
Fixes: 80f2d0ed7ff9 ("net/mlx5: add hardware flow debug dump")
Cc: sta...@dpdk.org
Signed-off-by: Ophir Munk
Acked-by: Matan Azrad
--
From: Ophir Munk
Several DV-based structs of type 'struct mlx5dv_devx_XXX' are replaced
with 'void *' to enable compilation under non-Linux operating systems.
New getter functions were added to retrieve the specific fields that
were previously accessed directly.
Repla
From: Ophir Munk
When updating a queue vlan stripping offload - either the WQ is modified
in Verbs or the RQ is modified in DevX. Add a vlan stripping modify
callback to 'struct mlx5_obj_ops' and assign it with the specific Verbs
and DevX implementations: 'rxq_obj_modify_wq_
From: Ophir Munk
File mlx5_vlan.c contains Netlink APIs (Linux dependent) as part of VM
workaround implementation. Move this implementation to file
linux/mlx5_vlan_os.c. To remove Netlink dependency in header files
change pointer of type 'struct mlx5_nl_vlan_vmwa_context *' to 'v
From: Ophir Munk
Replace pointers to ibv structs with pointers to void (file
mlx5_rxtx.h). Specifically the following pointers were replaced:
'struct ibv_cq *', 'struct ibv_wq *', 'struct ibv_comp_channel *',
'struct ibv_rwq_ind_table *a', 'struct ib
From: Ophir Munk
This is a cleanup commit. It assembles all tunnel outer updates into one
function call to avoid code duplications.
It defines RTE_VXLAN_GPE_DEFAULT_PORT (4790) in accordance with all
other tunnel protocol definitions.
Signed-off-by: Ophir Munk
---
app/test-pmd/csumonly.c
From: Ophir Munk
IANA has assigned port 6081 as the fixed well-known destination port for
GENEVE. Nevertheless draft-ietf-nvo3-geneve-09 recommends that
implementations make this configurable. This commit enables specifying
any positive UDP destination port number for GENEVE.
Signed-off-by
This patchset adds GENEVE parsing of inner protocols (IPv4-0x0800, IPv6-0x86dd,
Ethernet-0x6558) based on IETF draft-ietf-nvo3-geneve-09.
v1:
Initial version
v2:
Rebased + Minor update in protocol options field:
char opts[0] ===> uint8_t opts[]
Ophir Munk (3):
app/testpmd: add GENEVE pars
From: Ophir Munk
GENEVE is a widely used tunneling protocol in modern Virtualized
Networks. testpmd already supports parsing of several tunneling
protocols including VXLAN, VXLAN-GPE, GRE. This commit adds GENEVE
parsing of inner protocols (IPv4-0x0800, IPv6-0x86dd, Ethernet-0x6558)
based on
Hello Wenzhou, Beilei, Bernard,
I saw no comments regarding v1 or v2 of this patch set.
Please let me know if you have any question. Otherwise - can it be merged?
Regards,
Ophir
> -Original Message-
> From: Ophir Munk
> Sent: Thursday, August 27, 2020 10:03 AM
> To:
Please add IPPROTO_ICMP and IPPROTO_ICMPV6 definitions:
#define IPPROTO_IP 0
+#define IPPROTO_ICMP 1 /* Internet Ctrl Message Protocol */
#define IPPROTO_HOPOPTS 0
@@ -17,6 +18,7 @@
#define IPPROTO_AH 51 /* IP6 Auth Header */
+#define IPPROTO_ICMPV6 58 /* Interne
("common/mlx5: add memory management functions")
Cc: sta...@dpdk.org
Signed-off-by: Ophir Munk
Acked-by: Matan Azrad
---
drivers/common/mlx5/mlx5_malloc.c | 13 +
drivers/common/mlx5/mlx5_malloc.h | 8
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/driv
ber 14, 2020 8:31 PM
> To: Ophir Munk ; dev@dpdk.org; Wenzhuo Lu
> ; Beilei Xing ; Bernard
> Iremonger
> Cc: Ophir Munk
> Subject: Re: [dpdk-dev] [PATCH v2 2/3] app/testpmd: enable configuring
> GENEVE port
>
> On 8/27/2020 8:02 AM, Ophir Munk wrote:
> > From: Ophir
From: Ophir Munk
This is a cleanup commit. It assembles all tunnel outer updates into one
function call to avoid code duplications.
It defines RTE_VXLAN_GPE_DEFAULT_PORT (4790) in accordance with all
other tunnel protocol definitions.
Signed-off-by: Ophir Munk
---
app/test-pmd/csumonly.c
From: Ophir Munk
IANA has assigned port 6081 as the fixed well-known destination port for
GENEVE. Nevertheless draft-ietf-nvo3-geneve-09 recommends that
implementations make this configurable. This commit enables specifying
any positive UDP destination port number for GENEVE.
Signed-off-by
From: Ophir Munk
GENEVE is a widely used tunneling protocol in modern Virtualized
Networks. testpmd already supports parsing of several tunneling
protocols including VXLAN, VXLAN-GPE, GRE. This commit adds GENEVE
parsing of inner protocols (IPv4-0x0800, IPv6-0x86dd, Ethernet-0x6558)
based on
v1:
Initial version
v2:
Rebased + Minor update in protocol options field:
char opts[0] ===> uint8_t opts[]
v3:
Rebase
document "geneve-port=N" parameter
Ophir Munk (3):
app/testpmd: add GENEVE parsing
app/testpmd: enable configuring GENEVE port
app/testpmd: reduce tunnel
Hi Ferruh,
I added to documentation the new parameter "--geneve-port=N" (second patch in
the series).
I also rebased the series and sent v3.
Regards,
Ophir
> -Original Message-
> From: Ferruh Yigit
> > I don't think that having the flexibility to specify the Geneve protocol in
> > the
From: Ophir Munk
This is a cleanup commit. It assembles all tunnel outer updates into one
function call to avoid code duplications.
It defines RTE_VXLAN_GPE_DEFAULT_PORT (4790) in accordance with all
other tunnel protocol definitions.
Signed-off-by: Ophir Munk
---
app/test-pmd/csumonly.c
v1:
Initial version
v2:
Rebased + Minor update in protocol options field:
char opts[0] ===> uint8_t opts[]
v3:
Rebase
document "geneve-port=N" parameter
v4:
Mispelling corrections
Ophir Munk (3):
app/testpmd: add GENEVE parsing
app/testpmd: enable configuring GENEVE port
app/te
From: Ophir Munk
GENEVE is a widely used tunneling protocol in modern Virtualized
Networks. testpmd already supports parsing of several tunneling
protocols including VXLAN, VXLAN-GPE, GRE. This commit adds GENEVE
parsing of inner protocols (IPv4-0x0800, IPv6-0x86dd, Ethernet-0x6558)
based on
From: Ophir Munk
IANA has assigned port 6081 as the fixed well-known destination port for
GENEVE. Nevertheless draft-ietf-nvo3-geneve-09 recommends that
implementations make this configurable. This commit enables specifying
any positive UDP destination port number for GENEVE.
Signed-off-by
Hi,
V4 sent with misspelling corrections.
Regards,
Ophir
> -Original Message-
> From: Ophir Munk
> Sent: Tuesday, September 15, 2020 3:59 PM
> To: Ferruh Yigit ; dev@dpdk.org; Wenzhuo Lu
> ; Beilei Xing ; Bernard
> Iremonger
> Cc: Ophir Munk ; Raslan Darawsheh
&g
Adding Olivier who is the maintainer of the Network headers
(lib/librte_net/rte_geneve.h).
> -Original Message-
> From: Ophir Munk
> Sent: Tuesday, September 15, 2020 4:17 PM
> To: dev@dpdk.org; Wenzhuo Lu ; Beilei Xing
> ; Bernard Iremonger
> ; Ferruh Yigit
> C
From: Ophir Munk
GENEVE is a widely used tunneling protocol in modern Virtualized
Networks. testpmd already supports parsing of several tunneling
protocols including VXLAN, VXLAN-GPE, GRE. This commit adds GENEVE
parsing of inner protocols (IPv4-0x0800, IPv6-0x86dd, Ethernet-0x6558)
based on
From: Ophir Munk
This is a cleanup commit. It assembles all tunnel outer updates into one
function call to avoid code duplications.
It defines RTE_VXLAN_GPE_DEFAULT_PORT (4790) in accordance with all
other tunnel protocol definitions.
Signed-off-by: Ophir Munk
---
app/test-pmd/csumonly.c
v1:
Initial version
v2:
Rebased + Minor update in protocol options field:
char opts[0] ===> uint8_t opts[]
v3:
Rebase
document "geneve-port=N" parameter
v4:
Mispelling corrections
v5:
Rebase + Updates following review
http://patches.dpdk.org/patch/77734/
Ophir Munk (3):
app/testpm
From: Ophir Munk
IANA has assigned port 6081 as the fixed well-known destination port for
GENEVE. Nevertheless draft-ietf-nvo3-geneve-09 recommends that
implementations make this configurable. This commit enables specifying
any positive UDP destination port number for GENEVE.
Signed-off-by
Hi Olivier,
Please find comments inline.
I sent v5 based on your review.
http://patches.dpdk.org/project/dpdk/list/?series=12354
> -Original Message-
> From: Olivier Matz
> Sent: Thursday, September 17, 2020 3:23 PM
> To: Ophir Munk
> Cc: dev@dpdk.org; Wenzhuo L
V1: initial version
V2: rebase + determine unified fdb based on FW capability
Bing Zhao (1):
net/mlx5: remove unneeded FDB flag on representor action
Ophir Munk (3):
common/mlx5: support FDB unified capability query
net/mlx5: support FDB unified domain
net/mlx5/hws: allow different types
This commit queries the FW for the new unified FDB mode and saves it in
mlx5 shared device as fdb_unified_en bit.
Signed-off-by: Ophir Munk
---
drivers/common/mlx5/mlx5_devx_cmds.c | 3 +++
drivers/common/mlx5/mlx5_devx_cmds.h | 1 +
2 files changed, 4 insertions(+)
diff --git a/drivers/common
|
| 1 | 0 | FDB_RX |
++-+--+
There can be no two groups which only differ in their fdb sub domain.
A table must be created in a group which has the same fdb sub domain.
Signed-off-by: Ophir Munk
---
drivers/net/mlx5/linux/mlx5_os.c
From: Bing Zhao
The "send_to_kernel" action is shared and created during the HWS
configuration stage. By default, the NIC Rx and Tx flags are needed.
There is only one case that the FDB* flags are needed when creating
the action, the same as other shared actions. Only the transfer proxy
port nee
t;net/mlx5/hws: support default miss table")
Signed-off-by: Ophir Munk
---
drivers/net/mlx5/hws/mlx5dr_table.c | 18 --
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mlx5/hws/mlx5dr_table.c
b/drivers/net/mlx5/hws/mlx5dr_table.c
index b371f42..c1c6
This commit queries the FW for the new unified FDB mode and saves it in
mlx5 shared device as fdb_unified_en bit.
Signed-off-by: Ophir Munk
---
drivers/common/mlx5/mlx5_devx_cmds.c | 3 +++
drivers/common/mlx5/mlx5_devx_cmds.h | 1 +
2 files changed, 4 insertions(+)
diff --git a/drivers/common
|
| 1 | 0 | FDB_RX |
++-+--+
There can be no two groups which only differ in their fdb sub domain.
A table must be created in a group which has the same fdb sub domain.
Signed-off-by: Ophir Munk
---
drivers/net/mlx5/linux/mlx5_os.c
From: Bing Zhao
The "send_to_kernel" action is shared and created during the HWS
configuration stage. By default, the NIC Rx and Tx flags are needed.
There is only one case that the FDB* flags are needed when creating
the action, the same as other shared actions. Only the transfer proxy
port nee
t;net/mlx5/hws: support default miss table")
Signed-off-by: Ophir Munk
---
drivers/net/mlx5/hws/mlx5dr_table.c | 18 --
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mlx5/hws/mlx5dr_table.c
b/drivers/net/mlx5/hws/mlx5dr_table.c
index b371f42..c1c6
501 - 567 of 567 matches
Mail list logo