[dpdk-dev] [PATCH] app/testpmd: fix MPLSoUDP encapsulation

Ori Kam orika at mellanox.com
Wed Nov 21 16:39:54 CET 2018



> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit at intel.com>
> Sent: Wednesday, November 21, 2018 5:19 PM
> To: Ori Kam <orika at mellanox.com>; Dekel Peled <dekelp at mellanox.com>;
> wenzhuo.lu at intel.com; jingjing.wu at intel.com; bernard.iremonger at intel.com
> Cc: dev at dpdk.org; Shahaf Shuler <shahafs at mellanox.com>
> Subject: Re: [dpdk-dev] [PATCH] app/testpmd: fix MPLSoUDP encapsulation
> 
> On 11/20/2018 8:23 AM, Ori Kam wrote:
> >
> >
> >> -----Original Message-----
> >> From: dev <dev-bounces at dpdk.org> On Behalf Of Dekel Peled
> >> Sent: Monday, November 19, 2018 6:55 PM
> >> To: wenzhuo.lu at intel.com; jingjing.wu at intel.com;
> >> bernard.iremonger at intel.com
> >> Cc: dev at dpdk.org; Ori Kam <orika at mellanox.com>; Shahaf Shuler
> >> <shahafs at mellanox.com>; Dekel Peled <dekelp at mellanox.com>
> >> Subject: [dpdk-dev] [PATCH] app/testpmd: fix MPLSoUDP encapsulation
> >>
> >> Set MPLS label value in appropriate location at mplsoudp_encap_conf,
> >> so it is correctly copied to rte_flow_item_mpls.
> >>
> >> Fixes: a1191d39cb57 ("app/testpmd: add MPLSoUDP encapsulation")
> >> Cc: orika at mellanox.com
> >>
> >> Signed-off-by: Dekel Peled <dekelp at mellanox.com>
> >> ---
> >>  app/test-pmd/cmdline.c | 4 ++--
> >>  1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
> >> index 1275074..40e64cc 100644
> >> --- a/app/test-pmd/cmdline.c
> >> +++ b/app/test-pmd/cmdline.c
> >> @@ -15804,10 +15804,10 @@ static void
> >> cmd_set_mplsoudp_encap_parsed(void *parsed_result,
> >>  	struct cmd_set_mplsoudp_encap_result *res = parsed_result;
> >>  	union {
> >>  		uint32_t mplsoudp_label;
> >> -		uint8_t label[3];
> >> +		uint8_t label[4];
> >>  	} id = {
> >>  		.mplsoudp_label =
> >> -			rte_cpu_to_be_32(res->label) & RTE_BE32(0x00ffffff),
> >> +			rte_cpu_to_be_32(res->label<<4) &
> >> RTE_BE32(0x00ffffff),
> >>  	};
> >>
> >>  	if (strcmp(res->mplsoudp, "mplsoudp_encap") == 0)
> >> --
> >> 1.8.3.1
> >
> > Acked-by: Ori Kam <orika at mellanox.com>
> 
> Hi Ori, Dekel,
> 
> What is the scope of this patch? Briefly how critical it is and what will be
> broken and what is exposure of it?

The only issue is that we are setting incorrect MPLS label.
As defined by the MPLS spec the label is 20 bits, so this patch simply
pushes the label to the correct place.
I don't think that there any exposure from this patch.

Best,
Ori



More information about the dev mailing list