]> git.proxmox.com Git - mirror_frr.git/blobdiff - bgpd/bgp_open.h
Merge pull request #5793 from ton31337/fix/formatting_show_bgp_summary_failed
[mirror_frr.git] / bgpd / bgp_open.h
index b70e96cac4e3ba46280401b10c98bb4dfe93a66b..5250a68581090d6dc870b20f821bbfa1bad9c6e8 100644 (file)
@@ -1,63 +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;
+       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;
+       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[];
+       uint8_t flag;
 };
 
 /* Capability Code */
@@ -69,7 +49,7 @@ struct capability_gr {
 #define CAPABILITY_CODE_DYNAMIC_OLD    66 /* Dynamic Capability, deprecated since 2003 */
 #define CAPABILITY_CODE_DYNAMIC        67 /* Dynamic Capability */
 #define CAPABILITY_CODE_ADDPATH        69 /* Addpath Capability */
-#define CAPABILITY_CODE_FQDN           73 /* Advertise hostname capabilty */
+#define CAPABILITY_CODE_FQDN           73 /* Advertise hostname capability */
 #define CAPABILITY_CODE_ENHE            5 /* Extended Next Hop Encoding */
 #define CAPABILITY_CODE_REFRESH_OLD   128 /* Route Refresh Capability(cisco) */
 #define CAPABILITY_CODE_ORF_OLD       130 /* Cooperative Route Filtering Capability(cisco) */
@@ -88,13 +68,13 @@ struct capability_gr {
 /* Cooperative Route Filtering Capability.  */
 
 /* ORF Type */
-#define ORF_TYPE_PREFIX                64 
+#define ORF_TYPE_PREFIX                64
 #define ORF_TYPE_PREFIX_OLD           128
 
 /* ORF Mode */
-#define ORF_MODE_RECEIVE                1 
-#define ORF_MODE_SEND                   2 
-#define ORF_MODE_BOTH                   3 
+#define ORF_MODE_RECEIVE                1
+#define ORF_MODE_SEND                   2
+#define ORF_MODE_BOTH                   3
 
 /* Capability Message Action.  */
 #define CAPABILITY_ACTION_SET           0
@@ -104,10 +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 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 *, struct peer *, u_char,
-                                  json_object *);
-extern as_t peek_for_as4_capability(struct peer *, u_char);
+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 */