[ovs-dev] [#8024 4/7] Support matching IPv6 flow label.

Ben Pfaff blp at nicira.com
Mon Nov 7 19:42:23 UTC 2011


On Mon, Nov 07, 2011 at 10:33:07AM -0800, Justin Pettit wrote:
> Signed-off-by: Justin Pettit <jpettit at nicira.com>

Would you mind humoring me by writing htonl(0) below:
> +    if (wc & FWW_IPV6_LABEL) {
> +        flow->ipv6_label = 0;
> +    }

and here too:
+    case MFF_IPV6_LABEL:
+        rule->wc.wildcards |= FWW_IPV6_LABEL;
+        rule->flow.ipv6_label = 0;
+        break;
+

I'm pretty sure that the added "3" here should be a "4" (and the "7"
an "8") since you defined NXM_OF_IPV6_LABEL as a 32-bit field in the
NXM protocol:

> @@ -106,6 +106,7 @@ nxm_decode_n_bits(ovs_be16 ofs_nbits)
>   *  NXM_OF_IP_PROTO     4       2    --      6
>   *  NXM_OF_IPV6_SRC_W   4      16    16     36
>   *  NXM_OF_IPV6_DST_W   4      16    16     36
> + *  NXM_OF_IPV6_LABEL   4       3    --      7
>   *  NXM_OF_ICMP_TYPE    4       1    --      5
>   *  NXM_OF_ICMP_CODE    4       1    --      5
>   *  NXM_NX_ND_TARGET    4      16    --     20

In ofputil_normalize_rule(), I think that the new MAY_IPV6_LABEL is
redundant with the existing MAY_IPV6_ADDR so you could fold it in.

In packets.h the new IPV6_LABEL_MASK might deserve a comment.

I didn't really look at the kernel code.



More information about the dev mailing list