]> git.proxmox.com Git - mirror_frr.git/blobdiff - bgpd/bgp_open.h
zebra, lib: fix the ZEBRA_INTERFACE_VRF_UPDATE zapi message
[mirror_frr.git] / bgpd / bgp_open.h
index 459b966dd212bcec696b9a5558df0c979088fe61..0fc321bdf3a6af89a31d291d64f4bbfc7667a2ea 100644 (file)
 #define _QUAGGA_BGP_OPEN_H
 
 /* Standard header for capability TLV */
-struct capability_header
-{
-  u_char code;
-  u_char length;
+struct capability_header {
+       uint8_t code;
+       uint8_t length;
 };
 
 /* Generic MP capability data */
-struct capability_mp_data
-{
-  iana_afi_t afi;
-  u_char reserved;
-  safi_t safi;
+struct capability_mp_data {
+       uint16_t afi; /* iana_afi_t */
+       uint8_t reserved;
+       uint8_t safi; /* iana_safi_t */
 };
 
-#pragma pack(1)
-struct capability_orf_entry 
-{
-  struct capability_mp_data mpc;
-  u_char num;
-  struct {
-    u_char type;
-    u_char mode;
-  } orfs[];
-} __attribute__ ((packed));
-#pragma pack()
-
-struct capability_as4
-{
-  uint32_t as4;
-};
-
-struct graceful_restart_af
-{
-  afi_t afi;
-  safi_t safi;
-  u_char flag;
-};
-
-struct capability_gr
-{
-  u_int16_t restart_flag_time;
-  struct graceful_restart_af gr[];
+struct graceful_restart_af {
+       afi_t afi;
+       safi_t safi;
+       uint8_t flag;
 };
 
 /* Capability Code */
@@ -80,7 +54,6 @@ struct capability_gr
 #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
@@ -111,9 +84,10 @@ struct capability_gr
 #define RESTART_R_BIT              0x8000
 #define RESTART_F_BIT              0x80
 
-extern int bgp_open_option_parse (struct peer *, u_char, int *);
-extern void bgp_open_capability (struct stream *, struct peer *);
-extern void bgp_capability_vty_out (struct vty *, struct peer *, u_char, json_object *);
-extern as_t peek_for_as4_capability (struct peer *, u_char);
+extern int bgp_open_option_parse(struct peer *, uint8_t, int *);
+extern void bgp_open_capability(struct stream *, struct peer *);
+extern void bgp_capability_vty_out(struct vty *vty, struct peer *peer,
+                                  bool use_json, json_object *json_neigh);
+extern as_t peek_for_as4_capability(struct peer *, uint8_t);
 
 #endif /* _QUAGGA_BGP_OPEN_H */