]> git.proxmox.com Git - mirror_frr.git/blobdiff - bgpd/bgp_vty.h
Merge pull request #410 from dslicenc/rdnbrd-vrr
[mirror_frr.git] / bgpd / bgp_vty.h
index 53456ffcd1de6df7c68bd585b0b49783b0cb84c6..a0aabcbd2ce6d547d8015a7df86b0c16ecbe9e36 100644 (file)
@@ -21,15 +21,27 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 #ifndef _QUAGGA_BGP_VTY_H
 #define _QUAGGA_BGP_VTY_H
 
-#include "bgpd/bgpd.h"
+struct bgp;
 
-#define CMD_AS_RANGE "<1-4294967295>"
-#define DYNAMIC_NEIGHBOR_LIMIT_RANGE "<1-5000>"
-#define BGP_INSTANCE_CMD "(view|vrf) WORD"
 #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_AFI_CMD_STR         "<ipv4|ipv6>"
+#define BGP_AFI_HELP_STR        "Address Family\nAddress Family\n"
+#define BGP_SAFI_CMD_STR        "<unicast|multicast|vpn|encap|labeled-unicast>"
+#define BGP_SAFI_HELP_STR       \
+  "Address Family modifier\n"   \
+  "Address Family modifier\n"   \
+  "Address Family modifier\n"   \
+  "Address Family modifier\n"   \
+  "Address Family modifier\n"   \
+  "Address Family modifier\n"
+#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
 
 extern void bgp_vty_init (void);
 extern const char *afi_safi_print (afi_t, safi_t);
+extern const char *afi_safi_json (afi_t, safi_t);
 extern int bgp_config_write_update_delay (struct vty *, struct bgp *);
 extern int bgp_config_write_wpkt_quanta(struct vty *vty, struct bgp *bgp);
 extern int bgp_config_write_listen(struct vty *vty, struct bgp *bgp);
@@ -38,4 +50,22 @@ extern int bgp_vty_return (struct vty *vty, int ret);
 extern struct peer *
 peer_and_group_lookup_vty (struct vty *vty, const char *peer_str);
 
+extern int
+bgp_parse_afi(const char *str, afi_t *afi);
+
+extern afi_t
+bgp_vty_afi_from_arg(const char *afi_str);
+
+extern safi_t
+bgp_vty_safi_from_arg(const char *safi_str);
+
+extern int
+argv_find_and_parse_afi(struct cmd_token **argv, int argc, int *index, afi_t *afi);
+
+extern int
+argv_find_and_parse_safi(struct cmd_token **argv, int argc, int *index, safi_t *safi);
+
+extern int
+bgp_vty_find_and_parse_afi_safi_bgp (struct vty *vty, struct cmd_token **argv, int argc, int *idx,
+                                     afi_t *afi, safi_t *safi, struct bgp **bgp);
 #endif /* _QUAGGA_BGP_VTY_H */