]> git.proxmox.com Git - mirror_frr.git/blame - bgpd/bgp_vty.h
bgpd: Allow shortened 'no set large-community' and 'no set large-comm-list'
[mirror_frr.git] / bgpd / bgp_vty.h
CommitLineData
718e3744 1/* BGP VTY interface.
896014f4
DL
2 * Copyright (C) 1996, 97, 98, 99, 2000 Kunihiro Ishiguro
3 *
4 * This file is part of GNU Zebra.
5 *
6 * GNU Zebra is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2, or (at your option) any
9 * later version.
10 *
11 * GNU Zebra is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program; see the file COPYING; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 */
718e3744 20
00d252cb 21#ifndef _QUAGGA_BGP_VTY_H
22#define _QUAGGA_BGP_VTY_H
23
896af92e 24struct bgp;
ffd0c037 25
8386ac43 26#define BGP_INSTANCE_HELP_STR "BGP view\nBGP VRF\nView/VRF name\n"
f186de26 27#define BGP_INSTANCE_ALL_HELP_STR "BGP view\nBGP VRF\nAll Views/VRFs\n"
0b2aa3a0 28
46f296b4
LB
29#define BGP_AFI_CMD_STR "<ipv4|ipv6>"
30#define BGP_AFI_HELP_STR "Address Family\nAddress Family\n"
9bedbb1e 31#define BGP_SAFI_CMD_STR "<unicast|multicast|vpn>"
d62a17ae 32#define BGP_SAFI_HELP_STR \
33 "Address Family modifier\n" \
34 "Address Family modifier\n" \
35 "Address Family modifier\n"
46f296b4
LB
36#define BGP_AFI_SAFI_CMD_STR BGP_AFI_CMD_STR" "BGP_SAFI_CMD_STR
37#define BGP_AFI_SAFI_HELP_STR BGP_AFI_HELP_STR BGP_SAFI_HELP_STR
ccbb332a 38
7c40bf39 39#define BGP_SAFI_WITH_LABEL_CMD_STR "<unicast|multicast|vpn|labeled-unicast|flowspec>"
d62a17ae 40#define BGP_SAFI_WITH_LABEL_HELP_STR \
41 "Address Family modifier\n" \
42 "Address Family modifier\n" \
43 "Address Family modifier\n" \
7c40bf39 44 "Address Family modifier\n" \
d62a17ae 45 "Address Family modifier\n"
9bedbb1e 46
d62a17ae 47extern void bgp_vty_init(void);
8ef6371e
DS
48extern const char *afi_safi_print(afi_t afi, safi_t safi);
49extern const char *afi_safi_json(afi_t afi, safi_t safi);
50extern void bgp_config_write_update_delay(struct vty *vty, struct bgp *bgp);
2b791107 51extern void bgp_config_write_wpkt_quanta(struct vty *vty, struct bgp *bgp);
555e09d4 52extern void bgp_config_write_rpkt_quanta(struct vty *vty, struct bgp *bgp);
2b791107
DL
53extern void bgp_config_write_listen(struct vty *vty, struct bgp *bgp);
54extern void bgp_config_write_coalesce_time(struct vty *vty, struct bgp *bgp);
d62a17ae 55extern int bgp_vty_return(struct vty *vty, int ret);
56extern struct peer *peer_and_group_lookup_vty(struct vty *vty,
57 const char *peer_str);
00d252cb 58
d62a17ae 59extern afi_t bgp_vty_afi_from_str(const char *afi_str);
46f296b4 60
d62a17ae 61extern safi_t bgp_vty_safi_from_str(const char *safi_str);
ccbb332a 62
d62a17ae 63extern int argv_find_and_parse_afi(struct cmd_token **argv, int argc,
64 int *index, afi_t *afi);
46f296b4 65
d62a17ae 66extern int argv_find_and_parse_safi(struct cmd_token **argv, int argc,
67 int *index, safi_t *safi);
46f296b4 68
d62a17ae 69extern int bgp_vty_find_and_parse_afi_safi_bgp(struct vty *vty,
70 struct cmd_token **argv,
71 int argc, int *idx, afi_t *afi,
9f049418
DS
72 safi_t *safi, struct bgp **bgp,
73 bool use_json);
d62a17ae 74extern int bgp_show_summary_vty(struct vty *vty, const char *name, afi_t afi,
9f049418 75 safi_t safi, bool use_json);
b9c7bc5a
PZ
76extern void bgp_vpn_policy_config_write_afi(struct vty *vty, struct bgp *bgp,
77 afi_t afi);
00d252cb 78#endif /* _QUAGGA_BGP_VTY_H */