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
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to