From d2ee3a863ab47bea81529727c5e4cf7175d5b4b1 Mon Sep 17 00:00:00 2001 From: Ethan Jackson Date: Tue, 15 Nov 2011 18:35:26 -0800 Subject: [PATCH] flow: flow_extract() improperly parses IPv6 TOS bits. 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 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/flow.c b/lib/flow.c index 06cc822aa..8ab279235 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->tos_frag = (ntohl(tc_flow) >> 4) & IP_DSCP_MASK; + flow->tos_frag = (ntohl(tc_flow) >> 20) & IP_DSCP_MASK; flow->nw_proto = IPPROTO_NONE; while (1) { -- 2.47.0