svn commit: r225698 - in head/sys: net netinet6
Kip Macy
kmacy at FreeBSD.org
Tue Sep 20 20:27:26 UTC 2011
Author: kmacy
Date: Tue Sep 20 20:27:26 2011
New Revision: 225698
URL: http://svn.freebsd.org/changeset/base/225698
Log:
Make KBI changes required for future MFCing of inpcb rtentry / llentry caching.
Reviewed by: rwatson, bz
Approved by: re (kib)
Modified:
head/sys/net/if_llatbl.h
head/sys/net/radix.h
head/sys/net/route.h
head/sys/netinet6/in6.h
Modified: head/sys/net/if_llatbl.h
==============================================================================
--- head/sys/net/if_llatbl.h Tue Sep 20 19:07:56 2011 (r225697)
+++ head/sys/net/if_llatbl.h Tue Sep 20 20:27:26 2011 (r225698)
@@ -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;
Modified: head/sys/net/radix.h
==============================================================================
--- head/sys/net/radix.h Tue Sep 20 19:07:56 2011 (r225697)
+++ head/sys/net/radix.h Tue Sep 20 20:27:26 2011 (r225698)
@@ -105,6 +105,8 @@ typedef int walktree_f_t(struct radix_no
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
Modified: head/sys/net/route.h
==============================================================================
--- head/sys/net/route.h Tue Sep 20 19:07:56 2011 (r225697)
+++ head/sys/net/route.h Tue Sep 20 20:27:26 2011 (r225698)
@@ -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.
Modified: head/sys/netinet6/in6.h
==============================================================================
--- head/sys/netinet6/in6.h Tue Sep 20 19:07:56 2011 (r225697)
+++ head/sys/netinet6/in6.h Tue Sep 20 20:27:26 2011 (r225698)
@@ -376,6 +376,8 @@ extern const struct in6_addr in6addr_lin
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
More information about the svn-src-all
mailing list