meta-flow: Fix mf_get_mask() bug for IPv6 flow label.
authorBen Pfaff <blp@nicira.com>
Thu, 19 Jul 2012 16:20:49 +0000 (09:20 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 19 Jul 2012 16:27:14 +0000 (09:27 -0700)
Commit 32455024 (OXM: Allow masking of IPv6 Flow Label) made the flow label
maskable but did not update mf_get_mask() accordingly.

CC: Simon Horman <horms@verge.net.au>
Signed-off-by: Ben Pfaff <blp@nicira.com>
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;