nexthop.h (732d167bf5f53a8c1e8c53cf7dbffe2a13f63752) nexthop.h (ce7e9c8a080b6daca646a7740d916ed547503a12)
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Generic nexthop implementation
4 *
5 * Copyright (c) 2017-19 Cumulus Networks
6 * Copyright (c) 2017-19 David Ahern <dsa@cumulusnetworks.com>
7 */
8

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

139 u32 id;
140 bool is_grp;
141 union {
142 struct nh_notifier_single_info *nh;
143 struct nh_notifier_grp_info *nh_grp;
144 };
145};
146
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Generic nexthop implementation
4 *
5 * Copyright (c) 2017-19 Cumulus Networks
6 * Copyright (c) 2017-19 David Ahern <dsa@cumulusnetworks.com>
7 */
8

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

139 u32 id;
140 bool is_grp;
141 union {
142 struct nh_notifier_single_info *nh;
143 struct nh_notifier_grp_info *nh_grp;
144 };
145};
146
147int register_nexthop_notifier(struct net *net, struct notifier_block *nb);
147int register_nexthop_notifier(struct net *net, struct notifier_block *nb,
148 struct netlink_ext_ack *extack);
148int unregister_nexthop_notifier(struct net *net, struct notifier_block *nb);
149void nexthop_set_hw_flags(struct net *net, u32 id, bool offload, bool trap);
150
151/* caller is holding rcu or rtnl; no reference taken to nexthop */
152struct nexthop *nexthop_find_by_id(struct net *net, u32 id);
153void nexthop_free_rcu(struct rcu_head *head);
154
155static inline bool nexthop_get(struct nexthop *nh)

--- 323 unchanged lines hidden ---
149int unregister_nexthop_notifier(struct net *net, struct notifier_block *nb);
150void nexthop_set_hw_flags(struct net *net, u32 id, bool offload, bool trap);
151
152/* caller is holding rcu or rtnl; no reference taken to nexthop */
153struct nexthop *nexthop_find_by_id(struct net *net, u32 id);
154void nexthop_free_rcu(struct rcu_head *head);
155
156static inline bool nexthop_get(struct nexthop *nh)

--- 323 unchanged lines hidden ---