meta-flow: Fix mf_get_mask() bug for IPv6 flow label.
[openvswitch] / lib / meta-flow.c
index 8bc3d1a59e89d6bc057ee5a74c99e5fa72b0a4cd..a5505c961e8576301e4d07a40d09b49fdd09f160 100644 (file)
@@ -647,7 +647,6 @@ mf_get_mask(const struct mf_field *mf, const struct flow_wildcards *wc,
     case MFF_IP_DSCP:
     case MFF_IP_ECN:
     case MFF_IP_TTL:
-    case MFF_IPV6_LABEL:
     case MFF_ARP_OP:
     case MFF_ARP_SHA:
     case MFF_ARP_THA:
@@ -699,6 +698,9 @@ mf_get_mask(const struct mf_field *mf, const struct flow_wildcards *wc,
     case MFF_IPV6_DST:
         mask->ipv6 = wc->ipv6_dst_mask;
         break;
+    case MFF_IPV6_LABEL:
+        mask->be32 = wc->ipv6_label_mask;
+        break;
 
     case MFF_ND_TARGET:
         mask->ipv6 = wc->nd_target_mask;