From 7f8a65cac1a42e1c8eb1b1f6ebf76b57718befc4 Mon Sep 17 00:00:00 2001 From: Justin Pettit Date: Fri, 28 Jun 2013 11:31:48 -0700 Subject: [PATCH] flow: Don't assume non-IPv4 is IPv6 for un-wildcarding. When determinining what fields to un-wildcard for the symmetric L4 hash, don't include the IPv6 address fields if the packet isn't IPv6. Reported-by: Jarno Rajahalme Signed-off-by: Justin Pettit Acked-by: Ethan Jackson --- lib/flow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/flow.c b/lib/flow.c index 1a5084b60..d899d260d 100644 --- a/lib/flow.c +++ b/lib/flow.c @@ -795,7 +795,7 @@ flow_mask_hash_fields(const struct flow *flow, struct flow_wildcards *wc, if (flow->dl_type == htons(ETH_TYPE_IP)) { memset(&wc->masks.nw_src, 0xff, sizeof wc->masks.nw_src); memset(&wc->masks.nw_dst, 0xff, sizeof wc->masks.nw_dst); - } else { + } else if (flow->dl_type == htons(ETH_TYPE_IPV6)) { memset(&wc->masks.ipv6_src, 0xff, sizeof wc->masks.ipv6_src); memset(&wc->masks.ipv6_dst, 0xff, sizeof wc->masks.ipv6_dst); } -- 2.43.0