mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-23 02:25:02 +07:00
ab84be7e54
Barebones start point for nexthops. Implementation for RTM commands, notifications, management of rbtree for holding nexthops by id, and kernel side data structures for nexthops and nexthop config. Nexthops are maintained in an rbtree sorted by id. Similar to routes, nexthops are configured per namespace using netns_nexthop struct added to struct net. Nexthop notifications are sent when a nexthop is added or deleted, but NOT if the delete is due to a device event or network namespace teardown (which also involves device events). Applications are expected to use the device down event to flush nexthops and any routes used by the nexthops. Signed-off-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
19 lines
381 B
C
19 lines
381 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* nexthops in net namespaces
|
|
*/
|
|
|
|
#ifndef __NETNS_NEXTHOP_H__
|
|
#define __NETNS_NEXTHOP_H__
|
|
|
|
#include <linux/rbtree.h>
|
|
|
|
struct netns_nexthop {
|
|
struct rb_root rb_root; /* tree of nexthops by id */
|
|
struct hlist_head *devhash; /* nexthops by device */
|
|
|
|
unsigned int seq; /* protected by rtnl_mutex */
|
|
u32 last_id_allocated;
|
|
};
|
|
#endif
|