net: Replace nhc_has_gw with nhc_gw_family
Allow the gateway in a fib_nh_common to be from a different address family than the outer fib{6}_nh. To that end, replace nhc_has_gw with nhc_gw_family and update users of nhc_has_gw to check nhc_gw_family. Now nhc_family is used to know if the nh_common is part of a fib_nh or fib6_nh (used for container_of to get to route family specific data), and nhc_gw_family represents the address family for the gateway. Signed-off-by: David Ahern <dsahern@gmail.com> Reviewed-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
71df5777aa
commit
bdf0046771
@@ -69,13 +69,13 @@ TRACE_EVENT(fib_table_lookup,
|
||||
__assign_str(name, dev ? dev->name : "-");
|
||||
|
||||
if (nhc) {
|
||||
if (nhc->nhc_family == AF_INET) {
|
||||
if (nhc->nhc_gw_family == AF_INET) {
|
||||
p32 = (__be32 *) __entry->gw4;
|
||||
*p32 = nhc->nhc_gw.ipv4;
|
||||
|
||||
in6 = (struct in6_addr *)__entry->gw6;
|
||||
*in6 = in6_zero;
|
||||
} else if (nhc->nhc_family == AF_INET6) {
|
||||
} else if (nhc->nhc_gw_family == AF_INET6) {
|
||||
p32 = (__be32 *) __entry->gw4;
|
||||
*p32 = 0;
|
||||
|
||||
|
Reference in New Issue
Block a user