]> 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 9275b3a101d894607a3a2d05baebc9a6631a2560..0fc321bdf3a6af89a31d291d64f4bbfc7667a2ea 100644 (file)
@@ -1,69 +1,43 @@
 /* BGP open message handling
  Copyright (C) 1999 Kunihiro Ishiguro
-
-This file is part of GNU Zebra.
-
-GNU Zebra is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-GNU Zebra is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Zebra; see the file COPYING.  If not, write to the Free
-Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.  */
* Copyright (C) 1999 Kunihiro Ishiguro
+ *
+ * This file is part of GNU Zebra.
+ *
+ * GNU Zebra is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ *
+ * GNU Zebra is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; see the file COPYING; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
 
 #ifndef _QUAGGA_BGP_OPEN_H
 #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;
-};
-
-#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 capability_mp_data {
+       uint16_t afi; /* iana_afi_t */
+       uint8_t reserved;
+       uint8_t safi; /* iana_safi_t */
 };
 
-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 */