summaryrefslogtreecommitdiffstats
path: root/usr.sbin/mrouted/route.h
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1995-06-13 18:05:16 +0000
committerwollman <wollman@FreeBSD.org>1995-06-13 18:05:16 +0000
commitd7ec2bee9b62915b2bfc4cbeffefb602d913f92d (patch)
tree251f664e3bb6640c0dc6968bd9a6ec402be8d14b /usr.sbin/mrouted/route.h
parent20ad4f8359820cf12331c0335034438fc23ad604 (diff)
downloadFreeBSD-src-d7ec2bee9b62915b2bfc4cbeffefb602d913f92d.zip
FreeBSD-src-d7ec2bee9b62915b2bfc4cbeffefb602d913f92d.tar.gz
This is mrouted version 3.5, with the route-change notification hook from
mrouted-3.5n. This is being splatted onto the head rather than properly imported thanks to the ``delete trailing whitespace'' screw. This code is now actively working in an operational environment (the DARTNET) so I have some confidence that the basic functionality actually works. Obtained from: Bill Fenner, PARC, and ISI
Diffstat (limited to 'usr.sbin/mrouted/route.h')
-rw-r--r--usr.sbin/mrouted/route.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/usr.sbin/mrouted/route.h b/usr.sbin/mrouted/route.h
index 2e7aa33..fd84572 100644
--- a/usr.sbin/mrouted/route.h
+++ b/usr.sbin/mrouted/route.h
@@ -7,16 +7,16 @@
* Leland Stanford Junior University.
*
*
- * $Id: route.h,v 1.3 1993/05/30 01:36:38 deering Exp $
+ * $Id: route.h,v 3.5 1995/05/09 01:00:39 fenner Exp $
*/
/*
* Routing Table Entry, one per subnet from which a multicast could originate.
* (Note: all addresses, subnet numbers and masks are kept in NETWORK order.)
*
- * The Routing Table is stored as a singly-linked list of these structures,
- * ordered by increasing value of rt_originmask and, secondarily, by
- * increasing value of rt_origin within each rt_originmask value.
+ * The Routing Table is stored as a doubly-linked list of these structures,
+ * ordered by decreasing value of rt_originmask and, secondarily, by
+ * decreasing value of rt_origin within each rt_originmask value.
* This data structure is efficient for generating route reports, whether
* full or partial, for processing received full reports, for clearing the
* CHANGED flags, and for periodically advancing the timers in all routes.
@@ -27,24 +27,25 @@
*/
struct rtentry {
struct rtentry *rt_next; /* link to next entry MUST BE FIRST */
- u_long rt_origin; /* subnet origin of multicasts */
- u_long rt_originmask; /* subnet mask for origin */
+ u_int32 rt_origin; /* subnet origin of multicasts */
+ u_int32 rt_originmask; /* subnet mask for origin */
short rt_originwidth; /* # bytes of origin subnet number */
u_char rt_metric; /* cost of route back to origin */
u_char rt_flags; /* RTF_ flags defined below */
- u_long rt_gateway; /* first-hop gateway back to origin */
+ u_int32 rt_gateway; /* first-hop gateway back to origin */
vifi_t rt_parent; /* incoming vif (ie towards origin) */
vifbitmap_t rt_children; /* outgoing children vifs */
vifbitmap_t rt_leaves; /* subset of outgoing children vifs */
- u_long *rt_dominants; /* per vif dominant gateways */
- u_long *rt_subordinates; /* per vif subordinate gateways */
+ u_int32 *rt_dominants; /* per vif dominant gateways */
+ u_int32 *rt_subordinates; /* per vif subordinate gateways */
u_long *rt_leaf_timers; /* per vif leaf confirmation timers */
u_long rt_timer; /* for timing out the route entry */
+ struct rtentry *rt_prev; /* link to previous entry */
+ struct gtable *rt_groups; /* link to active groups */
};
#define RTF_CHANGED 0x01 /* route changed but not reported */
#define RTF_LEAF_TIMING 0x02 /* some leaf timers are running */
-
#define ALL_ROUTES 0 /* possible arguments to report() */
#define CHANGED_ROUTES 1 /* and report_to_all_neighbors() */
OpenPOWER on IntegriCloud