mirror of
https://github.com/openvswitch/ovs
synced 2025-08-30 22:05:19 +00:00
ofproto-dpif-xlate: Correct check for MPLS LSE
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
b2dd70be13
("Native Set-Field action.").
Cc: Jarno Rajahalme <jrajahalme@nicira.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user