flow_dissector: Use same pointer for IPv4 and IPv6 addresses
The IPv6 parsing was using a local pointer when it could use the same pointer as the IPv4 portion of the code since the key_addrs can support both IPv4 and IPv6 as it is just a pointer. Signed-off-by: Alexander Duyck <aduyck@mirantis.com> Acked-by: Tom Herbert <tom@herbertland.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
224516b3a7
commit
b3c3106ce3
@ -220,13 +220,12 @@ ipv6:
|
|||||||
|
|
||||||
if (dissector_uses_key(flow_dissector,
|
if (dissector_uses_key(flow_dissector,
|
||||||
FLOW_DISSECTOR_KEY_IPV6_ADDRS)) {
|
FLOW_DISSECTOR_KEY_IPV6_ADDRS)) {
|
||||||
struct flow_dissector_key_ipv6_addrs *key_ipv6_addrs;
|
key_addrs = skb_flow_dissector_target(flow_dissector,
|
||||||
|
|
||||||
key_ipv6_addrs = skb_flow_dissector_target(flow_dissector,
|
|
||||||
FLOW_DISSECTOR_KEY_IPV6_ADDRS,
|
FLOW_DISSECTOR_KEY_IPV6_ADDRS,
|
||||||
target_container);
|
target_container);
|
||||||
|
|
||||||
memcpy(key_ipv6_addrs, &iph->saddr, sizeof(*key_ipv6_addrs));
|
memcpy(&key_addrs->v6addrs, &iph->saddr,
|
||||||
|
sizeof(key_addrs->v6addrs));
|
||||||
key_control->addr_type = FLOW_DISSECTOR_KEY_IPV6_ADDRS;
|
key_control->addr_type = FLOW_DISSECTOR_KEY_IPV6_ADDRS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user