]> git.proxmox.com Git - mirror_frr.git/blobdiff - bgpd/bgp_vty.h
Merge pull request #12248 from pguibert6WIND/bgpasdot
[mirror_frr.git] / bgpd / bgp_vty.h
index 04a47f6f62c5fd646a1a72bf120f128d4731bc7d..1c5adff68deebd37bb89cb5a1bb44ccea6d6b2a1 100644 (file)
@@ -1,21 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
 /* BGP VTY interface.
  * Copyright (C) 1996, 97, 98, 99, 2000 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_VTY_H
@@ -28,23 +13,20 @@ struct bgp;
 #define BGP_INSTANCE_HELP_STR "BGP view\nBGP VRF\nView/VRF name\n"
 #define BGP_INSTANCE_ALL_HELP_STR "BGP view\nBGP VRF\nAll Views/VRFs\n"
 
+#define BGP_AF_STR "Address Family\n"
+#define BGP_AF_MODIFIER_STR "Address Family modifier\n"
 #define BGP_AFI_CMD_STR         "<ipv4|ipv6>"
-#define BGP_AFI_HELP_STR        "Address Family\nAddress Family\n"
+#define BGP_AFI_HELP_STR BGP_AF_STR BGP_AF_STR
 #define BGP_SAFI_CMD_STR        "<unicast|multicast|vpn>"
 #define BGP_SAFI_HELP_STR                                                      \
-       "Address Family modifier\n"                                            \
-       "Address Family modifier\n"                                            \
-       "Address Family modifier\n"
+       BGP_AF_MODIFIER_STR BGP_AF_MODIFIER_STR BGP_AF_MODIFIER_STR
 #define BGP_AFI_SAFI_CMD_STR    BGP_AFI_CMD_STR" "BGP_SAFI_CMD_STR
 #define BGP_AFI_SAFI_HELP_STR   BGP_AFI_HELP_STR BGP_SAFI_HELP_STR
 
 #define BGP_SAFI_WITH_LABEL_CMD_STR  "<unicast|multicast|vpn|labeled-unicast|flowspec>"
 #define BGP_SAFI_WITH_LABEL_HELP_STR                                           \
-       "Address Family modifier\n"                                            \
-       "Address Family modifier\n"                                            \
-       "Address Family modifier\n"                                            \
-       "Address Family modifier\n"                                            \
-       "Address Family modifier\n"
+       BGP_AF_MODIFIER_STR BGP_AF_MODIFIER_STR BGP_AF_MODIFIER_STR            \
+               BGP_AF_MODIFIER_STR BGP_AF_MODIFIER_STR
 
 #define SHOW_GR_HEADER \
        "Codes: GR - Graceful Restart," \
@@ -59,19 +41,14 @@ struct bgp;
        "V         AS    LocalAS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt Desc\n"
 #define BGP_SHOW_SUMMARY_HEADER_FAILED "EstdCnt DropCnt ResetTime Reason\n"
 
-#define BGP_SHOW_PEER_GR_CAPABILITY( \
-                       vty, p, use_json, json) \
-       do {                    \
-               bgp_show_neighbor_graceful_restart_local_mode( \
-                               vty, p, use_json, json);                \
-               bgp_show_neighbor_graceful_restart_remote_mode( \
-                               vty, p, use_json, json); \
-               bgp_show_neighnor_graceful_restart_rbit( \
-                               vty, p, use_json, json);        \
-               bgp_show_neighbor_graceful_restart_time( \
-                               vty, p, use_json, json);        \
-               bgp_show_neighbor_graceful_restart_capability_per_afi_safi(\
-                                               vty, p, use_json, json); \
+#define BGP_SHOW_PEER_GR_CAPABILITY(vty, p, json)                              \
+       do {                                                                   \
+               bgp_show_neighbor_graceful_restart_local_mode(vty, p, json);   \
+               bgp_show_neighbor_graceful_restart_remote_mode(vty, p, json);  \
+               bgp_show_neighnor_graceful_restart_flags(vty, p, json);        \
+               bgp_show_neighbor_graceful_restart_time(vty, p, json);         \
+               bgp_show_neighbor_graceful_restart_capability_per_afi_safi(    \
+                       vty, p, json);                                         \
        } while (0)
 
 #define VTY_BGP_GR_DEFINE_LOOP_VARIABLE                                        \
@@ -153,17 +130,20 @@ struct bgp;
                                "endOfRibSentAfterUpdate");                    \
        } while (0)
 
+extern void bgp_clear_soft_in(struct bgp *bgp, afi_t afi, safi_t safi);
 extern void bgp_vty_init(void);
 extern void community_alias_vty(void);
 extern const char *get_afi_safi_str(afi_t afi, safi_t safi, bool for_json);
 extern int bgp_get_vty(struct bgp **bgp, as_t *as, const char *name,
-                      enum bgp_instance_type inst_type);
+                      enum bgp_instance_type inst_type, const char *as_pretty,
+                      enum asnotation_mode asnotation);
 extern void bgp_config_write_update_delay(struct vty *vty, struct bgp *bgp);
 extern void bgp_config_write_wpkt_quanta(struct vty *vty, struct bgp *bgp);
 extern void bgp_config_write_rpkt_quanta(struct vty *vty, struct bgp *bgp);
 extern void bgp_config_write_listen(struct vty *vty, struct bgp *bgp);
 extern void bgp_config_write_coalesce_time(struct vty *vty, struct bgp *bgp);
 extern int bgp_vty_return(struct vty *vty, int ret);
+extern bool bgp_config_inprocess(void);
 extern struct peer *peer_and_group_lookup_vty(struct vty *vty,
                                              const char *peer_str);
 
@@ -187,34 +167,6 @@ int bgp_vty_find_and_parse_bgp(struct vty *vty, struct cmd_token **argv,
 extern int bgp_show_summary_vty(struct vty *vty, const char *name, afi_t afi,
                                safi_t safi, const char *neighbor, int as_type,
                                as_t as, uint16_t show_flags);
-extern int bgp_clear_star_soft_in(const char *name, char *errmsg,
-                                 size_t errmsg_len);
-extern int bgp_clear_star_soft_out(const char *name, char *errmsg,
-                                  size_t errmsg_len);
-int bgp_wpkt_quanta_config_vty(struct bgp *bgp, uint32_t quanta, bool set);
-int bgp_rpkt_quanta_config_vty(struct bgp *bgp, uint32_t quanta, bool set);
-extern int bgp_maxpaths_config_vty(struct bgp *bgp, afi_t afi, safi_t safi,
-                                  int peer_type, uint16_t maxpaths,
-                                  uint16_t options, int set, char *errmsg,
-                                  size_t errmsg_len);
-extern const char *bgp_afi_safi_get_container_str(afi_t afi, safi_t safi);
-extern bool vpn_policy_check_import(struct bgp *bgp, afi_t afi, safi_t safi,
-                                   bool v2vimport, char *errmsg,
-                                   size_t errmsg_len);
-extern int bgp_nb_errmsg_return(char *errmsg, size_t errmsg_len, int ret);
-extern bool peer_address_self_check(struct bgp *bgp, union sockunion *su);
-extern int peer_local_interface_cfg(struct bgp *bgp, const char *ip_str,
-                                   const char *str, char *errmsg,
-                                   size_t errmsg_len);
-extern int peer_conf_interface_create(struct bgp *bgp, const char *conf_if,
-                                     bool v6only, const char *peer_group_name,
-                                     int as_type, as_t as, char *errmsg,
-                                     size_t errmsg_len);
-extern int peer_flag_modify_nb(struct bgp *bgp, const char *ip_str,
-                              struct peer *peer, uint32_t flag, bool set,
-                              char *errmsg, size_t errmsg_len);
-extern int peer_af_flag_modify_nb(struct peer *peer, afi_t afi, safi_t safi,
-                                 uint32_t flag, int set, char *errmsg,
-                                 size_t errmsg_len);
+extern bool peergroup_flag_check(struct peer *peer, uint64_t flag);
 
 #endif /* _QUAGGA_BGP_VTY_H */