> It's weird that this bug has been in there so long and been undetected. In > any case, the fix looks good to me. Thanks for tracking it down.
Worth noting: I just tried reproducing the problem on branch-1.2. OVS handles TOS incorrectly for IPv6 traffic on this branch, but it fails to warn. Instead it simply installs the wrong flow in the datapath, and then happily removes it later when no traffic has hit it. Given that IPv6 traffic with TOS set is so rare, this may explain why we haven't noticed the issue before. Ethan > > --Justin > > > On Nov 15, 2011, at 6:43 PM, Ethan Jackson wrote: > >> This problem could cause userspace to automatically evict IPv6 >> flows from the datapath which had TOS bits set. >> >> Bug #8323. >> --- >> lib/flow.c | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/lib/flow.c b/lib/flow.c >> index 8b03e76..3f0bea5 100644 >> --- a/lib/flow.c >> +++ b/lib/flow.c >> @@ -148,7 +148,7 @@ parse_ipv6(struct ofpbuf *packet, struct flow *flow) >> flow->ipv6_dst = nh->ip6_dst; >> >> tc_flow = get_unaligned_be32(&nh->ip6_flow); >> - flow->nw_tos = ntohl(tc_flow) >> 4; >> + flow->nw_tos = ntohl(tc_flow) >> 20; >> flow->ipv6_label = tc_flow & htonl(IPV6_LABEL_MASK); >> flow->nw_ttl = nh->ip6_hlim; >> flow->nw_proto = IPPROTO_NONE; >> -- >> 1.7.7.1 >> >> _______________________________________________ >> dev mailing list >> [email protected] >> http://openvswitch.org/mailman/listinfo/dev > > _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
