[ovs-dev] [PATCH] ofproto-dpif-xlate: Correct check for MPLS LSE
Simon Horman
horms at verge.net.au
Tue Jan 7 04:48:08 UTC 2014
zero is a valid MPLS LSE so it is not valid check against
that value for MPLS LSE presence. Instead, check against
the flow's dl_type which should be an MPLS type if an LSE is present.
This problem appears to have been introduced by
b2dd70be133bf86c ("Native Set-Field action.").
Cc: Jarno Rajahalme <jrajahalme at nicira.com>
Signed-off-by: Simon Horman <horms at verge.net.au>
---
ofproto/ofproto-dpif-xlate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
index 13a5d07..8b3021c 100644
--- a/ofproto/ofproto-dpif-xlate.c
+++ b/ofproto/ofproto-dpif-xlate.c
@@ -2754,7 +2754,7 @@ do_xlate_actions(const struct ofpact *ofpacts, size_t ofpacts_len,
* applicable header fields. Do nothing if no header exists. */
if ((mf->id != MFF_VLAN_VID || flow->vlan_tci & htons(VLAN_CFI))
&& ((mf->id != MFF_MPLS_LABEL && mf->id != MFF_MPLS_TC)
- || flow->mpls_lse)) {
+ || eth_type_mpls(flow->dl_type))) {
mf_set_flow_value(mf, &set_field->value, flow);
}
break;
--
1.8.4
More information about the dev
mailing list