app/testpmd: fix mpls bos bit default value

Message ID 20181121144709.18805-1-salehals@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series app/testpmd: fix mpls bos bit default value |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS

Commit Message

Saleh Alsouqi Nov. 21, 2018, 2:47 p.m. UTC
  The Bottom-of-Stack (bos) bit of MPLS indicates
whether its the last MPLS layer (1) or not (0).

Indicating that the encapsulating MPLS is the
last MPLS layer in the packet as the default
behavior is more appropriate since multiple
encapsulation actions is not supported.

Fixes: 3e77031be855 ("app/testpmd: add MPLSoGRE encapsulation")
Fixes: a1191d39cb57 ("app/testpmd: add MPLSoUDP encapsulation")
cc: stable@dpdk.org

Signed-off-by: Saleh AlSouqi <salehals@mellanox.com>
---
 app/test-pmd/cmdline_flow.c | 2 ++
 1 file changed, 2 insertions(+)
  

Comments

Ori Kam Nov. 21, 2018, 2:55 p.m. UTC | #1
> -----Original Message-----
> From: Saleh Alsouqi
> Sent: Wednesday, November 21, 2018 4:47 PM
> To: wenzhuo.lu@intel.com; jingjing.wu@intel.com;
> bernard.iremonger@intel.com
> Cc: dev@dpdk.org; Ori Kam <orika@mellanox.com>; stable@dpdk.org
> Subject: [PATCH] app/testpmd: fix mpls bos bit default value
> 
> The Bottom-of-Stack (bos) bit of MPLS indicates
> whether its the last MPLS layer (1) or not (0).
> 
> Indicating that the encapsulating MPLS is the
> last MPLS layer in the packet as the default
> behavior is more appropriate since multiple
> encapsulation actions is not supported.
> 
> Fixes: 3e77031be855 ("app/testpmd: add MPLSoGRE encapsulation")
> Fixes: a1191d39cb57 ("app/testpmd: add MPLSoUDP encapsulation")
> cc: stable@dpdk.org
> 
> Signed-off-by: Saleh AlSouqi <salehals@mellanox.com>
> ---
>  app/test-pmd/cmdline_flow.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
> index 23ea7cc82..5c0108fa7 100644
> --- a/app/test-pmd/cmdline_flow.c
> +++ b/app/test-pmd/cmdline_flow.c
> @@ -3808,6 +3808,7 @@ parse_vc_action_mplsogre_encap(struct context
> *ctx, const struct token *token,
>  	header += sizeof(gre);
>  	memcpy(mpls.label_tc_s, mplsogre_encap_conf.label,
>  	       RTE_DIM(mplsogre_encap_conf.label));
> +	mpls.label_tc_s[2] |= 0x1;
>  	memcpy(header, &mpls, sizeof(mpls));
>  	header += sizeof(mpls);
>  	action_encap_data->conf.size = header -
> @@ -3998,6 +3999,7 @@ parse_vc_action_mplsoudp_encap(struct context
> *ctx, const struct token *token,
>  	header += sizeof(udp);
>  	memcpy(mpls.label_tc_s, mplsoudp_encap_conf.label,
>  	       RTE_DIM(mplsoudp_encap_conf.label));
> +	mpls.label_tc_s[2] |= 0x1;
>  	memcpy(header, &mpls, sizeof(mpls));
>  	header += sizeof(mpls);
>  	action_encap_data->conf.size = header -
> --
> 2.14.1

Acked-by: Ori Kam <orika@mellanox.com>

Thanks,
Ori
  
Ferruh Yigit Nov. 27, 2018, 4:38 p.m. UTC | #2
On 11/21/2018 2:55 PM, Ori Kam wrote:
> 
>> -----Original Message-----
>> From: Saleh Alsouqi
>> Sent: Wednesday, November 21, 2018 4:47 PM
>> To: wenzhuo.lu@intel.com; jingjing.wu@intel.com;
>> bernard.iremonger@intel.com
>> Cc: dev@dpdk.org; Ori Kam <orika@mellanox.com>; stable@dpdk.org
>> Subject: [PATCH] app/testpmd: fix mpls bos bit default value
>>
>> The Bottom-of-Stack (bos) bit of MPLS indicates
>> whether its the last MPLS layer (1) or not (0).
>>
>> Indicating that the encapsulating MPLS is the
>> last MPLS layer in the packet as the default
>> behavior is more appropriate since multiple
>> encapsulation actions is not supported.
>>
>> Fixes: 3e77031be855 ("app/testpmd: add MPLSoGRE encapsulation")
>> Fixes: a1191d39cb57 ("app/testpmd: add MPLSoUDP encapsulation")
>> cc: stable@dpdk.org
>>
>> Signed-off-by: Saleh AlSouqi <salehals@mellanox.com>
>> 2.14.1
> 
> Acked-by: Ori Kam <orika@mellanox.com>
> 

Applied to dpdk-next-net/master, thanks.
  

Patch

diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index 23ea7cc82..5c0108fa7 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -3808,6 +3808,7 @@  parse_vc_action_mplsogre_encap(struct context *ctx, const struct token *token,
 	header += sizeof(gre);
 	memcpy(mpls.label_tc_s, mplsogre_encap_conf.label,
 	       RTE_DIM(mplsogre_encap_conf.label));
+	mpls.label_tc_s[2] |= 0x1;
 	memcpy(header, &mpls, sizeof(mpls));
 	header += sizeof(mpls);
 	action_encap_data->conf.size = header -
@@ -3998,6 +3999,7 @@  parse_vc_action_mplsoudp_encap(struct context *ctx, const struct token *token,
 	header += sizeof(udp);
 	memcpy(mpls.label_tc_s, mplsoudp_encap_conf.label,
 	       RTE_DIM(mplsoudp_encap_conf.label));
+	mpls.label_tc_s[2] |= 0x1;
 	memcpy(header, &mpls, sizeof(mpls));
 	header += sizeof(mpls);
 	action_encap_data->conf.size = header -