Changeset View
Changeset View
Standalone View
Standalone View
head/sys/net/route.h
Show First 20 Lines • Show All 109 Lines • ▼ Show 20 Lines | |||||
* is not required. | * is not required. | ||||
*/ | */ | ||||
typedef volatile u_int rt_gen_t; /* tree generation (for adds) */ | typedef volatile u_int rt_gen_t; /* tree generation (for adds) */ | ||||
#define RT_GEN(fibnum, af) rt_tables_get_gen(fibnum, af) | #define RT_GEN(fibnum, af) rt_tables_get_gen(fibnum, af) | ||||
#define RT_DEFAULT_FIB 0 /* Explicitly mark fib=0 restricted cases */ | #define RT_DEFAULT_FIB 0 /* Explicitly mark fib=0 restricted cases */ | ||||
#define RT_ALL_FIBS -1 /* Announce event for every fib */ | #define RT_ALL_FIBS -1 /* Announce event for every fib */ | ||||
#ifdef _KERNEL | #ifdef _KERNEL | ||||
extern u_int rt_numfibs; /* number of usable routing tables */ | VNET_DECLARE(uint32_t, _rt_numfibs); /* number of existing route tables */ | ||||
#define V_rt_numfibs VNET(_rt_numfibs) | |||||
/* temporary compat arg */ | |||||
#define rt_numfibs V_rt_numfibs | |||||
VNET_DECLARE(u_int, rt_add_addr_allfibs); /* Announce interfaces to all fibs */ | VNET_DECLARE(u_int, rt_add_addr_allfibs); /* Announce interfaces to all fibs */ | ||||
#define V_rt_add_addr_allfibs VNET(rt_add_addr_allfibs) | #define V_rt_add_addr_allfibs VNET(rt_add_addr_allfibs) | ||||
#endif | #endif | ||||
/* | /* | ||||
* We distinguish between routes to hosts and routes to networks, | * We distinguish between routes to hosts and routes to networks, | ||||
* preferring the former if available. For each route we infer | * preferring the former if available. For each route we infer | ||||
* the interface to use from the gateway address supplied when | * the interface to use from the gateway address supplied when | ||||
▲ Show 20 Lines • Show All 247 Lines • ▼ Show 20 Lines | |||||
void rt_newaddrmsg_fib(int, struct ifaddr *, struct rtentry *, int); | void rt_newaddrmsg_fib(int, struct ifaddr *, struct rtentry *, int); | ||||
int rt_addrmsg(int, struct ifaddr *, int); | int rt_addrmsg(int, struct ifaddr *, int); | ||||
int rt_routemsg(int, struct rtentry *, struct ifnet *ifp, int, int); | int rt_routemsg(int, struct rtentry *, struct ifnet *ifp, int, int); | ||||
int rt_routemsg_info(int, struct rt_addrinfo *, int); | int rt_routemsg_info(int, struct rt_addrinfo *, int); | ||||
void rt_newmaddrmsg(int, struct ifmultiaddr *); | void rt_newmaddrmsg(int, struct ifmultiaddr *); | ||||
void rt_maskedcopy(struct sockaddr *, struct sockaddr *, struct sockaddr *); | void rt_maskedcopy(struct sockaddr *, struct sockaddr *, struct sockaddr *); | ||||
struct rib_head *rt_table_init(int, int, u_int); | struct rib_head *rt_table_init(int, int, u_int); | ||||
void rt_table_destroy(struct rib_head *); | void rt_table_destroy(struct rib_head *); | ||||
u_int rt_tables_get_gen(int table, int fam); | u_int rt_tables_get_gen(uint32_t table, sa_family_t family); | ||||
int rtsock_addrmsg(int, struct ifaddr *, int); | int rtsock_addrmsg(int, struct ifaddr *, int); | ||||
int rtsock_routemsg(int, struct rtentry *, struct ifnet *ifp, int, int); | int rtsock_routemsg(int, struct rtentry *, struct ifnet *ifp, int, int); | ||||
int rtsock_routemsg_info(int, struct rt_addrinfo *, int); | int rtsock_routemsg_info(int, struct rt_addrinfo *, int); | ||||
struct sockaddr *rtsock_fix_netmask(const struct sockaddr *dst, | struct sockaddr *rtsock_fix_netmask(const struct sockaddr *dst, | ||||
const struct sockaddr *smask, struct sockaddr_storage *dmask); | const struct sockaddr *smask, struct sockaddr_storage *dmask); | ||||
Show All 24 Lines |