route.c (11dd74b338bf83f8bca70b57bad33a903fedfa6e) route.c (4f80116d3df3b23ee4b83ea8557629e1799bc230)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Linux INET6 implementation
4 * FIB front-end.
5 *
6 * Authors:
7 * Pedro Roque <roque@di.fc.ul.pt>
8 */

--- 5543 unchanged lines hidden (view full) ---

5552 nla_nest_end(skb, mp);
5553 } else if (rt->nh) {
5554 if (nla_put_u32(skb, RTA_NH_ID, rt->nh->id))
5555 goto nla_put_failure;
5556
5557 if (nexthop_is_blackhole(rt->nh))
5558 rtm->rtm_type = RTN_BLACKHOLE;
5559
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Linux INET6 implementation
4 * FIB front-end.
5 *
6 * Authors:
7 * Pedro Roque <roque@di.fc.ul.pt>
8 */

--- 5543 unchanged lines hidden (view full) ---

5552 nla_nest_end(skb, mp);
5553 } else if (rt->nh) {
5554 if (nla_put_u32(skb, RTA_NH_ID, rt->nh->id))
5555 goto nla_put_failure;
5556
5557 if (nexthop_is_blackhole(rt->nh))
5558 rtm->rtm_type = RTN_BLACKHOLE;
5559
5560 if (rt6_fill_node_nexthop(skb, rt->nh, &nh_flags) < 0)
5560 if (net->ipv4.sysctl_nexthop_compat_mode &&
5561 rt6_fill_node_nexthop(skb, rt->nh, &nh_flags) < 0)
5561 goto nla_put_failure;
5562
5563 rtm->rtm_flags |= nh_flags;
5564 } else {
5565 if (fib_nexthop_info(skb, &rt->fib6_nh->nh_common, AF_INET6,
5566 &nh_flags, false) < 0)
5567 goto nla_put_failure;
5568

--- 931 unchanged lines hidden ---
5562 goto nla_put_failure;
5563
5564 rtm->rtm_flags |= nh_flags;
5565 } else {
5566 if (fib_nexthop_info(skb, &rt->fib6_nh->nh_common, AF_INET6,
5567 &nh_flags, false) < 0)
5568 goto nla_put_failure;
5569

--- 931 unchanged lines hidden ---