Merge graceful restart capability display and some small fixes from Zebra
repository by Rivo Nurges.
diff --git a/bgpd/bgp_open.h b/bgpd/bgp_open.h
index af7505a..014bc33 100644
--- a/bgpd/bgp_open.h
+++ b/bgpd/bgp_open.h
@@ -34,36 +34,48 @@
   struct capability_mp mpc;
 };
 
-/* Multiprotocol Extensions capabilities. */
-#define CAPABILITY_CODE_MP              1
-#define CAPABILITY_CODE_MP_LEN          4
+struct graceful_restart_af
+{
+  u_int16_t afi;
+  u_char safi;
+  u_char flag;
+};
 
-/* Route refresh capabilities. */
-#define CAPABILITY_CODE_REFRESH         2
-#define CAPABILITY_CODE_REFRESH_OLD   128
+/* Capability Code */
+#define CAPABILITY_CODE_MP              1 /* Multiprotocol Extensions */
+#define CAPABILITY_CODE_REFRESH         2 /* Route Refresh Capability */
+#define CAPABILITY_CODE_ORF             3 /* Cooperative Route Filtering Capability */
+#define CAPABILITY_CODE_RESTART        64 /* Graceful Restart Capability */
+#define CAPABILITY_CODE_4BYTE_AS       65 /* 4-octet AS number Capability */
+#define CAPABILITY_CODE_DYNAMIC        66 /* Dynamic Capability */
+#define CAPABILITY_CODE_REFRESH_OLD   128 /* Route Refresh Capability(cisco) */
+#define CAPABILITY_CODE_ORF_OLD       130 /* Cooperative Route Filtering Capability(cisco) */
+
+/* Capability Length */
+#define CAPABILITY_CODE_MP_LEN          4
 #define CAPABILITY_CODE_REFRESH_LEN     0
+#define CAPABILITY_CODE_DYNAMIC_LEN     0
+#define CAPABILITY_CODE_RESTART_LEN     2 /* Receiving only case */
 
 /* Cooperative Route Filtering Capability.  */
-#define CAPABILITY_CODE_ORF             3 
-#define CAPABILITY_CODE_ORF_OLD       130
 
-/* ORF Type.  */
+/* ORF Type */
 #define ORF_TYPE_PREFIX                64 
 #define ORF_TYPE_PREFIX_OLD           128
 
-/* ORF Mode.  */
+/* ORF Mode */
 #define ORF_MODE_RECEIVE                1 
 #define ORF_MODE_SEND                   2 
 #define ORF_MODE_BOTH                   3 
 
-/* Dynamic capability.  */
-#define CAPABILITY_CODE_DYNAMIC        66
-#define CAPABILITY_CODE_DYNAMIC_LEN     0
-
 /* Capability Message Action.  */
 #define CAPABILITY_ACTION_SET           0
 #define CAPABILITY_ACTION_UNSET         1
 
+/* Graceful Restart */
+#define RESTART_R_BIT              0x8000
+#define RESTART_F_BIT              0x80
+
 int bgp_open_option_parse (struct peer *, u_char, int *);
 void bgp_open_capability (struct stream *, struct peer *);
 void bgp_capability_vty_out (struct vty *, struct peer *);