chiark / gitweb /
site: Deal with losing peer's MSG6 - go to RUN on MSG0 with new key
[secnet.git] / secnet.h
index 06beb05df27fd9c2bb8221052a7d90f48176ec22..b276798918e06284dccc95f592dfcb17b39136ac 100644 (file)
--- a/secnet.h
+++ b/secnet.h
@@ -389,7 +389,11 @@ typedef struct transform_inst_if *transform_createinstance_fn(void *st);
 typedef bool_t transform_setkey_fn(void *st, uint8_t *key, int32_t keylen);
 typedef void transform_delkey_fn(void *st);
 typedef void transform_destroyinstance_fn(void *st);
-/* Returns 0 for 'all is well', any other value for a problem */
+/* Returns:
+ *   0: all is well
+ *   1: for any other problem
+ *   2: message decrypted but sequence number was out of range
+ */
 typedef uint32_t transform_apply_fn(void *st, struct buffer_if *buf,
                                    const char **errmsg);
 
@@ -420,10 +424,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,
@@ -437,8 +442,6 @@ struct netlink_if {
     netlink_register_fn *reg;
     netlink_deliver_fn *deliver;
     netlink_link_quality_fn *set_quality;
-    netlink_output_config_fn *output_config;
-    netlink_check_config_fn *check_config;
     netlink_set_mtu_fn *set_mtu;
 };