diff options
Diffstat (limited to 'usr.sbin/mrouted/prune.h')
-rw-r--r-- | usr.sbin/mrouted/prune.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/usr.sbin/mrouted/prune.h b/usr.sbin/mrouted/prune.h index 57ae067ce74f..11740cf94c21 100644 --- a/usr.sbin/mrouted/prune.h +++ b/usr.sbin/mrouted/prune.h @@ -7,7 +7,7 @@ * Leland Stanford Junior University. * * - * $Id: prune.h,v 3.8 1995/11/29 22:36:57 fenner Rel $ + * prune.h,v 3.8.4.5 1998/02/27 22:45:43 fenner Exp */ /* @@ -32,11 +32,14 @@ struct gtable { vifbitmap_t gt_grpmems; /* forw. vifs for src, grp */ int gt_prsent_timer; /* prune timer for this group */ int gt_timer; /* timer for this group entry */ - time_t gt_ctime; /* time of entry creation */ + time_t gt_ctime; /* time of entry creation */ u_char gt_grftsnt; /* graft sent/retransmit timer */ + nbrbitmap_t gt_prunes; /* bitmap of neighbors who pruned */ struct stable *gt_srctbl; /* source table */ struct ptable *gt_pruntbl; /* prune table */ struct rtentry *gt_route; /* parent route */ + int gt_rexmit_timer; /* timer for prune retransmission */ + int gt_prune_rexmit; /* time til prune retransmission */ #ifdef RSRR struct rsrr_cache *gt_rsrr_cache; /* RSRR cache */ #endif /* RSRR */ @@ -52,6 +55,8 @@ struct stable struct stable *st_next; /* pointer to the next entry */ u_int32 st_origin; /* host origin of multicasts */ u_long st_pktcnt; /* packet count for src-grp entry */ + u_long st_savpkt; /* saved pkt cnt when no krnl entry */ + time_t st_ctime; /* kernel entry creation time */ }; /* @@ -62,9 +67,12 @@ struct ptable struct ptable *pt_next; /* pointer to the next entry */ u_int32 pt_router; /* router that sent this prune */ vifi_t pt_vifi; /* vif prune received on */ + int pt_index; /* neighbor index of router */ int pt_timer; /* timer for prune */ }; +#define MIN_PRUNE_LIFE TIMER_INTERVAL /* min prune lifetime to bother with */ + /* * The packet format for a traceroute request. */ @@ -137,7 +145,7 @@ struct tr_resp { }; #define VAL_TO_MASK(x, i) { \ - x = htonl(~((1 << (32 - (i))) - 1)); \ + x = i ? htonl(~((1 << (32 - (i))) - 1)) : 0; \ }; #define NBR_VERS(n) (((n)->al_pv << 8) + (n)->al_mv) |