On Thu, May 28, 2015 at 2:44 PM, Eric Dumazet [off-list ref] wrote:
On Thu, 2015-05-28 at 11:19 -0700, Tom Herbert wrote:
quoted
@@ -566,11 +640,15 @@ static const struct flow_dissector_key flow_keys_dissector_keys[] = {
},
{
.key_id = FLOW_DISSECTOR_KEY_IPV4_ADDRS,
- .offset = offsetof(struct flow_keys, addrs),
+ .offset = offsetof(struct flow_keys, addrs.v4addrs),
+ },
+ {
+ .key_id = FLOW_DISSECTOR_KEY_IPV6_ADDRS,
+ .offset = offsetof(struct flow_keys, addrs.v6addrs),
},
{
.key_id = FLOW_DISSECTOR_KEY_IPV6_HASH_ADDRS,
- .offset = offsetof(struct flow_keys, addrs),
+ .offset = offsetof(struct flow_keys, addrs.v4addrs),
Shouldn't it be offsetof(struct flow_keys, addrs.v6addrs), ?
This is to hash 128 bit IP addresses into 32 bit values which fit in
the v4addrs area. This completely goes away in 07 patch in this set.