162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * nexthops in net namespaces 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#ifndef __NETNS_NEXTHOP_H__ 762306a36Sopenharmony_ci#define __NETNS_NEXTHOP_H__ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include <linux/notifier.h> 1062306a36Sopenharmony_ci#include <linux/rbtree.h> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cistruct netns_nexthop { 1362306a36Sopenharmony_ci struct rb_root rb_root; /* tree of nexthops by id */ 1462306a36Sopenharmony_ci struct hlist_head *devhash; /* nexthops by device */ 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci unsigned int seq; /* protected by rtnl_mutex */ 1762306a36Sopenharmony_ci u32 last_id_allocated; 1862306a36Sopenharmony_ci struct blocking_notifier_head notifier_chain; 1962306a36Sopenharmony_ci}; 2062306a36Sopenharmony_ci#endif 21