cleanups
[unix-history] / usr / src / sbin / routed / table.h
index 5a0d197..0664e9e 100644 (file)
@@ -1,4 +1,10 @@
-/*     table.h 4.2     84/04/09        */
+/*
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.  The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ *
+ *     @(#)table.h     5.2 (Berkeley) %G%
+ */
 
 /*
  * Routing table management daemon.
 
 /*
  * Routing table management daemon.
@@ -43,15 +49,24 @@ struct rt_entry {
 #define        rt_metric       rt_rtu.rtu_entry.rtu_metric     /* cost of route */
 #define        rt_ifp          rt_rtu.rtu_entry.rtu_ifp        /* interface to take */
 
 #define        rt_metric       rt_rtu.rtu_entry.rtu_metric     /* cost of route */
 #define        rt_ifp          rt_rtu.rtu_entry.rtu_ifp        /* interface to take */
 
-#define        ROUTEHASHSIZ    19
+#define        ROUTEHASHSIZ    32              /* must be a power of 2 */
+#define        ROUTEHASHMASK   (ROUTEHASHSIZ - 1)
 
 /*
  * "State" of routing table entry.
  */
 #define        RTS_CHANGED     0x1             /* route has been altered recently */
 
 /*
  * "State" of routing table entry.
  */
 #define        RTS_CHANGED     0x1             /* route has been altered recently */
+#define        RTS_EXTERNAL    0x2             /* extern info, not installed or sent */
+#define        RTS_INTERNAL    0x4             /* internal route, not installed */
 #define        RTS_PASSIVE     IFF_PASSIVE     /* don't time out route */
 #define        RTS_INTERFACE   IFF_INTERFACE   /* route is for network interface */
 #define        RTS_REMOTE      IFF_REMOTE      /* route is for ``remote'' entity */
 #define        RTS_PASSIVE     IFF_PASSIVE     /* don't time out route */
 #define        RTS_INTERFACE   IFF_INTERFACE   /* route is for network interface */
 #define        RTS_REMOTE      IFF_REMOTE      /* route is for ``remote'' entity */
+#define        RTS_SUBNET      IFF_SUBNET      /* route is for network subnet */
+
+/*
+ * Flags are same as kernel, with this addition for af_rtflags:
+ */
+#define        RTF_SUBNET      0x8000          /* pseudo: route to subnet */
 
 struct rthash nethash[ROUTEHASHSIZ];
 struct rthash hosthash[ROUTEHASHSIZ];
 
 struct rthash nethash[ROUTEHASHSIZ];
 struct rthash hosthash[ROUTEHASHSIZ];