diff options
author | wollman <wollman@FreeBSD.org> | 1995-06-13 18:05:16 +0000 |
---|---|---|
committer | wollman <wollman@FreeBSD.org> | 1995-06-13 18:05:16 +0000 |
commit | d7ec2bee9b62915b2bfc4cbeffefb602d913f92d (patch) | |
tree | 251f664e3bb6640c0dc6968bd9a6ec402be8d14b /usr.sbin/mrouted/route.h | |
parent | 20ad4f8359820cf12331c0335034438fc23ad604 (diff) | |
download | FreeBSD-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.h | 21 |
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() */ |