, however this has
never been valid to begin with.
This patch makes testpmd always provide default values.
Fixes: 05d34c6e9d2c ("app/testpmd: add queue actions to flow command")
Cc: sta...@dpdk.org
Signed-off-by: Adrien Mazarguil
Acked-by: Nelio Laranjeiro
Cc: Wenzhuo Lu
Cc: Jingjing Wu
.@dpdk.org
Signed-off-by: Adrien Mazarguil
Acked-by: Nelio Laranjeiro
---
app/test-pmd/cmdline_flow.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index dbf4afebf..30450f1a4 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/ap
ned-off-by: Adrien Mazarguil
Acked-by: Nelio Laranjeiro
Cc: Wenzhuo Lu
Cc: Jingjing Wu
---
app/test-pmd/cmdline_flow.c | 133 ++-
app/test-pmd/config.c | 20 ++--
app/test-pmd/testpmd.h | 13 +++
doc/guides/test
("ethdev: add flow rule copy function")
Cc: sta...@dpdk.org
Cc: Gaetan Rivet
Signed-off-by: Adrien Mazarguil
Cc: Thomas Monjalon
---
lib/librte_ether/rte_flow.c | 145 +++
1 file changed, 102 insertions(+), 43 deletions(-)
diff --git a/lib/li
. This patch
sets it as soon as an action is created instead.
Fixes: 7a91969ad35e ("app/testpmd: add various actions to flow command")
Cc: sta...@dpdk.org
Signed-off-by: Adrien Mazarguil
Acked-by: Nelio Laranjeiro
Cc: Wenzhuo Lu
Cc: Jingjing Wu
---
app/test-pmd/cmdline_flow.c | 7 +
Fixes: b1a4b4cbc0a8 ("ethdev: introduce generic flow API")
Cc: sta...@dpdk.org
Signed-off-by: Adrien Mazarguil
Acked-by: Nelio Laranjeiro
---
lib/librte_ether/rte_flow.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/librte_ether/rte_flow.h b/lib/librte_ether/rte_fl
ing
with a slight clarification regarding meta pattern items.
No fundamental API change.
Signed-off-by: Adrien Mazarguil
---
doc/guides/prog_guide/rte_flow.rst | 23 +++
lib/librte_ether/rte_flow.h| 23 ++-
2 files changed, 21 insertions(+), 25
QinQ and E-Tag EtherTypes.
- Fixed endian conversion in sfc.
- Replaced a condition in VLAN pattern item processing with an assertion
check for i40e.
Adrien Mazarguil (15):
ethdev: add error types to flow API
ethdev: clarify flow API pattern items and actions
doc: remove flow API m
: Adrien Mazarguil
---
app/test-pmd/config.c | 4
lib/librte_ether/rte_ethdev_version.map | 20 +---
lib/librte_ether/rte_flow.h | 4
3 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/app/test-pmd/config.c b/app/test-pmd
examples are updated accordingly.
This breaks ABI compatibility for the following public functions:
- rte_flow_copy()
- rte_flow_create()
- rte_flow_query()
- rte_flow_validate()
Signed-off-by: Adrien Mazarguil
---
app/test-pmd/cmdline_flow.c| 119 +---
app/test
the following public functions:
- rte_flow_copy()
- rte_flow_create()
- rte_flow_query()
- rte_flow_validate()
Signed-off-by: Adrien Mazarguil
---
app/test-pmd/cmdline_flow.c | 23 ---
app/test-pmd/config.c | 1 -
doc/guides/prog_guide
to forbid multiple fate-deciding actions and drop when
unspecified.
- mlx5: same as mlx4, with other redundant actions also forbidden.
- sfc: same as mlx4.
- tap: implementation already complies with the new behavior except for
the default pass-through modified as a default drop.
Signed-off-
examples to be wrong.
Signed-off-by: Adrien Mazarguil
---
doc/guides/prog_guide/rte_flow.rst | 298
1 file changed, 298 deletions(-)
diff --git a/doc/guides/prog_guide/rte_flow.rst
b/doc/guides/prog_guide/rte_flow.rst
index a11ebd617..51826d04c 100644
--- a/doc
ompatibility for the following public functions:
- rte_flow_copy()
- rte_flow_create()
- rte_flow_query()
- rte_flow_validate()
[1] commit 676b605182a5 ("doc: announce ethdev API change for RSS
configuration")
Signed-off-by: Adrien Mazarguil
Cc: Xueming Li
Cc: Ferruh Yigit
Cc: Thoma
public functions:
- rte_flow_copy()
- rte_flow_create()
- rte_flow_query()
- rte_flow_validate()
Signed-off-by: Adrien Mazarguil
Cc: Ferruh Yigit
Cc: Thomas Monjalon
Cc: Wenzhuo Lu
Cc: Jingjing Wu
Cc: Beilei Xing
Cc: Qi Zhang
Cc: Konstantin Ananyev
Cc: Nelio Laranjeiro
Cc: Yongseok Koh
nner_type is used if
specified.
- sfc: same as bnxt with QinQ TPID value 0x88a8 additionally supported.
- tap: same as bnxt.
Signed-off-by: Adrien Mazarguil
Cc: Ferruh Yigit
Cc: Thomas Monjalon
Cc: Wenzhuo Lu
Cc: Jingjing Wu
Cc: Ajit Khaparde
Cc: Somnath Kotur
Cc: John Daley
Cc: Hyong Y
ow.
This breaks ABI compatibility for the following public functions:
- rte_flow_copy()
- rte_flow_create()
- rte_flow_query()
- rte_flow_validate()
Signed-off-by: Adrien Mazarguil
Cc: Xueming Li
Cc: Ferruh Yigit
Cc: Thomas Monjalon
Cc: Wenzhuo Lu
Cc: Jingjing Wu
Cc: Beilei Xing
Cc: Qi Z
compatibility for the following public functions:
- rte_flow_copy()
- rte_flow_create()
- rte_flow_validate()
Signed-off-by: Adrien Mazarguil
---
app/test-pmd/cmdline_flow.c | 11 +
app/test-pmd/config.c | 6 ++-
doc/guides/prog_guide/rte_flow.rst
transfer
attribute.
It breaks ABI compatibility for the following public functions:
- rte_flow_create()
- rte_flow_validate()
Impacted PMDs are bnxt and i40e, for which the VF pattern item is now only
supported when a transfer attribute is also present.
Signed-off-by: Adrien Mazarguil
Cc: Ajit
.
No ABI impact.
Signed-off-by: Adrien Mazarguil
---
app/test-pmd/cmdline_flow.c | 27 +++--
app/test-pmd/config.c | 2 +-
doc/guides/prog_guide/rte_flow.rst | 22 -
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 2
breaks ABI compatibility for the following public functions:
- rte_flow_copy()
- rte_flow_create()
- rte_flow_query()
- rte_flow_validate()
Signed-off-by: Adrien Mazarguil
Reviewed-by: Qi Zhang
Cc: "Zhang, Qi Z"
Cc: Declan Doherty
---
This patch provides the same functionality and sup
()
- rte_flow_query()
- rte_flow_validate()
Signed-off-by: Adrien Mazarguil
Cc: "Zhang, Qi Z"
---
app/test-pmd/cmdline_flow.c | 35
app/test-pmd/config.c | 1 +
doc/guides/prog_guide/rte_flow.rst | 20 ++
*count,
> +struct rte_flow_error *error);
> +
> #ifdef __cplusplus
> }
> #endif
> diff --git a/lib/librte_ether/rte_flow_driver.h
> b/lib/librte_ether/rte_flow_driver.h
> index 7778c8e..ef09465 100644
> --- a/lib/librte_ether/rte_flow_driver.h
> +++ b/lib/librte_ether/rte_flow_driver.h
> @@ -96,6 +96,12 @@ struct rte_flow_ops {
> (struct rte_eth_dev *,
>int,
>struct rte_flow_error *);
> + /** See rte_flow_query_group_count(). */
> + int (*query_group_count)
> + (struct rte_eth_dev *,
> + uint32_t,
> + struct rte_flow_query_count *,
> + struct rte_flow_error *);
> };
>
> /**
> --
> 2.7.4
>
--
Adrien Mazarguil
6WIND
ne what's supposed to
happen when "last" is set.
> + } *pattern;
> + /**<
> + * Tunnel pattern specification (list terminated by the END pattern
> + * item).
> + */
As previously suggested, how about a single item per encap?
> +};
> +
> +/**
> + * RTE_FLOW_ACTION_TYP_TUNNEL_DECAP
> + *
> + * Virtual tunnel end-point decapsulation action data.
> + *
> + * Non-terminating action by default.
> + */
> +struct rte_flow_action_tunnel_decap {
> + enum rte_flow_item_type type;
> + /**<
> + * Flow item type of virtual tunnel end-point to be decapsulated
> + */
> +};
Note that contrary to ENCAP, DECAP wouldn't necessarily need repeated
actions to peel each layer off. The current definition is fine.
> +
> +/**
> * Definition of a single action.
> *
> * A list of actions is terminated by a END action.
> --
> 2.7.4
>
--
Adrien Mazarguil
6WIND
this structure is named rte_flow_action_jump, naming this field
"group" would match the attribute of the same name.
> +};
> +
> +/**
> * Definition of a single action.
> *
> * A list of actions is terminated by a END action.
> --
> 2.7.4
>
Don't forget testpmd code and documentation update.
--
Adrien Mazarguil
6WIND
/**< field identifier */
> +
> + struct rte_flow_action_mask_item {
> + enum rte_flow_item_type type;
> + /**< Flow item type. */
> + const void *mask;
> + /**< Flow item mask. */
> + } *pattern;
> + /** metadata extraction pattern mask specification */
> +};
Same comment as in prior commit regarding this structure. You should use
struct rte_flow_item directly, except this time a pointer to a pattern
with multiple items seems warranted.
> +
> +/**
> * Definition of a single action.
> *
> * A list of actions is terminated by a END action.
> --
> 2.7.4
>
--
Adrien Mazarguil
6WIND
On Fri, Apr 06, 2018 at 06:41:35PM +0300, Andrew Rybchenko wrote:
> On 04/06/2018 04:25 PM, Adrien Mazarguil wrote:
> > By definition, RSS involves some kind of hash algorithm, usually Toeplitz.
> >
> > Until now it could not be modified on a flow rule basis and PMDs had
On Fri, Apr 06, 2018 at 08:11:38PM +0300, Andrew Rybchenko wrote:
> On 04/06/2018 04:25 PM, Adrien Mazarguil wrote:
> > TPID handling in rte_flow VLAN and E_TAG pattern item definitions is not
> > consistent with the normal stacking order of pattern items, which is
> > conf
On Sat, Apr 07, 2018 at 12:05:51PM +0300, Andrew Rybchenko wrote:
> On 04/06/2018 04:25 PM, Adrien Mazarguil wrote:
> > Since its inception, the rte_flow RSS action has been relying in part on
> > external struct rte_eth_rss_conf for compatibility with the legacy RSS API.
> >
On Sat, Apr 07, 2018 at 12:41:17PM +0300, Andrew Rybchenko wrote:
> On 04/06/2018 04:25 PM, Adrien Mazarguil wrote:
> > Contrary to all other pattern items, these are inconsistently documented as
> > affecting traffic instead of simply matching its origin, without provision
>
On Sat, Apr 07, 2018 at 12:51:40PM +0300, Andrew Rybchenko wrote:
> On 04/06/2018 04:25 PM, Adrien Mazarguil wrote:
> > This patch adds the missing action counterpart to the PHY_PORT pattern
> > item, that is, the ability to directly inject matching traffic into a
> >
On Sun, Apr 08, 2018 at 06:27:50PM -0300, Marcelo Ricardo Leitner wrote:
> On Thu, Apr 05, 2018 at 11:26:21AM +0200, Adrien Mazarguil wrote:
> > On Tue, Apr 03, 2018 at 02:59:38PM -0300, Marcelo Ricardo Leitner wrote:
> > > Hi,
> > >
> > > http://docs.openvs
Hi Mohammad,
On Mon, Apr 09, 2018 at 03:22:45PM +0100, Mohammad Abdul Awal wrote:
> Hi Adrien,
>
>
> On 06/04/2018 21:26, Adrien Mazarguil wrote:
> > On Fri, Apr 06, 2018 at 01:24:00PM +0100, Declan Doherty wrote:
> > > Add new RTE_FLOW_ACTION_TYPE_GROUP_COUNT a
On Mon, Apr 09, 2018 at 05:10:35PM +0100, Mohammad Abdul Awal wrote:
> On 06/04/2018 21:26, Adrien Mazarguil wrote:
> > On Fri, Apr 06, 2018 at 01:24:01PM +0100, Declan Doherty wrote:
> > > Add new flow action types and associated action data structures to
> > > su
patch #4).
- sfc fix (patch #6).
- Missing include (patch #13).
Adrien Mazarguil (11):
net/mlx4: fix RSS resource leak in case of error
net/mlx4: fix ignored RSS hash types
net/mlx5: fix RSS flow action bounds check
net/bnxt: fix matching of flow API item masks
app/testpmd: fix flow c
When memory cannot be allocated for a flow rule, its RSS context reference
is not dropped.
Fixes: 078b8b452e6b ("net/mlx4: add RSS flow rule action support")
Cc: sta...@dpdk.org
Signed-off-by: Adrien Mazarguil
Cc: Shahaf Shuler
---
drivers/net/mlx4/mlx4_flow.c | 5 -
1 file
Some values are interpreted without endian conversion and/or without
taking the proper mask into account.
Fixes: 5ef3b79fdfe6 ("net/bnxt: support flow filter ops")
Cc: sta...@dpdk.org
Cc: Ajit Khaparde
Signed-off-by: Adrien Mazarguil
---
drivers/net/bnxt/bnxt_filter.c | 14 +++
d RSS flow rule action support")
Cc: sta...@dpdk.org
Signed-off-by: Adrien Mazarguil
Cc: Shahaf Shuler
---
drivers/net/mlx4/mlx4_flow.c | 12 +---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/net/mlx4/mlx4_flow.c b/drivers/net/mlx4/mlx4_flow.c
index a3b4480b4.
The lack of a working completion for RSS queues was overlooked during
development; until now only "end" was displayed as a valid token.
Fixes: 05d34c6e9d2c ("app/testpmd: add queue actions to flow command")
Cc: sta...@dpdk.org
Signed-off-by: Adrien Mazarguil
Cc: Wenzhuo
The number of queues provided by the application is not checked against
parser's supported maximum.
Fixes: 3d821d6fea40 ("net/mlx5: support RSS action flow rule")
Cc: sta...@dpdk.org
Cc: Nelio Laranjeiro
Signed-off-by: Adrien Mazarguil
Acked-by: Nelio Laranjeiro
---
d
. This patch
sets it as soon as an action is created instead.
Fixes: 7a91969ad35e ("app/testpmd: add various actions to flow command")
Cc: sta...@dpdk.org
Signed-off-by: Adrien Mazarguil
Acked-by: Nelio Laranjeiro
Cc: Wenzhuo Lu
Cc: Jingjing Wu
---
app/test-pmd/cmdline_flow.c | 7 +
line options.
Fixes: 05d34c6e9d2c ("app/testpmd: add queue actions to flow command")
Cc: sta...@dpdk.org
Signed-off-by: Adrien Mazarguil
Acked-by: Nelio Laranjeiro
Cc: Wenzhuo Lu
Cc: Jingjing Wu
Cc: Xueming Li
---
v4 changes:
Removed reliance on rte_eth_dev_rss_hash_conf_get(), wh
ned-off-by: Adrien Mazarguil
Acked-by: Nelio Laranjeiro
Cc: Wenzhuo Lu
Cc: Jingjing Wu
---
app/test-pmd/cmdline_flow.c | 133 ++-
app/test-pmd/config.c | 20 ++--
app/test-pmd/testpmd.h | 13 +++
doc/guides/test
("ethdev: add flow rule copy function")
Cc: sta...@dpdk.org
Cc: Gaetan Rivet
Signed-off-by: Adrien Mazarguil
Cc: Thomas Monjalon
---
lib/librte_ether/rte_flow.c | 145 +++
1 file changed, 102 insertions(+), 43 deletions(-)
diff --git a/lib/li
Fixes: b1a4b4cbc0a8 ("ethdev: introduce generic flow API")
Cc: sta...@dpdk.org
Signed-off-by: Adrien Mazarguil
Acked-by: Nelio Laranjeiro
---
lib/librte_ether/rte_flow.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/librte_ether/rte_flow.h b/lib/librte_ether/rte_fl
.@dpdk.org
Signed-off-by: Adrien Mazarguil
Acked-by: Nelio Laranjeiro
---
app/test-pmd/cmdline_flow.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index e43705303..ac4b51a8a 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/ap
fate kind
result in undefined behavior instead of dropping traffic.
- Fixed other minor documentation formatting issues.
- Modified "ethdev: refine TPID handling in flow API" as follows:
- Using standard macro definitions for VLAN, QinQ and E-Tag EtherTypes.
- Fixed endian conversion
: Adrien Mazarguil
Acked-by: Andrew Rybchenko
---
app/test-pmd/config.c | 4
lib/librte_ether/rte_ethdev_version.map | 20 +---
lib/librte_ether/rte_flow.h | 4
3 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/app/test-pmd
the following public functions:
- rte_flow_copy()
- rte_flow_create()
- rte_flow_query()
- rte_flow_validate()
Signed-off-by: Adrien Mazarguil
Acked-by: Andrew Rybchenko
---
app/test-pmd/cmdline_flow.c | 23 ---
app/test-pmd/config.c
examples to be wrong.
Signed-off-by: Adrien Mazarguil
Acked-by: Andrew Rybchenko
---
doc/guides/prog_guide/rte_flow.rst | 298
1 file changed, 298 deletions(-)
diff --git a/doc/guides/prog_guide/rte_flow.rst
b/doc/guides/prog_guide/rte_flow.rst
index a11ebd617
to forbid multiple fate-deciding actions and drop when
unspecified.
- mlx5: same as mlx4, with other redundant actions also forbidden.
- sfc: same as mlx4.
- tap: implementation already complies with the new behavior except for
the default pass-through modified as a default drop.
Signed-off-
ing
with a slight clarification regarding meta pattern items.
No fundamental API change.
Signed-off-by: Adrien Mazarguil
Acked-by: Andrew Rybchenko
---
doc/guides/prog_guide/rte_flow.rst | 23 +++
lib/librte_ether/rte_flow.h| 23 ++-
2 files c
public functions:
- rte_flow_copy()
- rte_flow_create()
- rte_flow_query()
- rte_flow_validate()
Signed-off-by: Adrien Mazarguil
Cc: Ferruh Yigit
Cc: Thomas Monjalon
Cc: Wenzhuo Lu
Cc: Jingjing Wu
Cc: Beilei Xing
Cc: Qi Zhang
Cc: Konstantin Ananyev
Cc: Nelio Laranjeiro
Cc: Yongseok Koh
ompatibility for the following public functions:
- rte_flow_copy()
- rte_flow_create()
- rte_flow_query()
- rte_flow_validate()
[1] commit 676b605182a5 ("doc: announce ethdev API change for RSS
configuration")
Signed-off-by: Adrien Mazarguil
Cc: Xueming Li
Cc: Ferruh Yigit
Cc: Thoma
ow.
This breaks ABI compatibility for the following public functions:
- rte_flow_copy()
- rte_flow_create()
- rte_flow_query()
- rte_flow_validate()
Signed-off-by: Adrien Mazarguil
Acked-by: Andrew Rybchenko
Cc: Xueming Li
Cc: Ferruh Yigit
Cc: Thomas Monjalon
Cc: Wenzhuo Lu
Cc: Jingjing Wu
Cc:
examples are updated accordingly.
This breaks ABI compatibility for the following public functions:
- rte_flow_copy()
- rte_flow_create()
- rte_flow_query()
- rte_flow_validate()
Signed-off-by: Adrien Mazarguil
---
app/test-pmd/cmdline_flow.c| 117 +---
app/test
P and DEI from the default mask.
Signed-off-by: Adrien Mazarguil
Cc: Ferruh Yigit
Cc: Thomas Monjalon
Cc: Wenzhuo Lu
Cc: Jingjing Wu
Cc: Ajit Khaparde
Cc: Somnath Kotur
Cc: John Daley
Cc: Hyong Youb Kim
Cc: Beilei Xing
Cc: Qi Zhang
Cc: Konstantin Ananyev
Cc: Nelio Laranjeiro
Cc: Yongseo
compatibility for the following public functions:
- rte_flow_copy()
- rte_flow_create()
- rte_flow_validate()
Signed-off-by: Adrien Mazarguil
Cc: Andrew Rybchenko
---
v3 changes:
Clarified definition for ingress and egress following Andrew's comment on
subsequent patch.
[1] http://dpd
transfer
attribute.
It breaks ABI compatibility for the following public functions:
- rte_flow_create()
- rte_flow_validate()
Impacted PMDs are bnxt and i40e, for which the VF pattern item is now only
supported when a transfer attribute is also present.
Signed-off-by: Adrien Mazarguil
Cc: Ajit
TPID matching is not supported, no impact.
- mlx5: same as bnxt.
- mvpp2: same as bnxt.
- sfc: same as bnxt.
- tap: same as bnxt.
Signed-off-by: Adrien Mazarguil
Cc: Ferruh Yigit
Cc: Thomas Monjalon
Cc: Wenzhuo Lu
Cc: Jingjing Wu
Cc: Ajit Khaparde
Cc: Somnath Kotur
Cc: John Daley
Cc
.
No ABI impact.
Signed-off-by: Adrien Mazarguil
---
app/test-pmd/cmdline_flow.c | 27 +++--
app/test-pmd/config.c | 2 +-
doc/guides/prog_guide/rte_flow.rst | 22 -
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 2
()
- rte_flow_query()
- rte_flow_validate()
Signed-off-by: Adrien Mazarguil
Cc: "Zhang, Qi Z"
---
app/test-pmd/cmdline_flow.c | 35
app/test-pmd/config.c | 1 +
doc/guides/prog_guide/rte_flow.rst | 20 ++
breaks ABI compatibility for the following public functions:
- rte_flow_copy()
- rte_flow_create()
- rte_flow_query()
- rte_flow_validate()
Signed-off-by: Adrien Mazarguil
Reviewed-by: Qi Zhang
Cc: "Zhang, Qi Z"
Cc: Declan Doherty
---
This patch provides the same functionality and sup
ink with a proper commit
reference (once linked patch is applied), i.e.:
commit 0123456789ab ("ethdev: add encap level to RSS flow API action")
Acked-by: Adrien Mazarguil
--
Adrien Mazarguil
6WIND
; Signed-off-by: Xueming Li
Minor comments below, otherwise:
Acked-by: Adrien Mazarguil
> ---
> lib/librte_mbuf/rte_mbuf_ptype.c | 2 ++
> lib/librte_mbuf/rte_mbuf_ptype.h | 34 ++
> 2 files changed, 36 insertions(+)
>
> diff --git a/lib/libr
uint8_t vx_flags; /**< flag (8). */
> + uint8_t reserved[2]; /**< Reserved (16). */
> + uint8_t proto; /**< next-protocol (8). */
> + uint32_t vx_vni; /**< VNI (24) + Reserved (8). */
> +} __attribute__((__packed__));
> +
> +/* VXLAN-GPE next protocol types */
> +#define VXLAN_GPE_TYPE_IPv4 1 /**< IPv4 Protocol. */
> +#define VXLAN_GPE_TYPE_IPv6 2 /**< IPv6 Protocol. */
> +#define VXLAN_GPE_TYPE_ETH 3 /**< Ethernet Protocol. */
> +#define VXLAN_GPE_TYPE_NSH 4 /**< NSH Protocol. */
> +#define VXLAN_GPE_TYPE_MPLS 5 /**< MPLS Protocol. */
> +#define VXLAN_GPE_TYPE_GBP 6 /**< GBP Protocol. */
> +#define VXLAN_GPE_TYPE_VBNG 7 /**< vBNG Protocol. */
> +
> +#define ETHER_VXLAN_GPE_HLEN (sizeof(struct udp_hdr) + \
> + sizeof(struct vxlan_gpe_hdr))
> +/**< VXLAN-GPE tunnel header length. */
> +
> +/**
> * Extract VLAN tag information into mbuf
> *
> * Software version of VLAN stripping
> --
> 2.13.3
--
Adrien Mazarguil
6WIND
ig(optarg, 1)) {
> rte_exit(EXIT_FAILURE,
> diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h
> index 593ae2160..b270602d9 100644
> --- a/app/test-pmd/testpmd.h
> +++ b/app/test-pmd/testpmd.h
> @@ -446,6 +446,8 @@ extern uint32_t retry_enabled;
> extern struct fwd_lcore **fwd_lcores;
> extern struct fwd_stream **fwd_streams;
>
> +extern uint16_t vxlan_gpe_udp_port; /**< UDP port of tunnel VXLAN-GPE. */
> +
> extern portid_t nb_peer_eth_addrs; /**< Number of peer ethernet addresses. */
> extern struct ether_addr peer_eth_addrs[RTE_MAX_ETHPORTS];
>
> diff --git a/doc/guides/testpmd_app_ug/run_app.rst
> b/doc/guides/testpmd_app_ug/run_app.rst
> index 1fd53958a..2e8690f41 100644
> --- a/doc/guides/testpmd_app_ug/run_app.rst
> +++ b/doc/guides/testpmd_app_ug/run_app.rst
> @@ -479,3 +479,8 @@ The commandline options are:
>
> Set the hexadecimal bitmask of TX queue offloads.
> The default value is 0.
> +
> +* ``--vxlan-gpe-port=N``
> +
> +Set the UDP port number of tunnel VXLAN-GPE to N.
> +The default value is 4790.
You need to update the "Pattern items" section of the flow command
documentation as well.
> --
> 2.13.3
>
--
Adrien Mazarguil
6WIND
ort ID item and action to flow API" [2].
It is therefore not a candidate for inclusion and does not need to be
reviewed.
[1] http://dpdk.org/ml/archives/dev/2018-April/095525.html
[2] http://dpdk.org/ml/archives/dev/2018-April/096538.html
--
Adrien Mazarguil
6WIND
flow_item_icmpv6_sll rte_flow_item_icmpv6_sll_mask =
> {
> + .addr = {
> + .addr_bytes = "\xff\xff\xff\xff\xff\xff",
> + }
> +};
> +#endif
> +
> +/**
> + * RTE_FLOW_ITEM_TYPE_ICMPV6_TLL.
> + *
> + * Matches ICMPv6 Target Link-Layer address.
> + */
> +struct rte_flow_item_icmpv6_tll {
> + struct ether_addr addr;
> +};
See prior comments regarding RTE_FLOW_ITEM_TYPE_ND6_OPT_TLA_ETH and struct
rte_flow_item_type_nd6_opt_tla_eth.
Also Doxygen documentation is missing for the addr field and you need to
describe that it is only valid when found after either
RTE_FLOW_ITEM_TYPE_ND6_RS or RTE_FLOW_ITEM_TYPE_ND6_NA.
Also missing empty line here.
> +/** Default mask for RTE_FLOW_ITEM_TYPE_ICMPV6_TLL */
Missing "."
> +#ifndef __cplusplus
> +static const struct rte_flow_item_icmpv6_tll rte_flow_item_icmpv6_tll_mask =
> {
> + .addr = {
> + .addr_bytes = "\xff\xff\xff\xff\xff\xff",
> + }
> +};
> +#endif
> +
> +/**
> * Matching pattern item definition.
> *
> * A pattern is formed by stacking items starting from the lowest protocol
> --
> 2.7.4
>
--
Adrien Mazarguil
6WIND
/guides/prog_guide/rte_flow.rst as well (look for "COUNT
query").
[2] http://dpdk.org/ml/archives/dev/2018-April/096531.html
--
Adrien Mazarguil
6WIND
/**< 0 means outermost matched pattern, 1 means next-to-outermost... */
uint8_t layer => uint32_t level (we're not constrained by space)
Ditto re documentation. See RSS encap level patch [2] for ideas.
> +};
> +
> +/** RTE_FLOW_ACTION_TYPE_FIELD_COPY
Ditto for "/**".
> + *
> + * Copy data from one field to another of the packet.
> + *
> + * Typical usage: TTL copy-in / copy-out
This typical usage doesn't look that obvious to me. Copy TTL from what part
of the packet to where? What happens to the overwritten TTL value? Why
should they be synchronized?
> + */
> +struct rte_flow_action_field_copy {
> + const struct rte_flow_item *src_item; /**< Specify the data copy from */
> + uint8_t src_layer;
> + /**< 0 means outermost matched pattern, 1 means next-to-outermost... */
> + const struct rte_flow_item *dst_item; /**< Specify the data copy to */
> + uint8_t dst_layer;
> + /**< 0 means outermost matched pattern, 1 means next-to-outermost... */
> +};
Same comments as for struct rte_flow_action_field_update.
> +
> /**
> * Definition of a single action.
> *
> --
> 2.7.4
>
--
Adrien Mazarguil
6WIND
EM_IPV6_EXT_HDR
> Please see my comment inline.
>
> Thanks!
> Qi
Thanks, replying inline also.
> > -Original Message-
> > From: Adrien Mazarguil [mailto:adrien.mazarg...@6wind.com]
> > Sent: Thursday, April 12, 2018 12:32 AM
> > To: Zhang, Qi Z
> >
On Thu, Apr 12, 2018 at 08:50:14AM +, Zhang, Qi Z wrote:
> Hi Adrien
>
> > -Original Message-
> > From: Adrien Mazarguil [mailto:adrien.mazarg...@6wind.com]
> > Sent: Thursday, April 12, 2018 3:04 PM
> > To: Zhang, Qi Z
> > Cc: dev@dpdk.org; Do
ides/testpmd_app_ug/testpmd_funcs.rst).
Once addressed, as far as rte_flow is concerned (I did not review the csum
engine nor other configuration changes):
Acked-by: Adrien Mazarguil
> ---
> app/test-pmd/cmdline_flow.c | 24 ++
> app/test-pmd/config.c | 2
{
> + uint8_t vx_flags; /**< flag (8). */
> + uint8_t reserved[2]; /**< Reserved (16). */
> + uint8_t proto; /**< next-protocol (8). */
> + uint32_t vx_vni; /**< VNI (24) + Reserved (8). */
> +} __attribute__((__packed__));
> +
> +/* VXLAN-GPE next protocol types */
> +#define VXLAN_GPE_TYPE_IPv4 1 /**< IPv4 Protocol. */
> +#define VXLAN_GPE_TYPE_IPv6 2 /**< IPv6 Protocol. */
I suggest using all-caps macro definitions, i.e.:
#define VXLAN_GPE_TYPE_IPV4 1 /**< IPv4 protocol. */
#define VXLAN_GPE_TYPE_IPV6 2 /**< IPv6 protocol. */
checkpatch users will thank you :)
> +#define VXLAN_GPE_TYPE_ETH 3 /**< Ethernet Protocol. */
> +#define VXLAN_GPE_TYPE_NSH 4 /**< NSH Protocol. */
> +#define VXLAN_GPE_TYPE_MPLS 5 /**< MPLS Protocol. */
> +#define VXLAN_GPE_TYPE_GBP 6 /**< GBP Protocol. */
> +#define VXLAN_GPE_TYPE_VBNG 7 /**< vBNG Protocol. */
> +
> +#define ETHER_VXLAN_GPE_HLEN (sizeof(struct udp_hdr) + \
> + sizeof(struct vxlan_gpe_hdr))
> +/**< VXLAN-GPE tunnel header length. */
> +
> +/**
> * Extract VLAN tag information into mbuf
> *
> * Software version of VLAN stripping
> --
> 2.13.3
>
--
Adrien Mazarguil
6WIND
y")
Cc: Anatoly Burakov
Signed-off-by: Adrien Mazarguil
---
lib/librte_eal/common/eal_common_fbarray.c | 101 ---
lib/librte_eal/common/include/rte_fbarray.h | 33
2 files changed, 70 insertions(+), 64 deletions(-)
diff --git a/lib/librte_eal/common/eal_com
or patch.
[1] https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
Fixes: c44d09811b40 ("eal: add shared indexed file-backed array")
Cc: Anatoly Burakov
Signed-off-by: Adrien Mazarguil
---
lib/librte_eal/common/eal_common_fbarray.c | 5 -
1 file changed, 4 inser
y")
Cc: Anatoly Burakov
Signed-off-by: Adrien Mazarguil
--
v2 changes:
Removed unnecessary "(unsigned int)" cast leftovers.
---
lib/librte_eal/common/eal_common_fbarray.c | 97
lib/librte_eal/common/include/rte_fbarray.h | 33
2 files
or patch.
[1] https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
Fixes: c44d09811b40 ("eal: add shared indexed file-backed array")
Cc: Anatoly Burakov
Signed-off-by: Adrien Mazarguil
---
lib/librte_eal/common/eal_common_fbarray.c | 5 -
1 file changed, 4 inser
On Fri, Apr 13, 2018 at 05:09:01PM +0100, Burakov, Anatoly wrote:
> On 13-Apr-18 4:56 PM, Adrien Mazarguil wrote:
> > While debugging startup issues encountered with Clang (see "eal: fix
> > undefined behavior in fbarray"), I noticed that fbarray stores indices,
>
or patch.
[1] https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
Fixes: c44d09811b40 ("eal: add shared indexed file-backed array")
Cc: Anatoly Burakov
Signed-off-by: Adrien Mazarguil
Acked-by: Anatoly Burakov
---
lib/librte_eal/common/eal_common_fbarray.c | 5 -
1 file changed,
y")
Cc: Anatoly Burakov
Signed-off-by: Adrien Mazarguil
--
v3 changes:
- Added INT_MAX upper bound check in fully_validate() as suggested by
Anatoly.
- Added a sysconf() result check to appease Coverity since calc_data_size()
now takes an unsigned page size (Coverity issues 272
larity).
I'll comment the patch proper in a separate message.
[1] http://dpdk.org/ml/archives/dev/2018-April/096857.html
[2]
https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.3.0.pdf
--
Adrien Mazarguil
6WIND
On Mon, Apr 16, 2018 at 08:05:13AM +, Xueming(Steven) Li wrote:
>
>
> > -Original Message-
> > From: Nélio Laranjeiro
> > Sent: Monday, April 16, 2018 3:29 PM
> > To: Xueming(Steven) Li
> > Cc: Shahaf Shuler ; dev@dpdk.org; Olivier Matz
>
On Mon, Apr 16, 2018 at 08:56:37AM +, Shahaf Shuler wrote:
> Monday, April 16, 2018 11:12 AM, Adrien Mazarguil:
> > Subject: Re: [dpdk-dev] [PATCH v3 3/4] ethdev: add TTL change actions in
> > flow API
> >
> > Hi Shahaf,
> >
> > On Mon, Apr 16, 2018 a
On Fri, Apr 13, 2018 at 01:47:15PM +, Zhang, Qi Z wrote:
> > -Original Message-
> > From: Adrien Mazarguil [mailto:adrien.mazarg...@6wind.com]
> > Sent: Thursday, April 12, 2018 6:23 PM
> > To: Zhang, Qi Z
> > Cc: dev@dpdk.org; Doherty, Declan ; Chandran,
On Mon, Apr 16, 2018 at 01:32:49PM +, Xueming(Steven) Li wrote:
>
> > -Original Message-
> > From: Adrien Mazarguil
> > Sent: Monday, April 16, 2018 5:28 PM
> > To: Xueming(Steven) Li
> > Cc: Nélio Laranjeiro ; Shahaf Shuler
> > ; dev@dpdk
ang
>
> v2:
> * update virtio.ini (Tiwei)
> * update i40e_vf_vec.ini (Qi)
> * update avf.ini avf_vec.ini
For mlx4 and mlx5:
Acked-by: Adrien Mazarguil
--
Adrien Mazarguil
6WIND
On Mon, Apr 16, 2018 at 03:27:37PM +, Xueming(Steven) Li wrote:
>
>
> > -Original Message-
> > From: Adrien Mazarguil
> > Sent: Monday, April 16, 2018 9:48 PM
> > To: Xueming(Steven) Li
> > Cc: Nélio Laranjeiro ; Shahaf Shuler
> > ; dev@d
eson build").
v2 changes:
- mlx5 fix (patch #3).
- bnxt fix (patch #4).
- sfc fix (patch #6).
- Missing include (patch #13).
Adrien Mazarguil (11):
net/mlx4: fix RSS resource leak in case of error
net/mlx4: fix ignored RSS hash types
net/mlx5: fix RSS flow action bounds check
net/bnxt:
d RSS flow rule action support")
Cc: sta...@dpdk.org
Signed-off-by: Adrien Mazarguil
Cc: Shahaf Shuler
---
drivers/net/mlx4/mlx4_flow.c | 12 +---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/net/mlx4/mlx4_flow.c b/drivers/net/mlx4/mlx4_flow.c
index 2b4bf7094.
The number of queues provided by the application is not checked against
parser's supported maximum.
Fixes: 3d821d6fea40 ("net/mlx5: support RSS action flow rule")
Cc: sta...@dpdk.org
Cc: Nelio Laranjeiro
Signed-off-by: Adrien Mazarguil
Acked-by: Nelio Laranjeiro
---
d
When memory cannot be allocated for a flow rule, its RSS context reference
is not dropped.
Fixes: 078b8b452e6b ("net/mlx4: add RSS flow rule action support")
Cc: sta...@dpdk.org
Signed-off-by: Adrien Mazarguil
Cc: Shahaf Shuler
---
drivers/net/mlx4/mlx4_flow.c | 5 -
1 file
Some values are interpreted without endian conversion and/or without
taking the proper mask into account.
Fixes: 5ef3b79fdfe6 ("net/bnxt: support flow filter ops")
Cc: sta...@dpdk.org
Cc: Ajit Khaparde
Signed-off-by: Adrien Mazarguil
---
drivers/net/bnxt/bnxt_filter.c | 14 +++
. This patch
sets it as soon as an action is created instead.
Fixes: 7a91969ad35e ("app/testpmd: add various actions to flow command")
Cc: sta...@dpdk.org
Signed-off-by: Adrien Mazarguil
Acked-by: Nelio Laranjeiro
Cc: Wenzhuo Lu
Cc: Jingjing Wu
---
app/test-pmd/cmdline_flow.c | 7 +
The lack of a working completion for RSS queues was overlooked during
development; until now only "end" was displayed as a valid token.
Fixes: 05d34c6e9d2c ("app/testpmd: add queue actions to flow command")
Cc: sta...@dpdk.org
Signed-off-by: Adrien Mazarguil
Cc: Wenzhuo
line options.
Fixes: 05d34c6e9d2c ("app/testpmd: add queue actions to flow command")
Cc: sta...@dpdk.org
Signed-off-by: Adrien Mazarguil
Acked-by: Nelio Laranjeiro
Cc: Wenzhuo Lu
Cc: Jingjing Wu
Cc: Xueming Li
---
v4 changes:
Removed reliance on rte_eth_dev_rss_hash_conf_get(), wh
ned-off-by: Adrien Mazarguil
Acked-by: Nelio Laranjeiro
Cc: Wenzhuo Lu
Cc: Jingjing Wu
---
app/test-pmd/cmdline_flow.c | 133 ++-
app/test-pmd/config.c | 20 ++--
app/test-pmd/testpmd.h | 13 +++
doc/guides/test
("ethdev: add flow rule copy function")
Cc: sta...@dpdk.org
Cc: Gaetan Rivet
Signed-off-by: Adrien Mazarguil
Cc: Thomas Monjalon
---
lib/librte_ether/rte_flow.c | 145 +++
1 file changed, 102 insertions(+), 43 deletions(-)
diff --git a/lib/li
.@dpdk.org
Signed-off-by: Adrien Mazarguil
Acked-by: Nelio Laranjeiro
---
app/test-pmd/cmdline_flow.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index fcd76b56e..f0b4b7bc4 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/ap
501 - 600 of 1364 matches
Mail list logo