[ovs-dev] [#8024v2 3/5] Support matching and modifying IP ECN bits.

Jesse Gross jesse at nicira.com
Wed Nov 9 04:44:34 UTC 2011


On Tue, Nov 8, 2011 at 3:57 PM, Justin Pettit <jpettit at nicira.com> wrote:
> diff --git a/lib/odp-util.c b/lib/odp-util.c
> index 2853bf7..29abce4 100644
> --- a/lib/odp-util.c
> +++ b/lib/odp-util.c
> @@ -370,7 +370,7 @@ format_odp_key_attr(const struct nlattr *a, struct ds *ds)
>     case OVS_KEY_ATTR_IPV4:
>         ipv4_key = nl_attr_get(a);
>         ds_put_format(ds, "ipv4(src="IP_FMT",dst="IP_FMT","
> -                      "proto=%"PRId8",tos=%"PRIu8",frag=%s)",
> +                      "proto=%"PRId8",tos=0x%"PRIx8",frag=%s)",
>                       IP_ARGS(&ipv4_key->ipv4_src),
>                       IP_ARGS(&ipv4_key->ipv4_dst),
>                       ipv4_key->ipv4_proto, ipv4_key->ipv4_tos,
> @@ -386,7 +386,7 @@ format_odp_key_attr(const struct nlattr *a, struct ds *ds)
>         inet_ntop(AF_INET6, ipv6_key->ipv6_dst, dst_str, sizeof dst_str);
>
>         ds_put_format(ds, "ipv6(src=%s,dst=%s,label=0x%"PRIx32",proto=%"PRId8
> -                      ",tos=%"PRIu8",frag=%s)",
> +                      ",tos=0x%"PRIx8",frag=%s)",

I would use # here as well.  I also notice that we print both the
individual DSCP/ECN components and the combined ToS in decimal in some
places as well, which is a little weird.

You also need to update the set_tos action in the userspace datapath.



More information about the dev mailing list