summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_interface.h
diff options
context:
space:
mode:
Diffstat (limited to 'ospf6d/ospf6_interface.h')
-rw-r--r--ospf6d/ospf6_interface.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/ospf6d/ospf6_interface.h b/ospf6d/ospf6_interface.h
index ee24b989bd..59e4888a5f 100644
--- a/ospf6d/ospf6_interface.h
+++ b/ospf6d/ospf6_interface.h
@@ -24,6 +24,9 @@
#include "qobj.h"
#include "hook.h"
#include "if.h"
+#include "ospf6d.h"
+
+DECLARE_MTYPE(OSPF6_AUTH_MANUAL_KEY);
/* Debug option */
extern unsigned char conf_debug_ospf6_interface;
@@ -31,6 +34,21 @@ extern unsigned char conf_debug_ospf6_interface;
#define OSPF6_DEBUG_INTERFACE_OFF() (conf_debug_ospf6_interface = 0)
#define IS_OSPF6_DEBUG_INTERFACE (conf_debug_ospf6_interface)
+struct ospf6_auth_data {
+ /* config data */
+ uint8_t hash_algo; /* hash algorithm type */
+ uint16_t key_id; /* key-id used as SA in auth packet */
+ char *auth_key; /* Auth key */
+ char *keychain; /* keychain name */
+
+ /* operational data */
+ uint8_t flags; /* Flags related to auth config */
+
+ /* Counters and Statistics */
+ uint32_t tx_drop; /* Pkt drop due to auth fail while sending */
+ uint32_t rx_drop; /* Pkt drop due to auth fail while reading */
+};
+
/* Interface structure */
struct ospf6_interface {
/* IF info from zebra */
@@ -95,6 +113,9 @@ struct ospf6_interface {
/* MTU mismatch check */
uint8_t mtu_ignore;
+ /* Authentication trailer related config */
+ struct ospf6_auth_data at_data;
+
/* Decision of DR Election */
in_addr_t drouter;
in_addr_t bdrouter;
@@ -221,6 +242,9 @@ extern void install_element_ospf6_debug_interface(void);
extern int ospf6_interface_neighbor_count(struct ospf6_interface *oi);
extern uint8_t dr_election(struct ospf6_interface *oi);
+extern void ospf6_interface_auth_trailer_cmd_init(void);
+extern void ospf6_auth_write_config(struct vty *vty,
+ struct ospf6_auth_data *at_data);
DECLARE_HOOK(ospf6_interface_change,
(struct ospf6_interface * oi, int state, int old_state),
(oi, state, old_state));