[dpdk-dev] [PATCH] net/mlx5: support MPLS-in-GRE and MPLS-in-UDP
Matan Azrad
matan at mellanox.com
Tue May 15 13:01:32 CEST 2018
Hi Nelio
From: Nélio Laranjeiro
> Hi Matan,
>
> I have a single comment, please see bellow,
>
> On Mon, May 14, 2018 at 01:41:20PM +0000, Matan Azrad wrote:
> > Add support for MPLS over GRE and MPLS over UDP tunnel types as
> > described in the next RFCs:
> > 1.
> > https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftoo
> >
> ls.ietf.org%2Fhtml%2Frfc4023&data=02%7C01%7Cmatan%40mellanox.com%7C
> 702
> >
> 706112b0942d2e61808d5ba478dae%7Ca652971c7d2e4d9ba6a4d149256f461b
> %7C0%7
> >
> C0%7C636619738845367511&sdata=junDKbO1BJ%2Bh%2FZVV7P5zSsxQGDgcR
> UGcfhac
> > XaC502E%3D&reserved=0 2.
> > https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftoo
> >
> ls.ietf.org%2Fhtml%2Frfc7510&data=02%7C01%7Cmatan%40mellanox.com%7C
> 702
> >
> 706112b0942d2e61808d5ba478dae%7Ca652971c7d2e4d9ba6a4d149256f461b
> %7C0%7
> >
> C0%7C636619738845367511&sdata=5i8IQBXYRqOtc9Pda2Dq7na9mzfwffi3iuxq
> huZS
> > JTQ%3D&reserved=0 3.
> > https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftoo
> >
> ls.ietf.org%2Fhtml%2Frfc4385&data=02%7C01%7Cmatan%40mellanox.com%7C
> 702
> >
> 706112b0942d2e61808d5ba478dae%7Ca652971c7d2e4d9ba6a4d149256f461b
> %7C0%7
> >
> C0%7C636619738845367511&sdata=RG80NBHW3Yv3o%2BzyKFb6p41LsoBgwo
> gB6m4X3I
> > fshes%3D&reserved=0
> >
> > Signed-off-by: Matan Azrad <matan at mellanox.com>
> > ---
> > doc/guides/nics/mlx5.rst | 4 +-
> > drivers/net/mlx5/Makefile | 5 ++
> > drivers/net/mlx5/mlx5.c | 13 ++++
> > drivers/net/mlx5/mlx5.h | 1 +
> > drivers/net/mlx5/mlx5_flow.c | 154
> >+++++++++++++++++++++++++++++++++++++++++--
> > 5 files changed, 170 insertions(+), 7 deletions(-) [...] @@ -896,7
> >+928,9 @@ struct ibv_spec_header {
> > if (ret)
> > goto exit_item_not_supported;
> > if (IS_TUNNEL(items->type)) {
> > - if (parser->tunnel) {
> > + if (parser->tunnel &&
> > + !((items - 1)->type == RTE_FLOW_ITEM_TYPE_GRE
> &&
> > + items->type == RTE_FLOW_ITEM_TYPE_MPLS)) {
> > rte_flow_error_set(error, ENOTSUP,
> >
> RTE_FLOW_ERROR_TYPE_ITEM,
> > items,
> > @@ -904,6 +938,16 @@ struct ibv_spec_header {
> > " tunnel encapsulations.");
> > return -rte_errno;
> > }
> > + if (items->type == RTE_FLOW_ITEM_TYPE_MPLS &&
> > + !priv->config.mpls_en) {
> > + rte_flow_error_set(error, ENOTSUP,
> > +
> RTE_FLOW_ERROR_TYPE_ITEM,
> > + items,
> > + "MPLS not supported or"
> > + " disabled in firmware"
> > + " configuration.");
> > + return -rte_errno;
> > + }
> > if (!priv->config.tunnel_en &&
> > parser->rss_conf.level > 1) {
> > rte_flow_error_set(error, ENOTSUP,
>
> Doing such comparison will not work in all cases like
>
> GRE / VOID / MPLS
>
> which is totally valid from rte_flow perspective.
Yes, you right, will send v2 to handle the voids.
>
> Regards,
>
> --
> Nélio Laranjeiro
> 6WIND
More information about the dev
mailing list