Make KBI changes required for future MFCing of inpcb rtentry / llentry caching.

Reviewed by:	rwatson, bz
Approved by:	re (kib)
This commit is contained in:
Kip Macy 2011-09-20 20:27:26 +00:00
parent 3e677ca02c
commit 1eeb6d97d0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=225698
4 changed files with 9 additions and 2 deletions

View File

@ -59,6 +59,7 @@ struct llentry {
struct rwlock lle_lock;
struct lltable *lle_tbl;
struct llentries *lle_head;
void (*lle_free)(struct lltable *, struct llentry *);
struct mbuf *la_hold;
int la_numheld; /* # of packets currently held */
time_t la_expire;

View File

@ -105,6 +105,8 @@ typedef int walktree_f_t(struct radix_node *, void *);
struct radix_node_head {
struct radix_node *rnh_treetop;
u_int rnh_gen; /* generation counter */
int rnh_multipath; /* multipath capable ? */
int rnh_addrsize; /* permit, but not require fixed keys */
int rnh_pktsize; /* permit, but not require fixed keys */
struct radix_node *(*rnh_addaddr) /* add based on sockaddr */
@ -131,8 +133,6 @@ struct radix_node_head {
void (*rnh_close) /* do something when the last ref drops */
(struct radix_node *rn, struct radix_node_head *head);
struct radix_node rnh_nodes[3]; /* empty tree for common case */
int rnh_multipath; /* multipath capable ? */
u_int rnh_spare; /* route caching */
#ifdef _KERNEL
struct rwlock rnh_lock; /* locks entire radix tree */
#endif

View File

@ -49,9 +49,13 @@
struct route {
struct rtentry *ro_rt;
struct llentry *ro_lle;
struct in_ifaddr *ro_ia;
int ro_flags;
struct sockaddr ro_dst;
};
#define RT_CACHING_CONTEXT 0x1
/*
* These numbers are used by reliable protocols for determining
* retransmission behavior and are included in the routing structure.

View File

@ -376,6 +376,8 @@ extern const struct in6_addr in6addr_linklocal_allv2routers;
struct route_in6 {
struct rtentry *ro_rt;
struct llentry *ro_lle;
struct in6_addr *ro_ia6;
int ro_flags;
struct sockaddr_in6 ro_dst;
};
#endif