1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * nexthops in net namespaces 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun #ifndef __NETNS_NEXTHOP_H__ 7*4882a593Smuzhiyun #define __NETNS_NEXTHOP_H__ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #include <linux/rbtree.h> 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun struct netns_nexthop { 12*4882a593Smuzhiyun struct rb_root rb_root; /* tree of nexthops by id */ 13*4882a593Smuzhiyun struct hlist_head *devhash; /* nexthops by device */ 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun unsigned int seq; /* protected by rtnl_mutex */ 16*4882a593Smuzhiyun u32 last_id_allocated; 17*4882a593Smuzhiyun struct blocking_notifier_head notifier_chain; 18*4882a593Smuzhiyun }; 19*4882a593Smuzhiyun #endif 20