chiark / gitweb /
userv-ipif: Always request routes from userv, regardless of link quality
[secnet.git] / secnet.h
index e7eb161d2ff0114e5edea55840cd1d1a9abb4583..ecbb9959bc7d2fbc824514a82d5397b574f39c88 100644 (file)
--- a/secnet.h
+++ b/secnet.h
@@ -184,13 +184,17 @@ extern void register_for_poll(void *st, beforepoll_fn *before,
 
 /* The secnet program goes through a number of phases in its lifetime.
    Module code may arrange to be called just as various phases are
-   entered. */
+   entered.
+   Remember to update the table in util.c if changing the set of
+   phases. */
 
 enum phase {
     PHASE_INIT,
     PHASE_GETOPTS,             /* Process command-line arguments */
     PHASE_READCONFIG,          /* Parse and process configuration file */
     PHASE_SETUP,               /* Process information in configuration */
+    PHASE_DAEMONIZE,           /* Become a daemon (if necessary) */
     PHASE_GETRESOURCES,        /* Obtain all external resources */
     PHASE_DROPPRIV,            /* Last chance for privileged operations */
     PHASE_RUN,
@@ -416,10 +420,11 @@ struct transform_if {
 typedef void netlink_deliver_fn(void *st, struct buffer_if *buf);
 /* site code can tell netlink when outgoing packets will be dropped,
    so netlink can generate appropriate ICMP and make routing decisions */
-#define LINK_QUALITY_DOWN 0   /* No chance of a packet being delivered */
-#define LINK_QUALITY_DOWN_STALE_ADDRESS 1 /* Link down, old address information */
-#define LINK_QUALITY_DOWN_CURRENT_ADDRESS 2 /* Link down, current address information */
-#define LINK_QUALITY_UP 3     /* Link active */
+#define LINK_QUALITY_UNUSED 0   /* This link is unused, do not make this netlink */
+#define LINK_QUALITY_DOWN 1   /* No chance of a packet being delivered right away*/
+#define LINK_QUALITY_DOWN_STALE_ADDRESS 2 /* Link down, old address information */
+#define LINK_QUALITY_DOWN_CURRENT_ADDRESS 3 /* Link down, current address information */
+#define LINK_QUALITY_UP 4     /* Link active */
 #define MAXIMUM_LINK_QUALITY 3
 typedef void netlink_link_quality_fn(void *st, uint32_t quality);
 typedef void netlink_register_fn(void *st, netlink_deliver_fn *deliver,