--- bgpd/bgpd.h.orig	Wed Jan 11 03:10:10 2006
+++ bgpd/bgpd.h	Mon Jan 30 08:52:06 2006
@@ -347,6 +347,9 @@
 #define PEER_FLAG_DYNAMIC_CAPABILITY        (1 << 5) /* dynamic capability */
 #define PEER_FLAG_DISABLE_CONNECTED_CHECK   (1 << 6) /* disable-connected-check */
 #define PEER_FLAG_LOCAL_AS_NO_PREPEND       (1 << 7) /* local-as no-prepend */
+#ifdef QUAGGA_TCP_MD5SIG
+#define PEER_FLAG_TCP_SIGNATURE             (1 << 9) /* use TCP-MD5 digest */
+#endif /* QUAGGA_TCP_MD5SIG */
 
   /* NSF mode (graceful restart) */
   u_char nsf[AFI_MAX][SAFI_MAX];
@@ -522,6 +525,13 @@
 #define PEER_RMAP_TYPE_NOSET          (1 << 5) /* not allow to set commands */
 #define PEER_RMAP_TYPE_IMPORT         (1 << 6) /* neighbor route-map import */
 #define PEER_RMAP_TYPE_EXPORT         (1 << 7) /* neighbor route-map export */
+
+#ifdef QUAGGA_TCP_MD5SIG
+ /* TCP-MD5 Password Support -- bms */
+#define PEER_PASSWORD_MINLEN		1
+#define PEER_PASSWORD_MAXLEN		80	/* width of password field */
+ char password[PEER_PASSWORD_MAXLEN];
+#endif /* QUAGGA_TCP_MD5SIG */
 };
 
 /* This structure's member directly points incoming packet data
@@ -904,6 +914,11 @@
 
 extern int peer_local_as_set (struct peer *, as_t, int);
 extern int peer_local_as_unset (struct peer *);
+
+#ifdef QUAGGA_TCP_MD5SIG
+extern int peer_password_set (struct peer *, char *);
+extern int peer_password_unset (struct peer *);
+#endif /* QUAGGA_TCP_MD5SIG */
 
 extern int peer_prefix_list_set (struct peer *, afi_t, safi_t, int, const char *);
 extern int peer_prefix_list_unset (struct peer *, afi_t, safi_t, int);


syntax highlighted by Code2HTML, v. 0.9.1