summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore24
-rw-r--r--COMMUNITY.md21
-rwxr-xr-xREADME.NetBSD6
-rw-r--r--REPORTING-BUGS2
-rw-r--r--babeld/babel_interface.c4
-rw-r--r--babeld/babel_zebra.c10
-rw-r--r--bgpd/bgp_bfd.c12
-rw-r--r--bgpd/bgp_debug.c10
-rw-r--r--bgpd/bgp_dump.c2
-rw-r--r--bgpd/bgp_filter.c14
-rw-r--r--bgpd/bgp_route.c132
-rw-r--r--bgpd/bgp_routemap.c33
-rw-r--r--bgpd/bgp_vty.c301
-rw-r--r--bgpd/bgp_zebra.c2
-rw-r--r--bgpd/bgpd.c2
-rw-r--r--bgpd/rfapi/bgp_rfapi_cfg.c202
-rw-r--r--bgpd/rfapi/rfapi.c48
-rw-r--r--bgpd/rfapi/rfapi_vty.c42
-rw-r--r--bgpd/rfapi/vnc_debug.c4
-rw-r--r--bgpd/rfapi/vnc_zebra.c10
-rwxr-xr-xbuildtest.sh2
-rwxr-xr-xconfigure.ac38
-rw-r--r--doc/appendix.texi2
-rw-r--r--doc/babeld.texi6
-rw-r--r--eigrpd/eigrp_routemap.c18
-rw-r--r--eigrpd/eigrp_vty.c14
-rw-r--r--isisd/isis_redist.c28
-rw-r--r--isisd/isis_te.c2
-rw-r--r--isisd/isis_vty.c2
-rw-r--r--ldpd/ldp_debug.c4
-rw-r--r--ldpd/ldp_vty_conf.c24
-rw-r--r--lib/agentx.c2
-rw-r--r--lib/command.c55
-rw-r--r--lib/command.h3
-rw-r--r--lib/distribute.c2
-rw-r--r--lib/filter.c26
-rw-r--r--lib/grammar_sandbox.c6
-rw-r--r--lib/hash.c9
-rw-r--r--lib/hash.h4
-rw-r--r--lib/if.c8
-rw-r--r--lib/if_rmap.c6
-rw-r--r--lib/keychain.c14
-rw-r--r--lib/module.c2
-rw-r--r--lib/ns.c10
-rw-r--r--lib/plist.c36
-rw-r--r--lib/routemap.c34
-rw-r--r--lib/smux.c6
-rw-r--r--lib/vrf.c6
-rw-r--r--lib/vty.c20
-rw-r--r--lib/vty.h9
-rw-r--r--nhrpd/nhrp_vty.c4
-rw-r--r--ospf6d/ospf6_area.c4
-rw-r--r--ospf6d/ospf6_asbr.c8
-rw-r--r--ospf6d/ospf6_interface.c6
-rw-r--r--ospf6d/ospf6_zebra.c8
-rw-r--r--ospfd/ospf_ri.c28
-rw-r--r--ospfd/ospf_vty.c186
-rw-r--r--ospfd/ospf_zebra.c6
-rw-r--r--pimd/pim_cmd.c132
-rw-r--r--ripd/rip_debug.c6
-rw-r--r--ripd/rip_interface.c24
-rw-r--r--ripd/rip_offset.c10
-rw-r--r--ripd/rip_zebra.c24
-rw-r--r--ripd/ripd.c28
-rw-r--r--ripngd/ripng_debug.c6
-rw-r--r--ripngd/ripng_interface.c8
-rw-r--r--ripngd/ripng_offset.c10
-rw-r--r--ripngd/ripng_zebra.c10
-rw-r--r--ripngd/ripngd.c28
-rw-r--r--snapcraft/.gitignore2
-rw-r--r--solaris/.gitignore2
-rwxr-xr-xtools/frr-reload.py6
-rw-r--r--tools/multiple-bgpd.sh4
-rw-r--r--tools/vty_index.cocci2
-rw-r--r--vtysh/vtysh.c63
-rw-r--r--watchfrr/watchfrr.c2
-rw-r--r--zebra/Makefile.am2
-rw-r--r--zebra/debug.c6
-rw-r--r--zebra/interface.c80
-rw-r--r--zebra/irdp_interface.c8
-rw-r--r--zebra/router-id.c2
-rw-r--r--zebra/rtadv.c18
-rw-r--r--zebra/zebra_mpls_vty.c40
-rw-r--r--zebra/zebra_routemap.c34
-rw-r--r--zebra/zebra_vty.c34
-rw-r--r--zebra/zserv.c8
86 files changed, 1111 insertions, 1017 deletions
diff --git a/.gitignore b/.gitignore
index 62aa48e22f..3ad6b1de1c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -48,18 +48,18 @@ m4/*.m4
debian/autoreconf.after
debian/autoreconf.before
debian/files
-debian/quagga-dbg.debhelper.log
-debian/quagga-dbg.substvars
-debian/quagga-dbg/
-debian/quagga-doc.debhelper.log
-debian/quagga-doc.substvars
-debian/quagga-doc/
-debian/quagga.debhelper.log
-debian/quagga.postinst.debhelper
-debian/quagga.postrm.debhelper
-debian/quagga.prerm.debhelper
-debian/quagga.substvars
-debian/quagga/
+debian/frr-dbg.debhelper.log
+debian/frr-dbg.substvars
+debian/frr-dbg/
+debian/frr-doc.debhelper.log
+debian/frr-doc.substvars
+debian/frr-doc/
+debian/frr.debhelper.log
+debian/frr.postinst.debhelper
+debian/frr.postrm.debhelper
+debian/frr.prerm.debhelper
+debian/frr.substvars
+debian/frr/
debian/tmp/
*.pyc
*.swp
diff --git a/COMMUNITY.md b/COMMUNITY.md
index a441929b31..b0d087c382 100644
--- a/COMMUNITY.md
+++ b/COMMUNITY.md
@@ -380,3 +380,24 @@ CLI's are a complicated ugly beast. Additions or changes to the CLI
should use a DEFUN to encapsulate one setting as much as is possible.
Additionally as new DEFUN's are added to the system, documentation
should be provided for the new commands.
+
+### Backwards Compatibility
+
+As a general principle, changes to CLI and code in the lib/ directory
+should be made in a backwards compatible fashion. This means that
+changes that are purely stylistic in nature should be avoided, e.g.,
+renaming an existing macro or library function name without any
+functional change. When adding new parameters to common functions, it is
+also good to consider if this too should be done in a backward
+compatible fashion, e.g., by preserving the old form in addition to
+adding the new form.
+
+This is not to say that minor or even major functional changes to CLI
+and common code should be avoided, but rather that the benefit gained
+from a change should be weighed against the added cost/complexity to
+existing code. Also, that when making such changes, it is good to
+preserve compatibility when possible to do so without introducing
+maintenance overhead/cost. It is also important to keep in mind,
+existing code includes code that may reside in private repositories (and
+is yet to be submitted) or code that has yet to be migrated from Quagga
+to FRR.
diff --git a/README.NetBSD b/README.NetBSD
index 6e454533e5..c97e3bcb38 100755
--- a/README.NetBSD
+++ b/README.NetBSD
@@ -1,18 +1,18 @@
#!/bin/sh
-# This file is helpful for building quagga from cvs on NetBSD, and
+# This file is helpful for building FRR from cvs on NetBSD, and
# probably on any system using pkgsrc.
# One should have readline installed already (pkgsrc/devel/readline).
MAKE=make
-# Quagga is currently documented not to require GNU make, but sometimes
+# FRR is currently documented not to require GNU make, but sometimes
# BSD make fails. Enable this if statement as a workaround.
if false; then
MAKE=gmake
echo "WARNING: using gmake to work around nonportable makefiles"
fi
-# Use /usr/quagga to be independent, and /usr/pkg to overwrite pkgsrc.
+# Use /usr/frr to be independent, and /usr/pkg to overwrite pkgsrc.
PREFIX=/usr/pkg
case $1 in
diff --git a/REPORTING-BUGS b/REPORTING-BUGS
index 01f25a2051..339ebc24d5 100644
--- a/REPORTING-BUGS
+++ b/REPORTING-BUGS
@@ -16,7 +16,7 @@ Please supply the following information:
1. Your FRRouting version or if it is from git then the commit reference.
Please try to report bugs against git master or the latest release.
2. FRR daemons you run e.g. bgpd or ripd and full name of your OS. Any
- specific options you compiled Quagga with.
+ specific options you compiled FRR with.
3. Problem description. Copy and paste relative commands and their output to
describe your network setup e.g. "zebra>show ip route".
Please, also give your simple network layout and output of relative OS
diff --git a/babeld/babel_interface.c b/babeld/babel_interface.c
index fe8fde92e6..d14c4d8471 100644
--- a/babeld/babel_interface.c
+++ b/babeld/babel_interface.c
@@ -292,7 +292,7 @@ DEFUN (babel_network,
if (ret < 0) {
vty_outln (vty, "There is same network configuration %s",
argv[1]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -319,7 +319,7 @@ DEFUN (no_babel_network,
if (ret < 0) {
vty_outln (vty, "can't find network %s",argv[2]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
diff --git a/babeld/babel_zebra.c b/babeld/babel_zebra.c
index 3a7a52ccca..a3217076f3 100644
--- a/babeld/babel_zebra.c
+++ b/babeld/babel_zebra.c
@@ -223,10 +223,11 @@ DEFUN (babel_redistribute_type,
if (type < 0) {
vty_outln (vty, "Invalid type %s", argv[1]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
zclient_redistribute (ZEBRA_REDISTRIBUTE_ADD, zclient, AFI_IP, type, 0, VRF_DEFAULT);
+ zclient_redistribute (ZEBRA_REDISTRIBUTE_ADD, zclient, AFI_IP6, type, 0, VRF_DEFAULT);
return CMD_SUCCESS;
}
@@ -244,10 +245,11 @@ DEFUN (no_babel_redistribute_type,
if (type < 0) {
vty_outln (vty, "Invalid type %s", argv[2]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
zclient_redistribute (ZEBRA_REDISTRIBUTE_DELETE, zclient, AFI_IP, type, 0, VRF_DEFAULT);
+ zclient_redistribute (ZEBRA_REDISTRIBUTE_DELETE, zclient, AFI_IP6, type, 0, VRF_DEFAULT);
/* perhaps should we remove xroutes having the same type... */
return CMD_SUCCESS;
}
@@ -279,7 +281,7 @@ DEFUN (debug_babel,
vty_outln (vty, "Invalid type %s", argv[2]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* [Babel Command] */
@@ -309,7 +311,7 @@ DEFUN (no_debug_babel,
vty_outln (vty, "Invalid type %s", argv[3]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
#endif /* NO_DEBUG */
diff --git a/bgpd/bgp_bfd.c b/bgpd/bgp_bfd.c
index 890acb3a47..1aa2b93a90 100644
--- a/bgpd/bgp_bfd.c
+++ b/bgpd/bgp_bfd.c
@@ -562,7 +562,7 @@ DEFUN (neighbor_bfd,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = bgp_bfd_peer_param_set (peer, BFD_DEF_MIN_RX, BFD_DEF_MIN_TX,
BFD_DEF_DETECT_MULT, 1);
@@ -595,7 +595,7 @@ DEFUN (neighbor_bfd_param,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (!peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if ((ret = bfd_validate_param (vty, argv[idx_number_1]->arg, argv[idx_number_2]->arg, argv[idx_number_3]->arg, &dm_val,
&rx_val, &tx_val)) != CMD_SUCCESS)
@@ -626,14 +626,14 @@ DEFUN_HIDDEN (neighbor_bfd_type,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (!peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (strmatch(argv[idx_hop]->text, "singlehop"))
type = BFD_TYPE_SINGLEHOP;
else if (strmatch(argv[idx_hop]->text, "multihop"))
type = BFD_TYPE_MULTIHOP;
else
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = bgp_bfd_peer_param_type_set (peer, type);
if (ret != 0)
@@ -659,7 +659,7 @@ DEFUN (no_neighbor_bfd,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = bgp_bfd_peer_param_unset(peer);
if (ret != 0)
@@ -685,7 +685,7 @@ DEFUN_HIDDEN (no_neighbor_bfd_type,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (!peer->bfd_info)
return 0;
diff --git a/bgpd/bgp_debug.c b/bgpd/bgp_debug.c
index 5538402070..78a337bd8f 100644
--- a/bgpd/bgp_debug.c
+++ b/bgpd/bgp_debug.c
@@ -963,7 +963,7 @@ DEFUN (no_debug_bgp_bestpath_prefix,
{
prefix_free(argv_p);
vty_outln (vty, "%% Malformed Prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp_debug_bestpath_prefixes && !list_isempty(bgp_debug_bestpath_prefixes))
@@ -1338,7 +1338,7 @@ DEFUN (debug_bgp_update_prefix,
{
prefix_free(argv_p);
vty_outln (vty, "%% Malformed Prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
@@ -1391,7 +1391,7 @@ DEFUN (no_debug_bgp_update_prefix,
{
prefix_free(argv_p);
vty_outln (vty, "%% Malformed Prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp_debug_update_prefixes && !list_isempty(bgp_debug_update_prefixes))
@@ -1492,7 +1492,7 @@ DEFUN (debug_bgp_zebra_prefix,
{
prefix_free(argv_p);
vty_outln (vty, "%% Malformed Prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!bgp_debug_zebra_prefixes)
@@ -1562,7 +1562,7 @@ DEFUN (no_debug_bgp_zebra_prefix,
{
prefix_free(argv_p);
vty_outln (vty, "%% Malformed Prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp_debug_zebra_prefixes && !list_isempty(bgp_debug_zebra_prefixes))
diff --git a/bgpd/bgp_dump.c b/bgpd/bgp_dump.c
index eca29a3518..d63d8209cc 100644
--- a/bgpd/bgp_dump.c
+++ b/bgpd/bgp_dump.c
@@ -668,7 +668,7 @@ bgp_dump_set (struct vty *vty, struct bgp_dump *bgp_dump,
if (interval == 0)
{
vty_outln (vty, "Malformed interval string");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Setting interval string */
diff --git a/bgpd/bgp_filter.c b/bgpd/bgp_filter.c
index b2f0c3ee25..5fa0372fe2 100644
--- a/bgpd/bgp_filter.c
+++ b/bgpd/bgp_filter.c
@@ -459,7 +459,7 @@ DEFUN (ip_as_path,
{
vty_outln (vty, "can't compile regexp %s", regstr);
XFREE (MTYPE_TMP, regstr);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
asfilter = as_filter_make (regex, regstr, type);
@@ -504,7 +504,7 @@ DEFUN (no_ip_as_path,
if (aslist == NULL)
{
vty_outln (vty, "ip as-path access-list %s doesn't exist",aslistname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check the filter type. */
@@ -515,7 +515,7 @@ DEFUN (no_ip_as_path,
else
{
vty_outln (vty, "filter type must be [permit|deny]");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Compile AS path. */
@@ -527,7 +527,7 @@ DEFUN (no_ip_as_path,
{
vty_outln (vty, "can't compile regexp %s", regstr);
XFREE (MTYPE_TMP, regstr);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Lookup asfilter. */
@@ -538,8 +538,8 @@ DEFUN (no_ip_as_path,
if (asfilter == NULL)
{
- vty_out (vty, VTYNL);
- return CMD_WARNING;
+ vty_outln (vty, "ip as-path access-list doesn't exist");
+ return CMD_WARNING_CONFIG_FAILED;
}
as_list_filter_delete (aslist, asfilter);
@@ -564,7 +564,7 @@ DEFUN (no_ip_as_path_all,
{
vty_outln (vty, "ip as-path access-list %s doesn't exist",
argv[idx_word]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
as_list_delete (aslist);
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index 12ad65883e..6b38ba6856 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -4274,12 +4274,12 @@ bgp_static_set (struct vty *vty, const char *ip_str,
if (! ret)
{
vty_outln (vty, "%% Malformed prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (afi == AFI_IP6 && IN6_IS_ADDR_LINKLOCAL (&p.u.prefix6))
{
vty_outln (vty,"%% Malformed prefix (link-local address)");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask (&p);
@@ -4296,7 +4296,7 @@ bgp_static_set (struct vty *vty, const char *ip_str,
if (bgp_static->label_index != label_index)
{
vty_outln (vty, "%% Label index cannot be changed");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check previous routes are installed into BGP. */
@@ -4368,12 +4368,12 @@ bgp_static_unset (struct vty *vty, const char *ip_str,
if (! ret)
{
vty_outln (vty, "%% Malformed prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (afi == AFI_IP6 && IN6_IS_ADDR_LINKLOCAL (&p.u.prefix6))
{
vty_outln (vty,"%% Malformed prefix (link-local address)");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask (&p);
@@ -4382,7 +4382,7 @@ bgp_static_unset (struct vty *vty, const char *ip_str,
if (! rn)
{
vty_outln (vty,"%% Can't find specified static route configuration.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
bgp_static = rn->info;
@@ -4580,21 +4580,21 @@ bgp_static_set_safi (afi_t afi, safi_t safi, struct vty *vty, const char *ip_str
if (! ret)
{
vty_outln (vty, "%% Malformed prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask (&p);
if ( (afi == AFI_L2VPN) &&
(bgp_build_evpn_prefix ( evpn_type, ethtag!=NULL?atol(ethtag):0, &p)))
{
vty_outln (vty, "%% L2VPN prefix could not be forged");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = str2prefix_rd (rd_str, &prd);
if (! ret)
{
vty_outln (vty, "%% Malformed rd");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (label_str)
@@ -4609,12 +4609,12 @@ bgp_static_set_safi (afi_t afi, safi_t safi, struct vty *vty, const char *ip_str
if( esi && str2esi (esi, NULL) == 0)
{
vty_outln (vty, "%% Malformed ESI");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if( routermac && prefix_str2mac (routermac, NULL) == 0)
{
vty_outln (vty, "%% Malformed Router MAC");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (gwip)
{
@@ -4623,7 +4623,7 @@ bgp_static_set_safi (afi_t afi, safi_t safi, struct vty *vty, const char *ip_str
if (! ret)
{
vty_outln (vty, "%% Malformed GatewayIp");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if((gw_ip.family == AF_INET &&
IS_EVPN_PREFIX_IPADDR_V6((struct prefix_evpn *)&p)) ||
@@ -4631,7 +4631,7 @@ bgp_static_set_safi (afi_t afi, safi_t safi, struct vty *vty, const char *ip_str
IS_EVPN_PREFIX_IPADDR_V4((struct prefix_evpn *)&p)))
{
vty_outln (vty, "%% GatewayIp family differs with IP prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
}
@@ -4714,20 +4714,20 @@ bgp_static_unset_safi(afi_t afi, safi_t safi, struct vty *vty, const char *ip_st
if (! ret)
{
vty_outln (vty, "%% Malformed prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask (&p);
if ( (afi == AFI_L2VPN) &&
(bgp_build_evpn_prefix ( evpn_type, ethtag!=NULL?atol(ethtag):0, &p)))
{
vty_outln (vty, "%% L2VPN prefix could not be forged");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = str2prefix_rd (rd_str, &prd);
if (! ret)
{
vty_outln (vty, "%% Malformed rd");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (label_str)
@@ -4901,7 +4901,7 @@ DEFUN (bgp_network_mask,
if (! ret)
{
vty_outln (vty, "%% Inconsistent address and mask");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_static_set (vty, prefix_str,
@@ -4928,7 +4928,7 @@ DEFUN (bgp_network_mask_route_map,
if (! ret)
{
vty_outln (vty, "%% Inconsistent address and mask");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_static_set (vty, prefix_str,
@@ -4953,7 +4953,7 @@ DEFUN (bgp_network_mask_backdoor,
if (! ret)
{
vty_outln (vty, "%% Inconsistent address and mask");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_static_set (vty, prefix_str, AFI_IP, SAFI_UNICAST,
@@ -4975,7 +4975,7 @@ DEFUN (bgp_network_mask_natural,
if (! ret)
{
vty_outln (vty, "%% Inconsistent address and mask");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_static_set (vty, prefix_str,
@@ -5000,7 +5000,7 @@ DEFUN (bgp_network_mask_natural_route_map,
if (! ret)
{
vty_outln (vty, "%% Inconsistent address and mask");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_static_set (vty, prefix_str,
@@ -5023,7 +5023,7 @@ DEFUN (bgp_network_mask_natural_backdoor,
if (! ret)
{
vty_outln (vty, "%% Inconsistent address and mask");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_static_set (vty, prefix_str, AFI_IP, SAFI_UNICAST,
@@ -5098,7 +5098,7 @@ DEFUN (no_bgp_network_mask,
if (! ret)
{
vty_outln (vty, "%% Inconsistent address and mask");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_static_unset (vty, prefix_str, AFI_IP,
@@ -5123,7 +5123,7 @@ DEFUN (no_bgp_network_mask_natural,
if (! ret)
{
vty_outln (vty, "%% Inconsistent address and mask");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_static_unset (vty, prefix_str, AFI_IP,
@@ -5757,7 +5757,7 @@ bgp_aggregate_unset (struct vty *vty, const char *prefix_str,
if (!ret)
{
vty_outln (vty, "Malformed prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask (&p);
@@ -5766,7 +5766,7 @@ bgp_aggregate_unset (struct vty *vty, const char *prefix_str,
if (! rn)
{
vty_outln (vty,"%% There is no aggregate-address configuration.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
aggregate = rn->info;
@@ -5802,7 +5802,7 @@ bgp_aggregate_set (struct vty *vty, const char *prefix_str,
if (!ret)
{
vty_outln (vty, "Malformed prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask (&p);
@@ -5818,7 +5818,7 @@ bgp_aggregate_set (struct vty *vty, const char *prefix_str,
{
vty_outln (vty, "Error deleting aggregate.");
bgp_unlock_node (rn);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -5885,7 +5885,7 @@ DEFUN (aggregate_address_mask,
if (! ret)
{
vty_outln (vty, "%% Inconsistent address and mask");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_aggregate_set (vty, prefix_str, AFI_IP, bgp_node_safi (vty), summary_only, as_set);
@@ -5931,7 +5931,7 @@ DEFUN (no_aggregate_address_mask,
if (! ret)
{
vty_outln (vty, "%% Inconsistent address and mask");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_aggregate_unset (vty, prefix_str, AFI_IP, bgp_node_safi (vty));
@@ -8067,12 +8067,16 @@ bgp_show (struct vty *vty, struct bgp *bgp, afi_t afi, safi_t safi,
vty_outln (vty, "No BGP process is configured");
return CMD_WARNING;
}
+
/* use MPLS and ENCAP specific shows until they are merged */
if (safi == SAFI_MPLS_VPN)
{
return bgp_show_mpls_vpn(vty, afi, NULL, type, output_arg,
0, use_json);
}
+ /* labeled-unicast routes live in the unicast table */
+ else if (safi == SAFI_LABELED_UNICAST)
+ safi = SAFI_UNICAST;
table = bgp->rib[afi][safi];
@@ -8390,6 +8394,10 @@ bgp_show_route (struct vty *vty, struct bgp *bgp, const char *ip_str,
if (!bgp)
bgp = bgp_get_default ();
+ /* labeled-unicast routes live in the unicast table */
+ if (safi == SAFI_LABELED_UNICAST)
+ safi = SAFI_UNICAST;
+
return bgp_show_route_in_table (vty, bgp, bgp->rib[afi][safi], ip_str,
afi, safi, prd, prefix_check, pathtype,
use_json);
@@ -8453,13 +8461,13 @@ bgp_show_lcommunity_list (struct vty *vty, struct bgp *bgp, const char *lcom,
DEFUN (show_ip_bgp_large_community_list,
show_ip_bgp_large_community_list_cmd,
- "show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_CMD_STR"]] large-community-list <(1-500)|WORD> [json]",
+ "show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_WITH_LABEL_CMD_STR"]] large-community-list <(1-500)|WORD> [json]",
SHOW_STR
IP_STR
BGP_STR
BGP_INSTANCE_HELP_STR
BGP_AFI_HELP_STR
- BGP_SAFI_HELP_STR
+ BGP_SAFI_WITH_LABEL_HELP_STR
"Display routes matching the large-community-list\n"
"large-community-list number\n"
"large-community-list name\n"
@@ -8495,13 +8503,13 @@ DEFUN (show_ip_bgp_large_community_list,
}
DEFUN (show_ip_bgp_large_community,
show_ip_bgp_large_community_cmd,
- "show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_CMD_STR"]] large-community [AA:BB:CC] [json]",
+ "show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_WITH_LABEL_CMD_STR"]] large-community [AA:BB:CC] [json]",
SHOW_STR
IP_STR
BGP_STR
BGP_INSTANCE_HELP_STR
BGP_AFI_HELP_STR
- BGP_SAFI_HELP_STR
+ BGP_SAFI_WITH_LABEL_HELP_STR
"Display routes matching the large-communities\n"
"List of large-community numbers\n"
JSON_STR)
@@ -8542,7 +8550,7 @@ static int bgp_table_stats (struct vty *vty, struct bgp *bgp, afi_t afi, safi_t
/* BGP route print out function. */
DEFUN (show_ip_bgp,
show_ip_bgp_cmd,
- "show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_CMD_STR"]]\
+ "show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_WITH_LABEL_CMD_STR"]]\
[<\
cidr-only\
|dampening <flap-statistics|dampened-paths|parameters>\
@@ -8560,7 +8568,7 @@ DEFUN (show_ip_bgp,
BGP_STR
BGP_INSTANCE_HELP_STR
BGP_AFI_HELP_STR
- BGP_SAFI_HELP_STR
+ BGP_SAFI_WITH_LABEL_HELP_STR
"Display only routes with non-natural netmasks\n"
"Display detailed information about dampening\n"
"Display flap statistics of routes\n"
@@ -8663,14 +8671,14 @@ DEFUN (show_ip_bgp,
DEFUN (show_ip_bgp_route,
show_ip_bgp_route_cmd,
- "show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_CMD_STR"]]"
+ "show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_WITH_LABEL_CMD_STR"]]"
"<A.B.C.D|A.B.C.D/M|X:X::X:X|X:X::X:X/M> [<bestpath|multipath>] [json]",
SHOW_STR
IP_STR
BGP_STR
BGP_INSTANCE_HELP_STR
BGP_AFI_HELP_STR
- BGP_SAFI_HELP_STR
+ BGP_SAFI_WITH_LABEL_HELP_STR
"Network in the BGP routing table to display\n"
"IPv4 prefix\n"
"Network in the BGP routing table to display\n"
@@ -8735,13 +8743,13 @@ DEFUN (show_ip_bgp_route,
DEFUN (show_ip_bgp_regexp,
show_ip_bgp_regexp_cmd,
- "show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_CMD_STR"]] regexp REGEX...",
+ "show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_WITH_LABEL_CMD_STR"]] regexp REGEX...",
SHOW_STR
IP_STR
BGP_STR
BGP_INSTANCE_HELP_STR
BGP_AFI_HELP_STR
- BGP_SAFI_HELP_STR
+ BGP_SAFI_WITH_LABEL_HELP_STR
"Display routes matching the AS path regular expression\n"
"A regular-expression to match the BGP AS paths\n")
{
@@ -8766,13 +8774,13 @@ DEFUN (show_ip_bgp_regexp,
DEFUN (show_ip_bgp_instance_all,
show_ip_bgp_instance_all_cmd,
- "show [ip] bgp <view|vrf> all ["BGP_AFI_CMD_STR" ["BGP_SAFI_CMD_STR"]] [json]",
+ "show [ip] bgp <view|vrf> all ["BGP_AFI_CMD_STR" ["BGP_SAFI_WITH_LABEL_CMD_STR"]] [json]",
SHOW_STR
IP_STR
BGP_STR
BGP_INSTANCE_ALL_HELP_STR
BGP_AFI_HELP_STR
- BGP_SAFI_HELP_STR
+ BGP_SAFI_WITH_LABEL_HELP_STR
JSON_STR)
{
afi_t afi = AFI_IP;
@@ -9174,21 +9182,25 @@ bgp_table_stats (struct vty *vty, struct bgp *bgp, afi_t afi, safi_t safi)
{
struct bgp_table_stats ts;
unsigned int i;
-
+
if (!bgp->rib[afi][safi])
{
vty_outln (vty, "%% No RIB exist's for the AFI(%d)/SAFI(%d)",
afi, safi);
return CMD_WARNING;
}
-
+
+ vty_outln (vty, "BGP %s RIB statistics%s",
+ afi_safi_print (afi, safi), VTYNL);
+
+ /* labeled-unicast routes live in the unicast table */
+ if (safi == SAFI_LABELED_UNICAST)
+ safi = SAFI_UNICAST;
+
memset (&ts, 0, sizeof (ts));
ts.table = bgp->rib[afi][safi];
thread_execute (bm->master, bgp_table_stats_walker, &ts, 0);
- vty_outln (vty, "BGP %s RIB statistics%s",
- afi_safi_print (afi, safi), VTYNL);
-
for (i = 0; i < BGP_STATS_MAX; i++)
{
if (!table_stats_strs[i])
@@ -9777,6 +9789,10 @@ peer_adj_routes (struct vty *vty, struct peer *peer, afi_t afi, safi_t safi,
if (use_json)
json = json_object_new_object();
+ /* labeled-unicast routes live in the unicast table */
+ if (safi == SAFI_LABELED_UNICAST)
+ safi = SAFI_UNICAST;
+
if (!peer || !peer->afc[afi][safi])
{
if (use_json)
@@ -9812,14 +9828,14 @@ peer_adj_routes (struct vty *vty, struct peer *peer, afi_t afi, safi_t safi,
DEFUN (show_ip_bgp_instance_neighbor_advertised_route,
show_ip_bgp_instance_neighbor_advertised_route_cmd,
- "show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_CMD_STR"]] "
+ "show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_WITH_LABEL_CMD_STR"]] "
"neighbors <A.B.C.D|X:X::X:X|WORD> <received-routes|advertised-routes> [route-map WORD] [json]",
SHOW_STR
IP_STR
BGP_STR
BGP_INSTANCE_HELP_STR
BGP_AFI_HELP_STR
- BGP_SAFI_HELP_STR
+ BGP_SAFI_WITH_LABEL_HELP_STR
"Detailed information on TCP and BGP neighbor connections\n"
"Neighbor to display information about\n"
"Neighbor to display information about\n"
@@ -9971,19 +9987,23 @@ bgp_show_neighbor_route (struct vty *vty, struct peer *peer, afi_t afi,
return CMD_WARNING;
}
+ /* labeled-unicast routes live in the unicast table */
+ if (safi == SAFI_LABELED_UNICAST)
+ safi = SAFI_UNICAST;
+
return bgp_show (vty, peer->bgp, afi, safi, type, &peer->su, use_json);
}
DEFUN (show_ip_bgp_neighbor_routes,
show_ip_bgp_neighbor_routes_cmd,
- "show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_CMD_STR"]] "
+ "show [ip] bgp [<view|vrf> VIEWVRFNAME] ["BGP_AFI_CMD_STR" ["BGP_SAFI_WITH_LABEL_CMD_STR"]] "
"neighbors <A.B.C.D|X:X::X:X|WORD> <flap-statistics|dampened-routes|routes> [json]",
SHOW_STR
IP_STR
BGP_STR
BGP_INSTANCE_HELP_STR
BGP_AFI_HELP_STR
- BGP_SAFI_HELP_STR
+ BGP_SAFI_WITH_LABEL_HELP_STR
"Detailed information on TCP and BGP neighbor connections\n"
"Neighbor to display information about\n"
"Neighbor to display information about\n"
@@ -10100,7 +10120,7 @@ bgp_distance_set (struct vty *vty, const char *distance_str,
if (ret == 0)
{
vty_outln (vty, "Malformed prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
distance = atoi (distance_str);
@@ -10152,14 +10172,14 @@ bgp_distance_unset (struct vty *vty, const char *distance_str,
if (ret == 0)
{
vty_outln (vty, "Malformed prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rn = bgp_node_lookup (bgp_distance_table[afi][safi], (struct prefix *)&p);
if (! rn)
{
vty_outln (vty, "Can't find specified prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
bdistance = rn->info;
@@ -10167,8 +10187,8 @@ bgp_distance_unset (struct vty *vty, const char *distance_str,
if (bdistance->distance != distance)
{
- vty_outln (vty, "Distance does not match configured");
- return CMD_WARNING;
+ vty_outln (vty, "Distance does not match configured");
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bdistance->access_list)
diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c
index f2c94371a4..dcc58dc54d 100644
--- a/bgpd/bgp_routemap.c
+++ b/bgpd/bgp_routemap.c
@@ -2852,10 +2852,10 @@ bgp_route_match_add (struct vty *vty,
{
case RMAP_RULE_MISSING:
vty_outln (vty, "%% BGP Can't find rule.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
vty_outln (vty, "%% BGP Argument is malformed.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -2910,7 +2910,7 @@ bgp_route_match_delete (struct vty *vty,
XFREE(MTYPE_ROUTE_MAP_RULE, dep_name);
if (rmap_name)
XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (type != RMAP_EVENT_MATCH_DELETED && dep_name)
@@ -3592,7 +3592,8 @@ DEFUN (match_origin,
return bgp_route_match_add (vty, "origin", "incomplete",
RMAP_EVENT_MATCH_ADDED);
- return CMD_WARNING;
+ vty_outln (vty, "%% Invalid match origin type");
+ return CMD_WARNING_CONFIG_FAILED;
}
@@ -3887,7 +3888,7 @@ DEFUN (set_community,
if (! com)
{
vty_outln (vty, "%% Malformed communities attribute");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Set communites attribute string. */
@@ -4152,7 +4153,8 @@ DEFUN (set_origin,
return generic_set_add (vty, VTY_GET_CONTEXT(route_map_index), "origin",
"incomplete");
- return CMD_WARNING;
+ vty_outln (vty, "%% Invalid set origin type");
+ return CMD_WARNING_CONFIG_FAILED;
}
@@ -4211,7 +4213,7 @@ DEFUN (set_aggregator_as,
if (ret == 0)
{
vty_outln (vty, "Aggregator IP address is invalid");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
argstr = XMALLOC (MTYPE_ROUTE_MAP_COMPILED,
@@ -4252,7 +4254,7 @@ DEFUN (no_set_aggregator_as,
if (ret == 0)
{
vty_outln (vty, "Aggregator IP address is invalid");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
argstr = XMALLOC (MTYPE_ROUTE_MAP_COMPILED,
@@ -4363,7 +4365,7 @@ DEFUN (set_ipv6_nexthop_global,
if (!ret)
{
vty_outln (vty, "%% Malformed nexthop address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (IN6_IS_ADDR_UNSPECIFIED(&addr) ||
IN6_IS_ADDR_LOOPBACK(&addr) ||
@@ -4371,7 +4373,7 @@ DEFUN (set_ipv6_nexthop_global,
IN6_IS_ADDR_LINKLOCAL(&addr))
{
vty_outln (vty, "%% Invalid global nexthop address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return generic_set_add (vty, VTY_GET_CONTEXT(route_map_index),
@@ -4400,12 +4402,13 @@ DEFUN (no_set_ipv6_nexthop_global,
#ifdef KEEP_OLD_VPN_COMMANDS
DEFUN (set_vpn_nexthop,
set_vpn_nexthop_cmd,
- "set <vpnv4|vpnv6> next-hop <A.B.C.D|X:X::X:X>",
+ "set <vpnv4 next-hop A.B.C.D|vpnv6 next-hop X:X::X:X>",
SET_STR
"VPNv4 information\n"
- "VPNv6 information\n"
"VPN next-hop address\n"
"IP address of next hop\n"
+ "VPNv6 information\n"
+ "VPN next-hop address\n"
"IPv6 address of next hop\n")
{
int idx_ip = 3;
@@ -4426,12 +4429,14 @@ DEFUN (set_vpn_nexthop,
DEFUN (no_set_vpn_nexthop,
no_set_vpn_nexthop_cmd,
- "no set vpn next-hop <A.B.C.D|X:X::X:X>",
+ "no set <vpnv4 next-hop A.B.C.D|vpnv6 next-hop X:X::X:X>",
NO_STR
SET_STR
- "VPN information\n"
+ "VPNv4 information\n"
"VPN next-hop address\n"
"IP address of next hop\n"
+ "VPNv6 information\n"
+ "VPN next-hop address\n"
"IPv6 address of next hop\n")
{
int idx_ip = 4;
diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
index 710aa926ad..42db38f400 100644
--- a/bgpd/bgp_vty.c
+++ b/bgpd/bgp_vty.c
@@ -524,7 +524,7 @@ bgp_vty_return (struct vty *vty, int ret)
if (str)
{
vty_out (vty, "%% %s%s", str, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
@@ -795,7 +795,7 @@ DEFUN (no_bgp_multiple_instance,
if (ret < 0)
{
vty_out (vty, "%% There are more than two BGP instances%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
@@ -876,13 +876,13 @@ DEFUN_NOSH (router_bgp,
if (bgp == NULL)
{
vty_out (vty, "%% No BGP process is configured%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (listcount(bm->bgp) > 1)
{
vty_out (vty, "%% Multiple BGP processes are configured%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -908,15 +908,15 @@ DEFUN_NOSH (router_bgp,
case BGP_ERR_MULTIPLE_INSTANCE_NOT_SET:
vty_out (vty, "Please specify 'bgp multiple-instance' first%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case BGP_ERR_AS_MISMATCH:
vty_out (vty, "BGP is already running; AS is %u%s", as, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case BGP_ERR_INSTANCE_MISMATCH:
vty_out (vty, "BGP instance name and AS number mismatch%s", VTYNL);
vty_out (vty, "BGP instance is already running; AS is %u%s",
as, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Pending: handle when user tries to change a view to vrf n vv. */
@@ -952,13 +952,13 @@ DEFUN (no_router_bgp,
if (bgp == NULL)
{
vty_out (vty, "%% No BGP process is configured%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (listcount(bm->bgp) > 1)
{
vty_out (vty, "%% Multiple BGP processes are configured%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
else
@@ -973,7 +973,7 @@ DEFUN (no_router_bgp,
if (! bgp)
{
vty_out (vty, "%% Can't find BGP instance%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -1013,7 +1013,7 @@ DEFPY (no_bgp_router_id,
if (! IPV4_ADDR_SAME (&bgp->router_id_static, &router_id))
{
vty_outln (vty, "%% BGP router-id doesn't match");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -1042,7 +1042,7 @@ DEFUN (bgp_cluster_id,
if (! ret)
{
vty_out (vty, "%% Malformed bgp cluster identifier%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
bgp_cluster_id_set (bgp, &cluster);
@@ -1179,7 +1179,7 @@ bgp_maxpaths_config_vty (struct vty *vty, int peer_type, const char *mpaths,
vty_out (vty,
"%% Maxpaths Specified: %d is > than multipath num specified on bgp command line %d",
maxpaths, multipath_num);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = bgp_maximum_paths_set (bgp, afi, safi, peer_type, maxpaths, options);
}
@@ -1193,7 +1193,7 @@ bgp_maxpaths_config_vty (struct vty *vty, int peer_type, const char *mpaths,
(set == 1) ? "" : "un",
(peer_type == BGP_PEER_EBGP) ? "ebgp" : "ibgp",
maxpaths, afi, safi, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
bgp_recalculate_all_bestpaths (bgp);
@@ -1328,7 +1328,7 @@ bgp_update_delay_config_vty (struct vty *vty, const char *delay,
{
vty_out (vty, "%%Failed: update-delay less than the establish-wait!%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
bgp->v_update_delay = update_delay;
@@ -1487,7 +1487,7 @@ DEFUN (no_bgp_coalesce_time,
/* Maximum-paths configuration */
DEFUN (bgp_maxpaths,
bgp_maxpaths_cmd,
- "maximum-paths (1-255)",
+ "maximum-paths " CMD_RANGE_STR(1, MULTIPATH_NUM),
"Forward packets over multiple paths\n"
"Number of paths\n")
{
@@ -1497,13 +1497,13 @@ DEFUN (bgp_maxpaths,
ALIAS_HIDDEN (bgp_maxpaths,
bgp_maxpaths_hidden_cmd,
- "maximum-paths (1-255)",
+ "maximum-paths " CMD_RANGE_STR(1, MULTIPATH_NUM),
"Forward packets over multiple paths\n"
"Number of paths\n")
DEFUN (bgp_maxpaths_ibgp,
bgp_maxpaths_ibgp_cmd,
- "maximum-paths ibgp (1-255)",
+ "maximum-paths ibgp " CMD_RANGE_STR(1, MULTIPATH_NUM),
"Forward packets over multiple paths\n"
"iBGP-multipath\n"
"Number of paths\n")
@@ -1514,14 +1514,14 @@ DEFUN (bgp_maxpaths_ibgp,
ALIAS_HIDDEN (bgp_maxpaths_ibgp,
bgp_maxpaths_ibgp_hidden_cmd,
- "maximum-paths ibgp (1-255)",
+ "maximum-paths ibgp " CMD_RANGE_STR(1, MULTIPATH_NUM),
"Forward packets over multiple paths\n"
"iBGP-multipath\n"
"Number of paths\n")
DEFUN (bgp_maxpaths_ibgp_cluster,
bgp_maxpaths_ibgp_cluster_cmd,
- "maximum-paths ibgp (1-255) equal-cluster-length",
+ "maximum-paths ibgp " CMD_RANGE_STR(1, MULTIPATH_NUM) " equal-cluster-length",
"Forward packets over multiple paths\n"
"iBGP-multipath\n"
"Number of paths\n"
@@ -1534,7 +1534,7 @@ DEFUN (bgp_maxpaths_ibgp_cluster,
ALIAS_HIDDEN (bgp_maxpaths_ibgp_cluster,
bgp_maxpaths_ibgp_cluster_hidden_cmd,
- "maximum-paths ibgp (1-255) equal-cluster-length",
+ "maximum-paths ibgp " CMD_RANGE_STR(1, MULTIPATH_NUM) " equal-cluster-length",
"Forward packets over multiple paths\n"
"iBGP-multipath\n"
"Number of paths\n"
@@ -1542,7 +1542,7 @@ ALIAS_HIDDEN (bgp_maxpaths_ibgp_cluster,
DEFUN (no_bgp_maxpaths,
no_bgp_maxpaths_cmd,
- "no maximum-paths [(1-255)]",
+ "no maximum-paths [" CMD_RANGE_STR(1, MULTIPATH_NUM) "]",
NO_STR
"Forward packets over multiple paths\n"
"Number of paths\n")
@@ -1552,14 +1552,14 @@ DEFUN (no_bgp_maxpaths,
ALIAS_HIDDEN (no_bgp_maxpaths,
no_bgp_maxpaths_hidden_cmd,
- "no maximum-paths [(1-255)]",
+ "no maximum-paths [" CMD_RANGE_STR(1, MULTIPATH_NUM) "]",
NO_STR
"Forward packets over multiple paths\n"
"Number of paths\n")
DEFUN (no_bgp_maxpaths_ibgp,
no_bgp_maxpaths_ibgp_cmd,
- "no maximum-paths ibgp [(1-255) [equal-cluster-length]]",
+ "no maximum-paths ibgp [" CMD_RANGE_STR(1, MULTIPATH_NUM) " [equal-cluster-length]]",
NO_STR
"Forward packets over multiple paths\n"
"iBGP-multipath\n"
@@ -1571,7 +1571,7 @@ DEFUN (no_bgp_maxpaths_ibgp,
ALIAS_HIDDEN (no_bgp_maxpaths_ibgp,
no_bgp_maxpaths_ibgp_hidden_cmd,
- "no maximum-paths ibgp [(1-255) [equal-cluster-length]]",
+ "no maximum-paths ibgp [" CMD_RANGE_STR(1, MULTIPATH_NUM) " [equal-cluster-length]]",
NO_STR
"Forward packets over multiple paths\n"
"iBGP-multipath\n"
@@ -1627,7 +1627,7 @@ DEFUN (bgp_timers,
{
vty_out (vty, "%% hold time value must be either 0 or greater than 3%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
bgp_timers_set (bgp, keepalive, holdtime);
@@ -1762,7 +1762,7 @@ DEFUN (no_bgp_deterministic_med,
{
vty_out (vty, "bgp deterministic-med cannot be disabled while addpath-tx-bestpath-per-AS is in use%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
else
{
@@ -2455,7 +2455,7 @@ DEFUN (bgp_listen_range,
if (! ret)
{
vty_out (vty, "%% Malformed listen range%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
afi = family2afi(range.family);
@@ -2464,7 +2464,7 @@ DEFUN (bgp_listen_range,
{
vty_out (vty, "%% Malformed listen range (link-local address)%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask (&range);
@@ -2479,7 +2479,7 @@ DEFUN (bgp_listen_range,
{
vty_out (vty, "%% Same listen range is attached to peer-group %s%s",
existing_group->name, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -2488,14 +2488,14 @@ DEFUN (bgp_listen_range,
{
vty_out (vty, "%% Listen range overlaps with existing listen range%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
group = peer_group_lookup (bgp, peergroup);
if (! group)
{
vty_out (vty, "%% Configure the peer-group first%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = peer_group_listen_range_add(group, &range);
@@ -2531,7 +2531,7 @@ DEFUN (no_bgp_listen_range,
if (! ret)
{
vty_out (vty, "%% Malformed listen range%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
afi = family2afi(range.family);
@@ -2540,7 +2540,7 @@ DEFUN (no_bgp_listen_range,
{
vty_out (vty, "%% Malformed listen range (link-local address)%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask (&range);
@@ -2549,7 +2549,7 @@ DEFUN (no_bgp_listen_range,
if (! group)
{
vty_out (vty, "%% Peer-group does not exist%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = peer_group_listen_range_del(group, &range);
@@ -2653,7 +2653,7 @@ peer_remote_as_vty (struct vty *vty, const char *peer_str,
{
vty_out (vty, "%% Create the peer-group or interface first%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
@@ -2664,7 +2664,7 @@ peer_remote_as_vty (struct vty *vty, const char *peer_str,
{
vty_out (vty, "%% Can not configure the local system as neighbor%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = peer_remote_as (bgp, &su, NULL, &as, as_type, afi, safi);
}
@@ -2674,10 +2674,10 @@ peer_remote_as_vty (struct vty *vty, const char *peer_str,
{
case BGP_ERR_PEER_GROUP_MEMBER:
vty_out (vty, "%% Peer-group AS %u. Cannot configure remote-as for member%s", as, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case BGP_ERR_PEER_GROUP_PEER_TYPE_DIFFERENT:
vty_out (vty, "%% The AS# can not be changed from %u to %s, peer-group members must be all internal or all external%s", as, as_str, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_vty_return (vty, ret);
}
@@ -2715,7 +2715,7 @@ peer_conf_interface_get (struct vty *vty, const char *conf_if, afi_t afi,
if (group)
{
vty_out (vty, "%% Name conflict with peer-group %s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (as_str)
@@ -2753,7 +2753,10 @@ peer_conf_interface_get (struct vty *vty, const char *conf_if, afi_t afi,
NULL);
if (!peer)
- return CMD_WARNING;
+ {
+ vty_outln (vty, "%% BGP failed to create peer");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
if (v6only)
SET_FLAG(peer->flags, PEER_FLAG_IFPEER_V6ONLY);
@@ -2795,7 +2798,7 @@ peer_conf_interface_get (struct vty *vty, const char *conf_if, afi_t afi,
if (! group)
{
vty_out (vty, "%% Configure the peer-group first%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = peer_group_bind (bgp, &su, peer, group, &as);
@@ -2897,12 +2900,15 @@ DEFUN (neighbor_peer_group,
if (peer)
{
vty_out (vty, "%% Name conflict with interface: %s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
group = peer_group_get (bgp, argv[idx_word]->arg);
if (! group)
- return CMD_WARNING;
+ {
+ vty_outln (vty, "%% BGP failed to find or create peer-group");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
return CMD_SUCCESS;
}
@@ -2946,7 +2952,7 @@ DEFUN (no_neighbor,
else
{
vty_out (vty, "%% Create the peer-group first%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
else
@@ -2958,7 +2964,7 @@ DEFUN (no_neighbor,
{
vty_out (vty, "%% Operation not allowed on a dynamic neighbor%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
other = peer->doppelganger;
@@ -3002,7 +3008,7 @@ DEFUN (no_neighbor_interface_config,
else
{
vty_out (vty, "%% Create the bgp interface first%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
@@ -3025,7 +3031,7 @@ DEFUN (no_neighbor_peer_group,
else
{
vty_out (vty, "%% Create the peer-group first%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
@@ -3060,7 +3066,7 @@ DEFUN (no_neighbor_interface_peer_group_remote_as,
else
{
vty_out (vty, "%% Create the peer-group or interface first%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
@@ -3081,7 +3087,7 @@ DEFUN (neighbor_local_as,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
as = strtoul(argv[idx_number]->arg, NULL, 10);
ret = peer_local_as_set (peer, as, 0, 0);
@@ -3105,7 +3111,7 @@ DEFUN (neighbor_local_as_no_prepend,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
as = strtoul(argv[idx_number]->arg, NULL, 10);
ret = peer_local_as_set (peer, as, 1, 0);
@@ -3130,7 +3136,7 @@ DEFUN (neighbor_local_as_no_prepend_replace_as,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
as = strtoul(argv[idx_number]->arg, NULL, 10);
ret = peer_local_as_set (peer, as, 1, 1);
@@ -3154,7 +3160,7 @@ DEFUN (no_neighbor_local_as,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = peer_local_as_unset (peer);
return bgp_vty_return (vty, ret);
@@ -3176,7 +3182,7 @@ DEFUN (neighbor_solo,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = update_group_adjust_soloness(peer, 1);
return bgp_vty_return (vty, ret);
@@ -3196,7 +3202,7 @@ DEFUN (no_neighbor_solo,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = update_group_adjust_soloness(peer, 0);
return bgp_vty_return (vty, ret);
@@ -3217,7 +3223,7 @@ DEFUN (neighbor_password,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = peer_password_set (peer, argv[idx_line]->arg);
return bgp_vty_return (vty, ret);
@@ -3238,7 +3244,7 @@ DEFUN (no_neighbor_password,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = peer_password_unset (peer);
return bgp_vty_return (vty, ret);
@@ -3258,7 +3264,7 @@ DEFUN (neighbor_activate,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = peer_activate (peer, bgp_node_afi (vty), bgp_node_safi (vty));
return bgp_vty_return (vty, ret);
@@ -3286,7 +3292,7 @@ DEFUN (no_neighbor_activate,
/* Lookup peer. */
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = peer_deactivate (peer, bgp_node_afi (vty), bgp_node_safi (vty));
return bgp_vty_return (vty, ret);
@@ -3326,7 +3332,7 @@ DEFUN (neighbor_set_peer_group,
if (!peer)
{
vty_out (vty, "%% Malformed address or name: %s%s", argv[idx_peer]->arg, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
else
@@ -3335,7 +3341,7 @@ DEFUN (neighbor_set_peer_group,
{
vty_out (vty, "%% Can not configure the local system as neighbor%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Disallow for dynamic neighbor. */
@@ -3344,7 +3350,7 @@ DEFUN (neighbor_set_peer_group,
{
vty_out (vty, "%% Operation not allowed on a dynamic neighbor%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -3352,7 +3358,7 @@ DEFUN (neighbor_set_peer_group,
if (! group)
{
vty_out (vty, "%% Configure the peer-group first%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = peer_group_bind (bgp, &su, peer, group, &as);
@@ -3360,7 +3366,7 @@ DEFUN (neighbor_set_peer_group,
if (ret == BGP_ERR_PEER_GROUP_PEER_TYPE_DIFFERENT)
{
vty_out (vty, "%% Peer with AS %u cannot be in this peer-group, members must be all internal or all external%s", as, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_vty_return (vty, ret);
@@ -3392,13 +3398,13 @@ DEFUN (no_neighbor_set_peer_group,
peer = peer_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
group = peer_group_lookup (bgp, argv[idx_word]->arg);
if (! group)
{
vty_out (vty, "%% Configure the peer-group first%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = peer_group_unbind (bgp, peer, group);
@@ -3424,7 +3430,7 @@ peer_flag_modify_vty (struct vty *vty, const char *ip_str,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
/*
* If 'neighbor <interface>', then this is for directly connected peers,
@@ -3433,7 +3439,7 @@ peer_flag_modify_vty (struct vty *vty, const char *ip_str,
if (peer->conf_if && (flag == PEER_FLAG_DISABLE_CONNECTED_CHECK)) {
vty_out (vty, "%s is directly connected peer, cannot accept disable-"
"connected-check%s", ip_str, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!set && flag == PEER_FLAG_SHUTDOWN)
@@ -3501,7 +3507,7 @@ DEFUN (neighbor_shutdown_msg,
char *message;
if (!peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
message = argv_concat (argv, argc, 4);
peer_tx_shutdown_message_set (peer, message);
XFREE (MTYPE_TMP, message);
@@ -3625,7 +3631,7 @@ peer_af_flag_modify_vty (struct vty *vty, const char *peer_str, afi_t afi,
peer = peer_and_group_lookup_vty (vty, peer_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (set)
ret = peer_af_flag_set (peer, afi, safi, flag);
@@ -3673,7 +3679,10 @@ DEFUN (neighbor_capability_orf_prefix,
else if (strmatch (argv[idx_send_recv]->text, "both"))
flag = PEER_FLAG_ORF_PREFIX_SM|PEER_FLAG_ORF_PREFIX_RM;
else
- return CMD_WARNING;
+ {
+ vty_outln (vty, "%% BGP invalid orf prefix-list option");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
return peer_af_flag_set_vty (vty, argv[idx_peer]->arg, bgp_node_afi (vty),
bgp_node_safi (vty), flag);
@@ -3715,7 +3724,10 @@ DEFUN (no_neighbor_capability_orf_prefix,
else if (strmatch (argv[idx_send_recv]->text, "both"))
flag = PEER_FLAG_ORF_PREFIX_SM|PEER_FLAG_ORF_PREFIX_RM;
else
- return CMD_WARNING;
+ {
+ vty_outln (vty, "%% BGP invalid orf prefix-list option");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
return peer_af_flag_unset_vty (vty, argv[idx_peer]->arg, bgp_node_afi (vty),
bgp_node_safi (vty), flag);
@@ -4262,7 +4274,7 @@ DEFUN (neighbor_route_reflector_client,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
return peer_af_flag_set_vty (vty, argv[idx_peer]->arg, bgp_node_afi (vty),
bgp_node_safi (vty),
@@ -4311,7 +4323,7 @@ DEFUN (neighbor_route_server_client,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
return peer_af_flag_set_vty (vty, argv[idx_peer]->arg, bgp_node_afi (vty),
bgp_node_safi (vty),
PEER_FLAG_RSERVER_CLIENT);
@@ -4473,7 +4485,7 @@ peer_ebgp_multihop_set_vty (struct vty *vty, const char *ip_str,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (peer->conf_if)
return bgp_vty_return (vty, BGP_ERR_INVALID_FOR_DIRECT_PEER);
@@ -4493,7 +4505,7 @@ peer_ebgp_multihop_unset_vty (struct vty *vty, const char *ip_str)
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
return bgp_vty_return (vty, peer_ebgp_multihop_unset (peer));
}
@@ -4578,7 +4590,7 @@ DEFUN (neighbor_description,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
str = argv_concat(argv, argc, idx_line);
@@ -4603,7 +4615,7 @@ DEFUN (no_neighbor_description,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
peer_description_unset (peer);
@@ -4621,7 +4633,7 @@ peer_update_source_vty (struct vty *vty, const char *peer_str,
peer = peer_and_group_lookup_vty (vty, peer_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (peer->conf_if)
return CMD_WARNING;
@@ -4639,7 +4651,7 @@ peer_update_source_vty (struct vty *vty, const char *peer_str,
{
vty_out (vty, "%% Invalid update-source, remove prefix length %s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
else
peer_update_source_if_set (peer, source_str);
@@ -4692,7 +4704,7 @@ peer_default_originate_set_vty (struct vty *vty, const char *peer_str,
peer = peer_and_group_lookup_vty (vty, peer_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (set)
ret = peer_default_originate_set (peer, afi, safi, rmap);
@@ -4783,7 +4795,7 @@ peer_port_vty (struct vty *vty, const char *ip_str, int afi,
peer = peer_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (! port_str)
{
@@ -4840,7 +4852,7 @@ peer_weight_set_vty (struct vty *vty, const char *ip_str,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
weight = strtoul(weight_str, NULL, 10);
@@ -4857,7 +4869,7 @@ peer_weight_unset_vty (struct vty *vty, const char *ip_str,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = peer_weight_unset (peer, afi, safi);
return bgp_vty_return (vty, ret);
@@ -4969,7 +4981,7 @@ peer_timers_set_vty (struct vty *vty, const char *ip_str,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
keepalive = strtoul(keep_str, NULL, 10);
holdtime = strtoul(hold_str, NULL, 10);
@@ -4987,7 +4999,7 @@ peer_timers_unset_vty (struct vty *vty, const char *ip_str)
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = peer_timers_unset (peer);
@@ -5034,7 +5046,7 @@ peer_timers_connect_set_vty (struct vty *vty, const char *ip_str,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
connect = strtoul(time_str, NULL, 10);
@@ -5051,7 +5063,7 @@ peer_timers_connect_unset_vty (struct vty *vty, const char *ip_str)
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = peer_timers_connect_unset (peer);
@@ -5097,7 +5109,7 @@ peer_advertise_interval_vty (struct vty *vty, const char *ip_str,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (time_str)
routeadv = strtoul(time_str, NULL, 10);
@@ -5165,7 +5177,10 @@ DEFUN (bgp_set_route_map_delay_timer,
return CMD_SUCCESS;
}
else
- return CMD_WARNING;
+ {
+ vty_outln (vty, "%% BGP invalid route-map delay-timer");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
}
DEFUN (no_bgp_set_route_map_delay_timer,
@@ -5192,7 +5207,10 @@ peer_interface_vty (struct vty *vty, const char *ip_str, const char *str)
peer = peer_lookup_vty (vty, ip_str);
if (! peer || peer->conf_if)
- return CMD_WARNING;
+ {
+ vty_outln (vty, "%% BGP invalid peer %s", ip_str);
+ return CMD_WARNING_CONFIG_FAILED;
+ }
if (str)
peer_interface_set (peer, str);
@@ -5251,7 +5269,7 @@ DEFUN (neighbor_distribute_list,
peer = peer_and_group_lookup_vty (vty, pstr);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
/* Check filter direction. */
direct = strmatch (inout, "in") ? FILTER_IN : FILTER_OUT;
@@ -5294,7 +5312,7 @@ DEFUN (no_neighbor_distribute_list,
peer = peer_and_group_lookup_vty (vty, pstr);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
/* Check filter direction. */
direct = strmatch (inout, "in") ? FILTER_IN : FILTER_OUT;
@@ -5328,7 +5346,7 @@ peer_prefix_list_set_vty (struct vty *vty, const char *ip_str, afi_t afi,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
/* Check filter direction. */
if (strncmp (direct_str, "i", 1) == 0)
@@ -5351,7 +5369,7 @@ peer_prefix_list_unset_vty (struct vty *vty, const char *ip_str, afi_t afi,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
/* Check filter direction. */
if (strncmp (direct_str, "i", 1) == 0)
@@ -5430,7 +5448,7 @@ peer_aslist_set_vty (struct vty *vty, const char *ip_str,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
/* Check filter direction. */
if (strncmp (direct_str, "i", 1) == 0)
@@ -5454,7 +5472,7 @@ peer_aslist_unset_vty (struct vty *vty, const char *ip_str,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
/* Check filter direction. */
if (strncmp (direct_str, "i", 1) == 0)
@@ -5534,7 +5552,7 @@ peer_route_map_set_vty (struct vty *vty, const char *ip_str,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
/* Check filter direction. */
if (strncmp (direct_str, "in", 2) == 0)
@@ -5557,7 +5575,7 @@ peer_route_map_unset_vty (struct vty *vty, const char *ip_str, afi_t afi,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
/* Check filter direction. */
if (strncmp (direct_str, "in", 2) == 0)
@@ -5635,7 +5653,7 @@ peer_unsuppress_map_set_vty (struct vty *vty, const char *ip_str, afi_t afi,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = peer_unsuppress_map_set (peer, afi, safi, name_str);
@@ -5652,7 +5670,7 @@ peer_unsuppress_map_unset_vty (struct vty *vty, const char *ip_str, afi_t afi,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = peer_unsuppress_map_unset (peer, afi, safi);
@@ -5718,7 +5736,7 @@ peer_maximum_prefix_set_vty (struct vty *vty, const char *ip_str, afi_t afi,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
max = strtoul(num_str, NULL, 10);
if (threshold_str)
@@ -5745,7 +5763,7 @@ peer_maximum_prefix_unset_vty (struct vty *vty, const char *ip_str, afi_t afi,
peer = peer_and_group_lookup_vty (vty, ip_str);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = peer_maximum_prefix_unset (peer, afi, safi);
@@ -5964,7 +5982,7 @@ DEFUN (neighbor_allowas_in,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (argc <= idx_number_origin)
allow_num = 3;
@@ -6007,7 +6025,7 @@ DEFUN (no_neighbor_allowas_in,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ret = peer_allowas_in_unset (peer, bgp_node_afi (vty), bgp_node_safi (vty));
@@ -6040,7 +6058,7 @@ DEFUN (neighbor_ttl_security,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
gtsm_hops = strtoul(argv[idx_number]->arg, NULL, 10);
@@ -6051,7 +6069,7 @@ DEFUN (neighbor_ttl_security,
if (peer->conf_if && (gtsm_hops > 1)) {
vty_out (vty, "%s is directly connected peer, hops cannot exceed 1%s",
argv[idx_peer]->arg, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_vty_return (vty, peer_ttl_security_hops_set (peer, gtsm_hops));
@@ -6072,7 +6090,7 @@ DEFUN (no_neighbor_ttl_security,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
return bgp_vty_return (vty, peer_ttl_security_hops_unset (peer));
}
@@ -6089,7 +6107,7 @@ DEFUN (neighbor_addpath_tx_all_paths,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
return peer_af_flag_set_vty (vty, argv[idx_peer]->arg, bgp_node_afi (vty),
bgp_node_safi (vty),
@@ -6137,7 +6155,7 @@ DEFUN (neighbor_addpath_tx_bestpath_per_as,
peer = peer_and_group_lookup_vty (vty, argv[idx_peer]->arg);
if (! peer)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
return peer_af_flag_set_vty (vty, argv[idx_peer]->arg, bgp_node_afi (vty),
bgp_node_safi (vty),
@@ -6815,9 +6833,18 @@ bgp_show_summary (struct vty *vty, struct bgp *bgp, int afi, int safi,
int neighbor_col_default_width = 16;
int len;
int max_neighbor_width = 0;
+ int pfx_rcd_safi;
json_object *json_peer = NULL;
json_object *json_peers = NULL;
+ /* labeled-unicast routes are installed in the unicast table so in order to
+ * display the correct PfxRcd value we must look at SAFI_UNICAST
+ */
+ if (safi == SAFI_LABELED_UNICAST)
+ pfx_rcd_safi = SAFI_UNICAST;
+ else
+ pfx_rcd_safi = safi;
+
if (use_json)
{
if (json == NULL)
@@ -7050,7 +7077,7 @@ bgp_show_summary (struct vty *vty, struct bgp *bgp, int afi, int safi,
json_object_int_add(json_peer, "outq", peer->obuf->count);
json_object_int_add(json_peer, "inq", 0);
peer_uptime (peer->uptime, timebuf, BGP_UPTIME_LEN, use_json, json_peer);
- json_object_int_add(json_peer, "prefixReceivedCount", peer->pcount[afi][safi]);
+ json_object_int_add(json_peer, "prefixReceivedCount", peer->pcount[afi][pfx_rcd_safi]);
if (CHECK_FLAG (peer->flags, PEER_FLAG_SHUTDOWN))
json_object_string_add(json_peer, "state", "Idle (Admin)");
@@ -7101,7 +7128,7 @@ bgp_show_summary (struct vty *vty, struct bgp *bgp, int afi, int safi,
peer_uptime (peer->uptime, timebuf, BGP_UPTIME_LEN, 0, NULL));
if (peer->status == Established)
- vty_out (vty, " %12ld", peer->pcount[afi][safi]);
+ vty_out (vty, " %12ld", peer->pcount[afi][pfx_rcd_safi]);
else
{
if (CHECK_FLAG (peer->flags, PEER_FLAG_SHUTDOWN))
@@ -7365,7 +7392,7 @@ afi_safi_print (afi_t afi, safi_t safi)
else if (afi == AFI_IP && safi == SAFI_MULTICAST)
return "IPv4 Multicast";
else if (afi == AFI_IP && safi == SAFI_LABELED_UNICAST)
- return "IPv4 labeled-unicast";
+ return "IPv4 Labeled Unicast";
else if (afi == AFI_IP && safi == SAFI_MPLS_VPN)
return "IPv4 VPN";
else if (afi == AFI_IP && safi == SAFI_ENCAP)
@@ -7375,7 +7402,7 @@ afi_safi_print (afi_t afi, safi_t safi)
else if (afi == AFI_IP6 && safi == SAFI_MULTICAST)
return "IPv6 Multicast";
else if (afi == AFI_IP6 && safi == SAFI_LABELED_UNICAST)
- return "IPv6 labeled-unicast";
+ return "IPv6 Labeled Unicast";
else if (afi == AFI_IP6 && safi == SAFI_MPLS_VPN)
return "IPv6 VPN";
else if (afi == AFI_IP6 && safi == SAFI_ENCAP)
@@ -9985,7 +10012,7 @@ DEFUN (bgp_redistribute_ipv4,
if (type < 0)
{
vty_out (vty, "%% Invalid route type%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
bgp_redist_add(bgp, AFI_IP, type, 0);
return bgp_redistribute_set (bgp, AFI_IP, type, 0);
@@ -10015,7 +10042,7 @@ DEFUN (bgp_redistribute_ipv4_rmap,
if (type < 0)
{
vty_out (vty, "%% Invalid route type%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
red = bgp_redist_add(bgp, AFI_IP, type, 0);
@@ -10050,7 +10077,7 @@ DEFUN (bgp_redistribute_ipv4_metric,
if (type < 0)
{
vty_out (vty, "%% Invalid route type%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
metric = strtoul(argv[idx_number]->arg, NULL, 10);
@@ -10089,7 +10116,7 @@ DEFUN (bgp_redistribute_ipv4_rmap_metric,
if (type < 0)
{
vty_out (vty, "%% Invalid route type%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
metric = strtoul(argv[idx_number]->arg, NULL, 10);
@@ -10131,7 +10158,7 @@ DEFUN (bgp_redistribute_ipv4_metric_rmap,
if (type < 0)
{
vty_out (vty, "%% Invalid route type%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
metric = strtoul(argv[idx_number]->arg, NULL, 10);
@@ -10421,7 +10448,7 @@ DEFUN (no_bgp_redistribute_ipv4,
if (type < 0)
{
vty_out (vty, "%% Invalid route type%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_redistribute_unset (bgp, AFI_IP, type, 0);
}
@@ -10451,7 +10478,7 @@ DEFUN (bgp_redistribute_ipv6,
if (type < 0)
{
vty_out (vty, "%% Invalid route type%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
bgp_redist_add(bgp, AFI_IP6, type, 0);
@@ -10476,7 +10503,7 @@ DEFUN (bgp_redistribute_ipv6_rmap,
if (type < 0)
{
vty_out (vty, "%% Invalid route type%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
red = bgp_redist_add(bgp, AFI_IP6, type, 0);
@@ -10503,7 +10530,7 @@ DEFUN (bgp_redistribute_ipv6_metric,
if (type < 0)
{
vty_out (vty, "%% Invalid route type%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
metric = strtoul(argv[idx_number]->arg, NULL, 10);
@@ -10534,7 +10561,7 @@ DEFUN (bgp_redistribute_ipv6_rmap_metric,
if (type < 0)
{
vty_out (vty, "%% Invalid route type%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
metric = strtoul(argv[idx_number]->arg, NULL, 10);
@@ -10566,7 +10593,7 @@ DEFUN (bgp_redistribute_ipv6_metric_rmap,
if (type < 0)
{
vty_out (vty, "%% Invalid route type%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
metric = strtoul(argv[idx_number]->arg, NULL, 10);
@@ -10595,7 +10622,7 @@ DEFUN (no_bgp_redistribute_ipv6,
if (type < 0)
{
vty_out (vty, "%% Invalid route type%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_redistribute_unset (bgp, AFI_IP6, type, 0);
@@ -11852,7 +11879,7 @@ DEFUN (ip_community_list_standard,
{
/* Display error string. */
community_list_perror (vty, ret);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -11892,7 +11919,7 @@ DEFUN (no_ip_community_list_standard_all,
if (ret < 0)
{
community_list_perror (vty, ret);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -11931,7 +11958,7 @@ DEFUN (ip_community_list_expanded_all,
{
/* Display error string. */
community_list_perror (vty, ret);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -11971,7 +11998,7 @@ DEFUN (no_ip_community_list_expanded_all,
if (ret < 0)
{
community_list_perror (vty, ret);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -12080,7 +12107,7 @@ lcommunity_list_set_vty (struct vty *vty, int argc, struct cmd_token **argv,
if (reject_all_digit_name && all_digit (cl_name))
{
vty_out (vty, "%% Community name cannot have all digits%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
idx = 0;
@@ -12102,7 +12129,7 @@ lcommunity_list_set_vty (struct vty *vty, int argc, struct cmd_token **argv,
if (ret < 0)
{
community_list_perror (vty, ret);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
@@ -12150,7 +12177,7 @@ lcommunity_list_unset_vty (struct vty *vty, int argc, struct cmd_token **argv,
if (ret < 0)
{
community_list_perror (vty, ret);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -12435,7 +12462,7 @@ DEFUN (ip_extcommunity_list_standard,
if (ret < 0)
{
community_list_perror (vty, ret);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -12472,7 +12499,7 @@ DEFUN (ip_extcommunity_list_name_expanded,
if (ret < 0)
{
community_list_perror (vty, ret);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -12512,7 +12539,7 @@ DEFUN (no_ip_extcommunity_list_standard_all,
if (ret < 0)
{
community_list_perror (vty, ret);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -12552,7 +12579,7 @@ DEFUN (no_ip_extcommunity_list_expanded_all,
if (ret < 0)
{
community_list_perror (vty, ret);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c
index 71a4d4317a..a45dedd020 100644
--- a/bgpd/bgp_zebra.c
+++ b/bgpd/bgp_zebra.c
@@ -1823,7 +1823,7 @@ bgp_redistribute_set (struct bgp *bgp, afi_t afi, int type, u_short instance)
* know of this instance.
*/
if (!bgp_install_info_to_zebra (bgp))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (BGP_DEBUG (zebra, ZEBRA))
zlog_debug("Tx redistribute add VRF %u afi %d %s %d",
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index d7ddd5db8a..0bde8ca11c 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -2251,7 +2251,7 @@ peer_group_get (struct bgp *bgp, const char *name)
SET_FLAG (group->conf->sflags, PEER_STATUS_GROUP);
listnode_add_sort (bgp->group, group);
- return 0;
+ return group;
}
static void
diff --git a/bgpd/rfapi/bgp_rfapi_cfg.c b/bgpd/rfapi/bgp_rfapi_cfg.c
index 14cce2d606..4a2cea4808 100644
--- a/bgpd/rfapi/bgp_rfapi_cfg.c
+++ b/bgpd/rfapi/bgp_rfapi_cfg.c
@@ -300,7 +300,7 @@ DEFUN (vnc_advertise_un_method,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "VNC not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
@@ -348,7 +348,7 @@ set_ecom_list (
vty_outln (vty, "Malformed community-list value");
if (ecom)
ecommunity_free (&ecom);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ecom)
@@ -436,13 +436,13 @@ DEFUN (vnc_defaults_rd,
if (!argv[1]->arg[8] || *end)
{
vty_outln (vty, "%% Malformed rd");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (value32 > 0xffff)
{
vty_outln (vty, "%% Malformed rd (must be less than %u",
0x0ffff);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
memset (&prd, 0, sizeof (prd));
@@ -461,7 +461,7 @@ DEFUN (vnc_defaults_rd,
if (!ret)
{
vty_outln (vty, "%% Malformed rd");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -492,14 +492,14 @@ DEFUN (vnc_defaults_l2rd,
if (!argv[1]->arg[0] || *end)
{
vty_outln (vty, "%% Malformed l2 nve ID \"%s\"",argv[1]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if ((value_l < 1) || (value_l > 0xff))
{
vty_outln (vty,
"%% Malformed l2 nve id (must be greater than 0 and less than %u",
0x100);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
bgp->rfapi_cfg->flags |= BGP_VNC_CONFIG_L2RD;
@@ -536,7 +536,7 @@ DEFUN (vnc_defaults_responselifetime,
h = bgp->rfapi;
if (!h)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (strmatch(argv[1]->text, "infinite"))
{
@@ -801,20 +801,20 @@ DEFUN (vnc_redistribute_rh_roo_localadmin,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "RFAPI not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
localadmin = strtoul (argv[4]->arg, &endptr, 0);
if (!argv[4]->arg[0] || *endptr)
{
vty_outln (vty, "%% Malformed value");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (localadmin > 0xffff)
{
vty_outln (vty, "%% Value out of range (0-%d)", 0xffff);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp->rfapi_cfg->resolve_nve_roo_local_admin == localadmin)
@@ -857,7 +857,7 @@ DEFUN (vnc_redistribute_mode,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "RFAPI not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
@@ -877,7 +877,7 @@ DEFUN (vnc_redistribute_mode,
default:
vty_outln (vty, "unknown redistribute mode");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (newmode != bgp->rfapi_cfg->redist_mode)
@@ -912,13 +912,13 @@ DEFUN (vnc_redistribute_protocol,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "RFAPI not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (rfapi_str2route_type (argv[2]->arg, argv[3]->arg, &afi, &type))
{
vty_outln (vty, "%% Invalid route type");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (type == ZEBRA_ROUTE_BGP_DIRECT_EXT)
@@ -960,13 +960,13 @@ DEFUN (vnc_no_redistribute_protocol,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "RFAPI not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (rfapi_str2route_type (argv[3]->arg, argv[4]->arg, &afi, &type))
{
vty_outln (vty, "%% Invalid route type");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
VNC_REDIST_DISABLE (bgp, afi, type);
@@ -1001,13 +1001,13 @@ DEFUN (vnc_redistribute_bgp_exterior,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "RFAPI not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (rfapi_str2route_type (argv[2]->arg, "bgp-direct-to-nve-groups", &afi, &type))
{
vty_outln (vty, "%% Invalid route type");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp->rfapi_cfg->redist_bgp_exterior_view_name)
@@ -1033,7 +1033,7 @@ DEFUN (vnc_redistribute_nvegroup,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
vnc_redistribute_prechange (bgp);
@@ -1066,7 +1066,7 @@ DEFUN (vnc_redistribute_no_nvegroup,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
vnc_redistribute_prechange (bgp);
@@ -1096,7 +1096,7 @@ DEFUN (vnc_redistribute_lifetime,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
vnc_redistribute_prechange (bgp);
@@ -1136,7 +1136,7 @@ DEFUN (vnc_redist_bgpdirect_no_prefixlist,
if (!(hc = bgp->rfapi_cfg))
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[3]->text, "bgp-direct"))
@@ -1189,7 +1189,7 @@ DEFUN (vnc_redist_bgpdirect_prefixlist,
if (!(hc = bgp->rfapi_cfg))
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[2]->text, "bgp-direct"))
@@ -1239,7 +1239,7 @@ DEFUN (vnc_redist_bgpdirect_no_routemap,
if (!(hc = bgp->rfapi_cfg))
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[3]->text, "bgp-direct"))
@@ -1279,7 +1279,7 @@ DEFUN (vnc_redist_bgpdirect_routemap,
if (!(hc = bgp->rfapi_cfg))
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[2]->text, "bgp-direct"))
@@ -1324,7 +1324,7 @@ DEFUN (vnc_nve_group_redist_bgpdirect_no_prefixlist,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -1332,7 +1332,7 @@ DEFUN (vnc_nve_group_redist_bgpdirect_no_prefixlist,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[3]->text, "ipv4"))
@@ -1373,7 +1373,7 @@ DEFUN (vnc_nve_group_redist_bgpdirect_prefixlist,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -1381,7 +1381,7 @@ DEFUN (vnc_nve_group_redist_bgpdirect_prefixlist,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[2]->text, "ipv4"))
@@ -1420,7 +1420,7 @@ DEFUN (vnc_nve_group_redist_bgpdirect_no_routemap,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -1428,7 +1428,7 @@ DEFUN (vnc_nve_group_redist_bgpdirect_no_routemap,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
vnc_redistribute_prechange (bgp);
@@ -1456,7 +1456,7 @@ DEFUN (vnc_nve_group_redist_bgpdirect_routemap,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -1464,7 +1464,7 @@ DEFUN (vnc_nve_group_redist_bgpdirect_routemap,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
vnc_redistribute_prechange (bgp);
@@ -1505,7 +1505,7 @@ DEFUN (vnc_export_mode,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "VNC not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv[2]->arg[0] == 'b')
@@ -1527,7 +1527,7 @@ DEFUN (vnc_export_mode,
break;
default:
vty_outln (vty, "Invalid mode specified");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (newmode == oldmode)
@@ -1551,7 +1551,7 @@ DEFUN (vnc_export_mode,
* export to zebra with RH mode is not yet implemented
*/
vty_outln (vty,"Changing modes for zebra export not implemented yet");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
oldmode = bgp->rfapi_cfg->flags & BGP_VNC_CONFIG_EXPORT_ZEBRA_MODE_BITS;
bgp->rfapi_cfg->flags &= ~BGP_VNC_CONFIG_EXPORT_ZEBRA_MODE_BITS;
@@ -1591,7 +1591,7 @@ DEFUN (vnc_export_mode,
break;
default:
vty_outln (vty, "Invalid mode");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -1626,7 +1626,7 @@ DEFUN (vnc_export_nvegroup,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfg_new = bgp_rfapi_cfg_match_byname (bgp, argv[5]->arg, RFAPI_GROUP_CFG_NVE);
@@ -1728,7 +1728,7 @@ DEFUN (vnc_no_export_nvegroup,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv[2]->arg[0] == 'b')
@@ -1789,7 +1789,7 @@ DEFUN (vnc_nve_group_export_no_prefixlist,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -1797,7 +1797,7 @@ DEFUN (vnc_nve_group_export_no_prefixlist,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[3]->text, "ipv4"))
@@ -1858,7 +1858,7 @@ DEFUN (vnc_nve_group_export_prefixlist,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -1866,7 +1866,7 @@ DEFUN (vnc_nve_group_export_prefixlist,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[2]->text, "ipv4"))
@@ -1915,7 +1915,7 @@ DEFUN (vnc_nve_group_export_no_routemap,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -1923,7 +1923,7 @@ DEFUN (vnc_nve_group_export_no_routemap,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv[2]->arg[0] == 'b')
@@ -1974,7 +1974,7 @@ DEFUN (vnc_nve_group_export_routemap,
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -1982,7 +1982,7 @@ DEFUN (vnc_nve_group_export_routemap,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv[1]->arg[0] == 'b')
@@ -2025,7 +2025,7 @@ DEFUN (vnc_nve_export_no_prefixlist,
if (!(hc = bgp->rfapi_cfg))
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[4]->text, "ipv4"))
@@ -2086,7 +2086,7 @@ DEFUN (vnc_nve_export_prefixlist,
if (!(hc = bgp->rfapi_cfg))
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[3]->text, "ipv4"))
@@ -2133,7 +2133,7 @@ DEFUN (vnc_nve_export_no_routemap,
if (!(hc = bgp->rfapi_cfg))
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv[3]->arg[0] == 'b')
@@ -2184,7 +2184,7 @@ DEFUN (vnc_nve_export_routemap,
if (!(hc = bgp->rfapi_cfg))
{
vty_outln (vty, "rfapi not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv[2]->arg[0] == 'b')
@@ -2431,7 +2431,7 @@ DEFUN_NOSH (vnc_nve_group,
{
/* Error out of memory */
vty_out (vty, "Can't allocate memory for NVE group%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Copy defaults from struct rfapi_cfg */
@@ -2645,7 +2645,7 @@ bgp_rfapi_delete_named_nve_group (
{
if (vty)
vty_outln (vty, "No NVE group named \"%s\"",rfg_name);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -2735,20 +2735,20 @@ DEFUN (vnc_nve_group_prefix,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!str2prefix (argv[2]->arg, &p))
{
vty_outln (vty, "Malformed prefix \"%s\"", argv[2]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
afi = family2afi (p.family);
if (!afi)
{
vty_outln (vty, "Unsupported address family");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv[1]->arg[0] == 'u')
@@ -2776,7 +2776,7 @@ DEFUN (vnc_nve_group_prefix,
vty_outln (vty, "nve group \"%s\" already has \"%s\" prefix %s",
((struct rfapi_nve_group_cfg *) (rn->info))->name,
argv[1]->arg, argv[2]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
else
{
@@ -2854,7 +2854,7 @@ DEFUN (vnc_nve_group_rt_import,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rc = set_ecom_list (vty, argc - 2, argv + 2, &rfg->rt_import_list);
@@ -2920,7 +2920,7 @@ DEFUN (vnc_nve_group_rt_export,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp->rfapi_cfg->rfg_redist == rfg)
@@ -2958,7 +2958,7 @@ DEFUN (vnc_nve_group_rt_both,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rc = set_ecom_list (vty, argc - 2, argv + 2, &rfg->rt_import_list);
@@ -3039,7 +3039,7 @@ DEFUN (vnc_nve_group_l2rd,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[1]->text, "auto:vn"))
@@ -3055,14 +3055,14 @@ DEFUN (vnc_nve_group_l2rd,
if (!argv[1]->arg[0] || *end)
{
vty_outln (vty, "%% Malformed l2 nve ID \"%s\"",argv[1]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if ((value_l < 1) || (value_l > 0xff))
{
vty_outln (vty,
"%% Malformed l2 nve id (must be greater than 0 and less than %u",
0x100);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfg->l2rd = value;
@@ -3086,7 +3086,7 @@ DEFUN (vnc_nve_group_no_l2rd,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfg->l2rd = 0;
@@ -3111,7 +3111,7 @@ DEFUN (vnc_nve_group_rd,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!strncmp (argv[1]->arg, "auto:vn:", 8))
@@ -3127,13 +3127,13 @@ DEFUN (vnc_nve_group_rd,
if (!argv[1]->arg[8] || *end)
{
vty_outln (vty, "%% Malformed rd");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (value32 > 0xffff)
{
vty_outln (vty, "%% Malformed rd (must be less than %u",
0x0ffff);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
memset (&prd, 0, sizeof (prd));
@@ -3152,7 +3152,7 @@ DEFUN (vnc_nve_group_rd,
if (!ret)
{
vty_outln (vty, "%% Malformed rd");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -3187,7 +3187,7 @@ DEFUN (vnc_nve_group_responselifetime,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[1]->text, "infinite"))
@@ -3256,7 +3256,7 @@ DEFUN_NOSH (vnc_vrf_policy,
if (!bgp)
{
vty_out (vty, "No BGP process is configured%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Search for name */
@@ -3269,7 +3269,7 @@ DEFUN_NOSH (vnc_vrf_policy,
{
/* Error out of memory */
vty_out (vty, "Can't allocate memory for NVE group%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
/*
@@ -3293,7 +3293,7 @@ DEFUN (vnc_no_vrf_policy,
if (!bgp)
{
vty_outln (vty, "No BGP process is configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_rfapi_delete_named_nve_group (vty, bgp, argv[2]->arg, RFAPI_GROUP_CFG_VRF);
}
@@ -3312,7 +3312,7 @@ DEFUN (vnc_vrf_policy_label,
if (!bgp)
{
vty_outln (vty, "No BGP process is configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -3320,7 +3320,7 @@ DEFUN (vnc_vrf_policy_label,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
label = strtoul(argv[1]->arg, NULL, 10);
@@ -3353,7 +3353,7 @@ DEFUN (vnc_vrf_policy_no_label,
{
/* Not in list anymore */
vty_outln (vty, "Current VRF group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp->rfapi_cfg->rfg_redist == rfg)
@@ -3388,7 +3388,7 @@ DEFUN (vnc_vrf_policy_nexthop,
{
/* Not in list anymore */
vty_outln (vty, "Current VRF no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp->rfapi_cfg->rfg_redist == rfg)
@@ -3438,7 +3438,7 @@ DEFUN (vnc_vrf_policy_rt_import,
if (!bgp)
{
vty_outln (vty, "No BGP process is configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -3446,7 +3446,7 @@ DEFUN (vnc_vrf_policy_rt_import,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rc = set_ecom_list (vty, argc-2, argv+2, &rfg->rt_import_list);
@@ -3510,7 +3510,7 @@ DEFUN (vnc_vrf_policy_rt_export,
if (!bgp)
{
vty_outln (vty, "No BGP process is configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -3518,7 +3518,7 @@ DEFUN (vnc_vrf_policy_rt_export,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp->rfapi_cfg->rfg_redist == rfg)
@@ -3554,7 +3554,7 @@ DEFUN (vnc_vrf_policy_rt_both,
if (!bgp)
{
vty_outln (vty, "No BGP process is configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -3562,7 +3562,7 @@ DEFUN (vnc_vrf_policy_rt_both,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rc = set_ecom_list (vty, argc-2, argv+2, &rfg->rt_import_list);
@@ -3642,7 +3642,7 @@ DEFUN (vnc_vrf_policy_rd,
if (!bgp)
{
vty_outln (vty, "No BGP process is configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -3650,7 +3650,7 @@ DEFUN (vnc_vrf_policy_rd,
{
/* Not in list anymore */
vty_outln (vty, "Current NVE group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!strncmp (argv[1]->arg, "auto:nh:", 8))
@@ -3666,13 +3666,13 @@ DEFUN (vnc_vrf_policy_rd,
if (!*(argv[1]->arg + 5) || *end)
{
vty_outln (vty, "%% Malformed rd");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (value32 > 0xffff)
{
vty_outln (vty, "%% Malformed rd (must be less than %u",
0x0ffff);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
memset (&prd, 0, sizeof (prd));
@@ -3691,7 +3691,7 @@ DEFUN (vnc_vrf_policy_rd,
if (!ret)
{
vty_outln (vty, "%% Malformed rd");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -3743,7 +3743,7 @@ DEFUN_NOSH (vnc_l2_group,
if (!bgp)
{
vty_out (vty, "No BGP process is configured%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Search for name */
@@ -3756,7 +3756,7 @@ DEFUN_NOSH (vnc_l2_group,
{
/* Error out of memory */
vty_out (vty, "Can't allocate memory for L2 group%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfg->name = strdup (argv[1]->arg);
/* add to tail of list */
@@ -3809,7 +3809,7 @@ bgp_rfapi_delete_named_l2_group (
{
if (vty)
vty_outln (vty, "No L2 group named \"%s\"",rfg_name);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -3834,7 +3834,7 @@ DEFUN (vnc_no_l2_group,
if (!bgp)
{
vty_outln (vty, "No BGP process is configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_rfapi_delete_named_l2_group (vty, bgp, argv[3]->arg);
}
@@ -3852,7 +3852,7 @@ DEFUN (vnc_l2_group_lni,
if (!bgp)
{
vty_outln (vty, "No BGP process is configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -3860,7 +3860,7 @@ DEFUN (vnc_l2_group_lni,
{
/* Not in list anymore */
vty_outln (vty, "Current L2 group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfg->logical_net_id = strtoul(argv[1]->arg, NULL, 10);
@@ -3881,7 +3881,7 @@ DEFUN (vnc_l2_group_labels,
if (!bgp)
{
vty_outln (vty, "No BGP process is configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -3889,7 +3889,7 @@ DEFUN (vnc_l2_group_labels,
{
/* Not in list anymore */
vty_outln (vty, "Current L2 group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ll = rfg->labels;
@@ -3925,7 +3925,7 @@ DEFUN (vnc_l2_group_no_labels,
if (!bgp)
{
vty_outln (vty, "No BGP process is configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -3933,14 +3933,14 @@ DEFUN (vnc_l2_group_no_labels,
{
/* Not in list anymore */
vty_outln (vty, "Current L2 group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ll = rfg->labels;
if (ll == NULL)
{
vty_outln (vty, "Label no longer associated with group");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
argc-=2;
@@ -3988,7 +3988,7 @@ DEFUN (vnc_l2_group_rt,
if (!bgp)
{
vty_outln (vty, "No BGP process is configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
@@ -3996,7 +3996,7 @@ DEFUN (vnc_l2_group_rt,
{
/* Not in list anymore */
vty_outln (vty, "Current L2 group no longer exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (do_import)
diff --git a/bgpd/rfapi/rfapi.c b/bgpd/rfapi/rfapi.c
index ffd4e3e323..1ea8004e29 100644
--- a/bgpd/rfapi/rfapi.c
+++ b/bgpd/rfapi/rfapi.c
@@ -3102,12 +3102,12 @@ DEFUN (
if (!str2prefix (argv[5]->arg, &pfx))
{
vty_outln (vty, "Malformed address \"%s\"", argv[5]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (pfx.family != AF_INET && pfx.family != AF_INET6)
{
vty_outln (vty, "Invalid address \"%s\"", argv[5]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv[4]->arg[0] == 'u')
@@ -3232,7 +3232,7 @@ DEFUN (debug_rfapi_close_vn_un,
{
vty_outln (vty, "can't locate handle matching vn=%s, un=%s",
argv[4]->arg, argv[6]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rc = rfapi_close (handle);
@@ -3259,7 +3259,7 @@ DEFUN (debug_rfapi_close_rfd,
if (*endptr != '\0' || (uintptr_t) handle == UINTPTR_MAX)
{
vty_outln (vty, "Invalid value: %s", argv[4]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rc = rfapi_close (handle);
@@ -3313,7 +3313,7 @@ DEFUN (debug_rfapi_register_vn_un,
{
vty_outln (vty, "can't locate handle matching vn=%s, un=%s",
argv[4]->arg, argv[6]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*
@@ -3322,12 +3322,12 @@ DEFUN (debug_rfapi_register_vn_un,
if (!str2prefix (argv[8]->arg, &pfx))
{
vty_outln (vty, "Malformed prefix \"%s\"", argv[8]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (pfx.family != AF_INET && pfx.family != AF_INET6)
{
vty_outln (vty, "Bad family for prefix \"%s\"", argv[8]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfapiQprefix2Rprefix (&pfx, &hpfx);
@@ -3402,7 +3402,7 @@ DEFUN (debug_rfapi_register_vn_un_l2o,
{
vty_outln (vty, "can't locate handle matching vn=%s, un=%s",
argv[4]->arg, argv[6]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*
@@ -3411,12 +3411,12 @@ DEFUN (debug_rfapi_register_vn_un_l2o,
if (!str2prefix (argv[8]->arg, &pfx))
{
vty_outln (vty, "Malformed prefix \"%s\"", argv[8]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (pfx.family != AF_INET && pfx.family != AF_INET6)
{
vty_outln (vty, "Bad family for prefix \"%s\"", argv[8]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfapiQprefix2Rprefix (&pfx, &hpfx);
@@ -3435,7 +3435,7 @@ DEFUN (debug_rfapi_register_vn_un_l2o,
if ((rc = rfapiStr2EthAddr (argv[12]->arg, &optary[opt_next].v.l2addr.macaddr)))
{
vty_outln (vty, "Bad mac address \"%s\"", argv[12]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
optary[opt_next].type = RFAPI_VN_OPTION_TYPE_L2ADDR;
if (opt_next)
@@ -3498,7 +3498,7 @@ DEFUN (debug_rfapi_unregister_vn_un,
{
vty_outln (vty, "can't locate handle matching vn=%s, un=%s",
argv[4]->arg, argv[6]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*
@@ -3507,12 +3507,12 @@ DEFUN (debug_rfapi_unregister_vn_un,
if (!str2prefix (argv[8]->arg, &pfx))
{
vty_outln (vty, "Malformed prefix \"%s\"", argv[8]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (pfx.family != AF_INET && pfx.family != AF_INET6)
{
vty_outln (vty, "Bad family for prefix \"%s\"", argv[8]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfapiQprefix2Rprefix (&pfx, &hpfx);
@@ -3569,7 +3569,7 @@ DEFUN (debug_rfapi_query_vn_un,
{
vty_outln (vty, "can't locate handle matching vn=%s, un=%s",
argv[4]->arg, argv[6]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*
@@ -3643,14 +3643,14 @@ DEFUN (debug_rfapi_query_vn_un_l2o,
return rc;
#else
vty_outln (vty, "%% This command is broken.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
#endif
if (rfapi_find_handle_vty (vty, &vn, &un, &handle))
{
vty_outln (vty, "can't locate handle matching vn=%s, un=%s",
argv[4]->arg, argv[6]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*
@@ -3660,7 +3660,7 @@ DEFUN (debug_rfapi_query_vn_un_l2o,
if (rfapiStr2EthAddr (argv[10]->arg, &l2o_buf.macaddr))
{
vty_outln (vty, "Bad mac address \"%s\"", argv[10]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
l2o_buf.logical_net_id = strtoul(argv[8]->arg, NULL, 10);
@@ -3752,7 +3752,7 @@ DEFUN (debug_rfapi_query_done_vn_un,
{
vty_outln (vty, "can't locate handle matching vn=%s, un=%s",
argv[5]->arg, argv[7]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*
@@ -3787,14 +3787,14 @@ DEFUN (debug_rfapi_show_import,
if (!bgp)
{
vty_outln (vty, "No BGP instance");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
h = bgp->rfapi;
if (!h)
{
vty_outln (vty, "No RFAPI instance");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*
@@ -3891,7 +3891,7 @@ DEFUN (debug_rfapi_show_import_vn_un,
{
vty_outln (vty, "can't locate handle matching vn=%s, un=%s",
argv[5]->arg, argv[7]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfd = (struct rfapi_descriptor *) handle;
@@ -3921,12 +3921,12 @@ DEFUN (debug_rfapi_response_omit_self,
if (!bgp)
{
vty_outln (vty, "No BGP process is configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!bgp->rfapi_cfg)
{
vty_outln (vty, "VNC not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[3]->text, "on"))
diff --git a/bgpd/rfapi/rfapi_vty.c b/bgpd/rfapi/rfapi_vty.c
index d12958a600..ef08699f74 100644
--- a/bgpd/rfapi/rfapi_vty.c
+++ b/bgpd/rfapi/rfapi_vty.c
@@ -2208,7 +2208,7 @@ register_add (
struct rfapi_vn_option *opt = NULL;
int opt_next = 0;
- int rc = CMD_WARNING;
+ int rc = CMD_WARNING_CONFIG_FAILED;
char *endptr;
struct bgp *bgp;
struct rfapi *h;
@@ -2222,7 +2222,7 @@ register_add (
{
if (vty)
vty_outln (vty, "BGP not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
h = bgp->rfapi;
@@ -2231,7 +2231,7 @@ register_add (
{
if (vty)
vty_outln (vty, "RFAPI not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
for (; argc; --argc, ++argv)
@@ -2241,12 +2241,12 @@ register_add (
if (arg_lnh)
{
vty_outln (vty,"local-next-hop specified more than once");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argc <= 1)
{
vty_outln (vty,"Missing parameter for local-next-hop");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
++argv, --argc;
arg_lnh = argv[0]->arg;
@@ -2256,12 +2256,12 @@ register_add (
if (arg_lnh_cost)
{
vty_outln (vty,"local-cost specified more than once");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argc <= 1)
{
vty_outln (vty,"Missing parameter for local-cost");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
++argv, --argc;
arg_lnh_cost = argv[0]->arg;
@@ -2289,7 +2289,7 @@ register_add (
break;
default:
vty_outln (vty,"Internal error, unknown VN address family");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -2412,7 +2412,7 @@ register_add (
{
vty_outln (vty,
"Missing \"vni\" parameter (mandatory with mac)");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
optary[opt_next].v.l2addr.logical_net_id = strtoul(arg_vni, NULL,
10);
@@ -2474,7 +2474,7 @@ register_add (
{
vty_outln (vty, "Can't open session for this NVE: %s",
rfapi_error_str(rc));
- rc = CMD_WARNING;
+ rc = CMD_WARNING_CONFIG_FAILED;
goto fail;
}
}
@@ -2520,7 +2520,7 @@ register_add (
vty_outln (vty, "Registration failed.");
vty_outln (vty,
"Confirm that either the VN or UN address matches a configured NVE group.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
fail:
vnc_zlog_debug_verbose ("%s: fail, rc=%d", __func__, rc);
@@ -5007,12 +5007,12 @@ vnc_add_vrf_prefix (struct vty *vty,
if (!bgp)
{
vty_outln (vty, "No BGP process is configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!bgp->rfapi || !bgp->rfapi_cfg)
{
vty_outln (vty, "VRF support not configured");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfg = bgp_rfapi_cfg_match_byname (bgp, arg_vrf, RFAPI_GROUP_CFG_VRF);
@@ -5021,31 +5021,31 @@ vnc_add_vrf_prefix (struct vty *vty,
{
vty_outln (vty, "VRF \"%s\" appears not to be configured.",
arg_vrf);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!rfg->rt_export_list || !rfg->rfapi_import_table)
{
vty_outln (vty, "VRF \"%s\" is missing RT import/export RT configuration.",
arg_vrf);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!rfg->rd.family && !arg_rd)
{
vty_outln (vty, "VRF \"%s\" isn't configured with an RD, so RD must be provided.",
arg_vrf);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (rfg->label > MPLS_LABEL_MAX && !arg_label)
{
vty_outln (vty, "VRF \"%s\" isn't configured with a default labels, so a label must be provided.",
arg_vrf);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!str2prefix (arg_prefix, &pfx))
{
vty_outln (vty, "Malformed prefix \"%s\"",
arg_prefix);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfapiQprefix2Rprefix (&pfx, &rpfx);
memset (optary, 0, sizeof (optary));
@@ -5059,7 +5059,7 @@ vnc_add_vrf_prefix (struct vty *vty,
{
vty_outln (vty, "Malformed RD \"%s\"",
arg_rd);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
if (rfg->label <= MPLS_LABEL_MAX || arg_label)
@@ -5087,7 +5087,7 @@ vnc_add_vrf_prefix (struct vty *vty,
{
vty_outln (vty, "%% Invalid local-preference value \"%s\"",
arg_pref);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
rpfx.cost = 255 - (pref & 255) ;
@@ -5151,7 +5151,7 @@ vnc_add_vrf_prefix (struct vty *vty,
vnc_zlog_debug_verbose ("%s: rfapi_register failed", __func__);
vty_outln (vty, "Add failed.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (add_vrf_prefix_rd_label_pref,
diff --git a/bgpd/rfapi/vnc_debug.c b/bgpd/rfapi/vnc_debug.c
index e43b152e50..53669ce3b2 100644
--- a/bgpd/rfapi/vnc_debug.c
+++ b/bgpd/rfapi/vnc_debug.c
@@ -86,7 +86,7 @@ DEFUN (debug_bgp_vnc,
}
}
vty_outln (vty, "Unknown debug flag: %s", argv[3]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (no_debug_bgp_vnc,
@@ -125,7 +125,7 @@ DEFUN (no_debug_bgp_vnc,
}
}
vty_outln (vty, "Unknown debug flag: %s", argv[3]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
diff --git a/bgpd/rfapi/vnc_zebra.c b/bgpd/rfapi/vnc_zebra.c
index 6a8b4a83fa..de1249ff2c 100644
--- a/bgpd/rfapi/vnc_zebra.c
+++ b/bgpd/rfapi/vnc_zebra.c
@@ -1036,7 +1036,7 @@ vnc_redistribute_set (struct bgp *bgp, afi_t afi, int type)
{
if (!bgp->rfapi_cfg)
{
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Set flag to BGP instance. */
@@ -1046,7 +1046,7 @@ vnc_redistribute_set (struct bgp *bgp, afi_t afi, int type)
/* Return if already redistribute flag is set. */
if (zclient_vnc->redist[afi][type])
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
vrf_bitmap_set (zclient_vnc->redist[afi][type], VRF_DEFAULT);
@@ -1054,7 +1054,7 @@ vnc_redistribute_set (struct bgp *bgp, afi_t afi, int type)
/* Return if zebra connection is not established. */
if (zclient_vnc->sock < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (BGP_DEBUG (zebra, ZEBRA))
vnc_zlog_debug_verbose ("Zebra send: redistribute add %s", zebra_route_string (type));
@@ -1074,7 +1074,7 @@ vnc_redistribute_unset (struct bgp *bgp, afi_t afi, int type)
if (!bgp->rfapi_cfg)
{
vnc_zlog_debug_verbose ("%s: return (no rfapi_cfg)", __func__);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Unset flag from BGP instance. */
@@ -1082,7 +1082,7 @@ vnc_redistribute_unset (struct bgp *bgp, afi_t afi, int type)
/* Return if zebra connection is disabled. */
if (!zclient_vnc->redist[afi][type])
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
zclient_vnc->redist[afi][type] = 0;
if (bgp->rfapi_cfg->redist[AFI_IP][type] == 0
diff --git a/buildtest.sh b/buildtest.sh
index cbe6962a43..b4b02d10bf 100755
--- a/buildtest.sh
+++ b/buildtest.sh
@@ -1,7 +1,7 @@
#!/bin/bash
# written 2012-2013 by David Lamparter, placed in Public Domain.
#
-# builds some git commit of Quagga in some different configurations
+# builds some git commit of FRR in some different configurations
# usage: buildtest.sh [commit [configurations...]]
basecfg="--prefix=/usr --enable-user=frr --enable-group=frr --enable-vty-group=frr --enable-configfile-mask=0660 --enable-logfile-mask=0640 --enable-vtysh --sysconfdir=/etc/frr --enable-exampledir=/etc/frr/samples --localstatedir=/var/run/frr --libdir=/usr/lib64/frr --enable-rtadv --disable-static --enable-isisd --enable-multipath=0 --enable-pimd --enable-werror"
diff --git a/configure.ac b/configure.ac
index 4cfa829f2a..cbda2fc84f 100755
--- a/configure.ac
+++ b/configure.ac
@@ -127,7 +127,7 @@ dnl autoconf 2.59 appears not to support AC_PROG_SED
dnl AC_PROG_SED
AC_CHECK_PROG([SED],[sed],[sed],[/bin/false])
-dnl try and enable CFLAGS that are useful for Quagga
+dnl try and enable CFLAGS that are useful for FRR
dnl - specifically, options to control warnings
AC_USE_SYSTEM_EXTENSIONS
@@ -249,7 +249,7 @@ AX_PTHREAD([
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
LIBS="$PTHREAD_LIBS $LIBS"
], [
- AC_MSG_FAILURE([This Quagga version needs pthreads])
+ AC_MSG_FAILURE([This FRR version needs pthreads])
])
dnl --------------
@@ -283,7 +283,7 @@ AC_ARG_WITH(vtysh_pager,
AS_HELP_STRING([--with-vtysh-pager=PAGER], [control what pager is compiled in as default]),
VTYSH_PAGER=$withval, VTYSH_PAGER="more")
AC_ARG_ENABLE(vtysh,
- AS_HELP_STRING([--disable-vtysh], [do not build integrated vty shell for Quagga]))
+ AS_HELP_STRING([--disable-vtysh], [do not build integrated vty shell for FRR]))
AC_ARG_ENABLE(doc,
AS_HELP_STRING([--disable-doc], [do not build docs]))
AC_ARG_ENABLE(zebra,
@@ -939,7 +939,7 @@ AM_CONDITIONAL(VTYSH, test "x$VTYSH" = "xvtysh")
dnl ----------
dnl PAM module
dnl
-dnl Quagga detects the PAM library it is built against by checking for a
+dnl FRR detects the PAM library it is built against by checking for a
dnl functional pam_misc.h (Linux-PAM) or openpam.h (OpenPAM) header. pam_misc.h
dnl is known to #include pam_appl.h, the standard header of a PAM library, and
dnl openpam.h doesn't do that, although depends on the header too. Hence a
@@ -1759,10 +1759,10 @@ dnl --------------------------------------
AM_PROG_LEX
AC_MSG_CHECKING(version of flex)
-quagga_ac_flex_version="$(eval $LEX -V | grep flex | head -n 1)"
-quagga_ac_flex_version="${quagga_ac_flex_version##* }"
-AC_MSG_RESULT([$quagga_ac_flex_version])
-AX_COMPARE_VERSION([$quagga_ac_flex_version], [lt], [2.5.20], [
+frr_ac_flex_version="$(eval $LEX -V | grep flex | head -n 1)"
+frr_ac_flex_version="${frr_ac_flex_version##* }"
+AC_MSG_RESULT([$frr_ac_flex_version])
+AX_COMPARE_VERSION([$frr_ac_flex_version], [lt], [2.5.20], [
LEX="$SHELL $missing_dir/missing flex"
if test -f "${srcdir}/lib/command_lex.c" -a -f "${srcdir}/lib/command_lex.h"; then
AC_MSG_WARN([using pregenerated flex output files])
@@ -1776,38 +1776,38 @@ AX_COMPARE_VERSION([$quagga_ac_flex_version], [lt], [2.5.20], [
AC_PROG_YACC
dnl thanks GNU bison for this b*llshit...
AC_MSG_CHECKING(version of bison)
-quagga_ac_bison_version="$(eval $YACC -V | grep bison | head -n 1)"
-quagga_ac_bison_version="${quagga_ac_bison_version##* }"
-quagga_ac_bison_missing="false"
-case "x${quagga_ac_bison_version}" in
+frr_ac_bison_version="$(eval $YACC -V | grep bison | head -n 1)"
+frr_ac_bison_version="${frr_ac_bison_version##* }"
+frr_ac_bison_missing="false"
+case "x${frr_ac_bison_version}" in
x2.7*)
BISON_OPENBRACE='"'
BISON_CLOSEBRACE='"'
BISON_VERBOSE=''
- AC_MSG_RESULT([$quagga_ac_bison_version - 2.7 or older])
+ AC_MSG_RESULT([$frr_ac_bison_version - 2.7 or older])
;;
x2.*|x1.*)
- AC_MSG_RESULT([$quagga_ac_bison_version])
+ AC_MSG_RESULT([$frr_ac_bison_version])
AC_MSG_WARN([installed bison is too old. Please install GNU bison 2.7.x or newer.])
- quagga_ac_bison_missing="true"
+ frr_ac_bison_missing="true"
;;
x)
AC_MSG_RESULT([none])
AC_MSG_WARN([could not determine bison version. Please install GNU bison 2.7.x or newer.])
- quagga_ac_bison_missing="true"
+ frr_ac_bison_missing="true"
;;
*)
BISON_OPENBRACE='{'
BISON_CLOSEBRACE='}'
BISON_VERBOSE='-Dparse.error=verbose'
- AC_MSG_RESULT([$quagga_ac_bison_version - 3.0 or newer])
+ AC_MSG_RESULT([$frr_ac_bison_version - 3.0 or newer])
;;
esac
AC_SUBST(BISON_OPENBRACE)
AC_SUBST(BISON_CLOSEBRACE)
AC_SUBST(BISON_VERBOSE)
-if $quagga_ac_bison_missing; then
+if $frr_ac_bison_missing; then
YACC="$SHELL $missing_dir/missing bison -y"
if test -f "${srcdir}/lib/command_parse.c" -a -f "${srcdir}/lib/command_parse.h"; then
AC_MSG_WARN([using pregenerated bison output files])
@@ -2013,7 +2013,7 @@ AC_CONFIG_FILES([solaris/Makefile])
AC_CONFIG_FILES([vtysh/extract.pl],[chmod +x vtysh/extract.pl])
-## Hack, but working solution to avoid rebuilding of quagga.info.
+## Hack, but working solution to avoid rebuilding of frr.info.
## It's already in CVS until texinfo 4.7 is more common.
AC_OUTPUT
diff --git a/doc/appendix.texi b/doc/appendix.texi
index 3904c5f0cd..2e1c9deb1b 100644
--- a/doc/appendix.texi
+++ b/doc/appendix.texi
@@ -1,7 +1,7 @@
@node Packet Binary Dump Format
@appendix Packet Binary Dump Format
- Quagga can dump routing protocol packet into file with a binary format
+ FRR can dump routing protocol packet into file with a binary format
(@pxref{Dump BGP packets and table}).
It seems to be better that we share the MRT's header format for
diff --git a/doc/babeld.texi b/doc/babeld.texi
index 6b4cca1e1f..2dfb5f8c0a 100644
--- a/doc/babeld.texi
+++ b/doc/babeld.texi
@@ -1,7 +1,7 @@
@c -*-texinfo-*-
-@c This is part of the Quagga Manual.
+@c This is part of the FRR Manual.
@c @value{COPYRIGHT_STR}
-@c See file quagga.texi for copying conditions.
+@c See file frr.texi for copying conditions.
@node Babel
@chapter Babel
@@ -14,7 +14,7 @@ perform reliable link quality estimation on wireless links. Babel is
a double-stack routing protocol, meaning that a single Babel instance
is able to perform routing for both IPv4 and IPv6.
-Quagga implements Babel as described in RFC6126.
+FRR implements Babel as described in RFC6126.
@menu
* Configuring babeld::
diff --git a/eigrpd/eigrp_routemap.c b/eigrpd/eigrp_routemap.c
index 01fc970732..8af8c7010d 100644
--- a/eigrpd/eigrp_routemap.c
+++ b/eigrpd/eigrp_routemap.c
@@ -155,10 +155,10 @@ eigrp_route_match_add (struct vty *vty, struct route_map_index *index,
{
case RMAP_RULE_MISSING:
vty_outln (vty, "%% Can't find rule.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
vty_outln (vty, "%% Argument is malformed.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
return CMD_SUCCESS;
@@ -177,10 +177,10 @@ eigrp_route_match_delete (struct vty *vty, struct route_map_index *index,
{
case RMAP_RULE_MISSING:
vty_outln (vty, "%% Can't find rule.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
vty_outln (vty, "%% Argument is malformed.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
return CMD_SUCCESS;
@@ -200,7 +200,7 @@ eigrp_route_set_add (struct vty *vty, struct route_map_index *index,
{
case RMAP_RULE_MISSING:
vty_outln (vty, "%% Can't find rule.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
/* rip, ripng and other protocols share the set metric command
but only values from 0 to 16 are valid for rip and ripng
@@ -208,7 +208,7 @@ eigrp_route_set_add (struct vty *vty, struct route_map_index *index,
other protocols. Do not return an error */
if (strcmp(command, "metric")) {
vty_outln (vty, "%% Argument is malformed.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
}
@@ -229,10 +229,10 @@ eigrp_route_set_delete (struct vty *vty, struct route_map_index *index,
{
case RMAP_RULE_MISSING:
vty_outln (vty, "%% Can't find rule.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
vty_outln (vty, "%% Argument is malformed.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
return CMD_SUCCESS;
@@ -1125,7 +1125,7 @@ DEFUN (set_ip_nexthop,
if (ret < 0)
{
vty_outln (vty, "%% Malformed next-hop address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return eigrp_route_set_add (vty, vty->index, "ip next-hop", argv[0]);
diff --git a/eigrpd/eigrp_vty.c b/eigrpd/eigrp_vty.c
index e283c73653..5b48ab79b3 100644
--- a/eigrpd/eigrp_vty.c
+++ b/eigrpd/eigrp_vty.c
@@ -236,7 +236,7 @@ DEFUN (no_router_eigrp,
if (eigrp->AS != atoi (argv[3]->arg))
{
vty_outln (vty,"%% Attempting to deconfigure non-existent AS");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
eigrp_finish_final (eigrp);
@@ -394,7 +394,7 @@ DEFUN (eigrp_network,
if (ret == 0)
{
vty_outln (vty, "There is already same network statement.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -418,7 +418,7 @@ DEFUN (no_eigrp_network,
if (ret == 0)
{
vty_outln (vty,"Can't find specified network configuration.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -866,7 +866,7 @@ str2auth_type (const char *str, struct interface *ifp)
{
/* Sanity check. */
if (str == NULL)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if(strncmp(str, "md5",3) == 0)
{
@@ -879,7 +879,7 @@ str2auth_type (const char *str, struct interface *ifp)
return CMD_SUCCESS;
}
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (eigrp_authentication_mode,
@@ -1032,7 +1032,7 @@ DEFUN (eigrp_redistribute_source_metric,
argv_find (argv, argc, "redistribute", &idx);
source = proto_redistnum(AFI_IP, argv[idx+1]->arg);
if (source < 0 )
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
/* Get metrics values */
@@ -1061,7 +1061,7 @@ DEFUN (no_eigrp_redistribute_source_metric,
argv_find (argv, argc, "redistribute", &idx);
source = proto_redistnum(AFI_IP, argv[idx+1]->arg);
if (source < 0 )
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
/* Get metrics values */
diff --git a/isisd/isis_redist.c b/isisd/isis_redist.c
index 25fdf717b0..a646933bb6 100644
--- a/isisd/isis_redist.c
+++ b/isisd/isis_redist.c
@@ -581,27 +581,27 @@ DEFUN (isis_redistribute,
family = str2family(argv[idx_afi]->text);
if (family < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
afi = family2afi(family);
if (!afi)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
type = proto_redistnum(afi, argv[idx_protocol]->text);
if (type < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (!strcmp("level-1", argv[idx_level]->arg))
level = 1;
else if (!strcmp("level-2", argv[idx_level]->arg))
level = 2;
else
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if ((area->is_type & level) != level)
{
vty_outln (vty, "Node is not a level-%d IS", level);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
metric = 0xffffffff;
@@ -610,7 +610,7 @@ DEFUN (isis_redistribute,
if (argc > idx_metric_rmap + 1)
{
if (argv[idx_metric_rmap + 1]->arg[0] == '\0')
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (strmatch(argv[idx_metric_rmap]->text, "metric"))
{
@@ -618,7 +618,7 @@ DEFUN (isis_redistribute,
metric = strtoul(argv[idx_metric_rmap + 1]->arg, &endp, 10);
if (*endp != '\0')
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
else
{
@@ -652,15 +652,15 @@ DEFUN (no_isis_redistribute,
family = str2family(argv[idx_afi]->arg);
if (family < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
afi = family2afi(family);
if (!afi)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
type = proto_redistnum(afi, argv[idx_protocol]->text);
if (type < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
level = strmatch ("level-1", argv[idx_level]->text) ? 1 : 2;
@@ -696,14 +696,14 @@ DEFUN (isis_default_originate,
family = str2family(argv[idx_afi]->text);
if (family < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
level = strmatch ("level-1", argv[idx_level]->text) ? 1 : 2;
if ((area->is_type & level) != level)
{
vty_outln (vty, "Node is not a level-%d IS", level);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argc > idx_always && strmatch (argv[idx_always]->text, "always"))
@@ -750,14 +750,14 @@ DEFUN (no_isis_default_originate,
family = str2family(argv[idx_afi]->text);
if (family < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (strmatch ("level-1", argv[idx_level]->text))
level = 1;
else if (strmatch ("level-2", argv[idx_level]->text))
level = 2;
else
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
isis_redist_unset(area, level, family, DEFAULT_ROUTE);
return 0;
diff --git a/isisd/isis_te.c b/isisd/isis_te.c
index c4a0b9230b..53b56186f4 100644
--- a/isisd/isis_te.c
+++ b/isisd/isis_te.c
@@ -1174,7 +1174,7 @@ DEFUN (isis_mpls_te_router_addr,
if (! inet_aton (argv[idx_ipv4]->arg, &value))
{
vty_outln (vty, "Please specify Router-Addr by A.B.C.D");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
isisMplsTE.router_id.s_addr = value.s_addr;
diff --git a/isisd/isis_vty.c b/isisd/isis_vty.c
index f0e2831bff..9fc1cb110d 100644
--- a/isisd/isis_vty.c
+++ b/isisd/isis_vty.c
@@ -93,7 +93,7 @@ DEFUN (ip_router_isis,
if (circuit->state != C_STATE_CONF && circuit->state != C_STATE_UP)
{
vty_outln (vty, "Couldn't bring up interface, please check log.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
diff --git a/ldpd/ldp_debug.c b/ldpd/ldp_debug.c
index 466b6af8b2..80783994c9 100644
--- a/ldpd/ldp_debug.c
+++ b/ldpd/ldp_debug.c
@@ -43,7 +43,7 @@ ldp_vty_debug(struct vty *vty, int disable, const char *type_str,
{
if (strcmp(type_str, "discovery") == 0) {
if (dir_str == NULL)
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
if (dir_str[0] == 'r') {
if (disable)
@@ -68,7 +68,7 @@ ldp_vty_debug(struct vty *vty, int disable, const char *type_str,
DEBUG_ON(event, EVENT);
} else if (strcmp(type_str, "messages") == 0) {
if (dir_str == NULL)
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
if (dir_str[0] == 'r') {
if (disable) {
diff --git a/ldpd/ldp_vty_conf.c b/ldpd/ldp_vty_conf.c
index 900be046ea..2e52188a85 100644
--- a/ldpd/ldp_vty_conf.c
+++ b/ldpd/ldp_vty_conf.c
@@ -434,7 +434,7 @@ ldp_vty_address_family(struct vty *vty, int disable, const char *af_str)
af = AF_INET6;
af_conf = &vty_conf->ipv6;
} else
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
if (disable) {
af_conf->flags &= ~F_LDPD_AF_ENABLED;
@@ -474,7 +474,7 @@ ldp_vty_disc_holdtime(struct vty *vty, int disable, const char *hello_type_str,
secs = strtol(seconds_str, &ep, 10);
if (*ep != '\0' || secs < MIN_HOLDTIME || secs > MAX_HOLDTIME) {
vty_outln (vty, "%% Invalid holdtime");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
if (hello_type_str[0] == 'h')
@@ -569,7 +569,7 @@ ldp_vty_disc_interval(struct vty *vty, int disable, const char *hello_type_str,
if (*ep != '\0' || secs < MIN_HELLO_INTERVAL ||
secs > MAX_HELLO_INTERVAL) {
vty_outln (vty, "%% Invalid interval");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
if (hello_type_str[0] == 'h')
@@ -687,7 +687,7 @@ ldp_vty_nbr_session_holdtime(struct vty *vty, int disable,
if (inet_pton(AF_INET, lsr_id_str, &lsr_id) != 1 ||
bad_addr_v4(lsr_id)) {
vty_outln (vty, "%% Malformed address");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
secs = strtol(seconds_str, &ep, 10);
@@ -847,11 +847,11 @@ ldp_vty_neighbor_targeted(struct vty *vty, int disable, const char *addr_str)
if (inet_pton(af, addr_str, &addr) != 1 ||
bad_addr(af, &addr)) {
vty_outln (vty, "%% Malformed address");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
if (af == AF_INET6 && IN6_IS_SCOPE_EMBED(&addr.v6)) {
vty_outln (vty, "%% Address can not be link-local");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
tnbr = tnbr_find(vty_conf, af, &addr);
@@ -1069,7 +1069,7 @@ ldp_vty_neighbor_password(struct vty *vty, int disable, const char *lsr_id_str,
if (inet_pton(AF_INET, lsr_id_str, &lsr_id) != 1 ||
bad_addr_v4(lsr_id)) {
vty_outln (vty, "%% Malformed address");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
nbrp = nbr_params_find(vty_conf, lsr_id);
@@ -1115,7 +1115,7 @@ ldp_vty_neighbor_ttl_security(struct vty *vty, int disable,
if (inet_pton(AF_INET, lsr_id_str, &lsr_id) != 1 ||
bad_addr_v4(lsr_id)) {
vty_outln (vty, "%% Malformed address");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
if (hops_str) {
@@ -1227,7 +1227,7 @@ ldp_vty_l2vpn_mtu(struct vty *vty, int disable, const char *mtu_str)
mtu = strtol(mtu_str, &ep, 10);
if (*ep != '\0' || mtu < MIN_L2VPN_MTU || mtu > MAX_L2VPN_MTU) {
vty_outln (vty, "%% Invalid MTU");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
if (disable)
@@ -1374,7 +1374,7 @@ ldp_vty_l2vpn_pw_nbr_addr(struct vty *vty, int disable, const char *addr_str)
if (ldp_get_address(addr_str, &af, &addr) == -1 ||
bad_addr(af, &addr)) {
vty_outln (vty, "%% Malformed address");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
if (disable) {
@@ -1401,7 +1401,7 @@ ldp_vty_l2vpn_pw_nbr_id(struct vty *vty, int disable, const char *lsr_id_str)
if (inet_pton(AF_INET, lsr_id_str, &lsr_id) != 1 ||
bad_addr_v4(lsr_id)) {
vty_outln (vty, "%% Malformed address");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
if (disable)
@@ -1424,7 +1424,7 @@ ldp_vty_l2vpn_pw_pwid(struct vty *vty, int disable, const char *pwid_str)
pwid = strtol(pwid_str, &ep, 10);
if (*ep != '\0' || pwid < MIN_PWID_ID || pwid > MAX_PWID_ID) {
vty_outln (vty, "%% Invalid pw-id");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
if (disable)
diff --git a/lib/agentx.c b/lib/agentx.c
index d058779aff..53e5f2bc53 100644
--- a/lib/agentx.c
+++ b/lib/agentx.c
@@ -197,7 +197,7 @@ DEFUN (no_agentx,
{
if (!agentx_enabled) return CMD_SUCCESS;
vty_outln (vty, "SNMP AgentX support cannot be disabled once enabled");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
void
diff --git a/lib/command.c b/lib/command.c
index 5ca4a0fda9..18a28f57c0 100644
--- a/lib/command.c
+++ b/lib/command.c
@@ -715,6 +715,41 @@ cmd_variable_complete (struct cmd_token *token, const char *arg, vector comps)
vector_free(tmpcomps);
}
+#define AUTOCOMP_INDENT 5
+
+char *
+cmd_variable_comp2str(vector comps, unsigned short cols, const char nl[])
+{
+ size_t bsz = 16;
+ char *buf = XCALLOC(MTYPE_TMP, bsz);
+ int lc = AUTOCOMP_INDENT;
+ size_t cs = AUTOCOMP_INDENT;
+ size_t nllen = strlen(nl);
+ size_t itemlen;
+ snprintf(buf, bsz, "%*s", AUTOCOMP_INDENT, "");
+ for (size_t j = 0; j < vector_active (comps); j++)
+ {
+ char *item = vector_slot (comps, j);
+ itemlen = strlen(item);
+
+ if (cs + itemlen + nllen + AUTOCOMP_INDENT + 2 >= bsz)
+ buf = XREALLOC(MTYPE_TMP, buf, (bsz *= 2));
+
+ if (lc + itemlen + 1 >= cols)
+ {
+ cs += snprintf(&buf[cs], bsz - cs, "%s%*s", nl, AUTOCOMP_INDENT, "");
+ lc = AUTOCOMP_INDENT;
+ }
+
+ size_t written = snprintf(&buf[cs], bsz - cs, "%s ", item);
+ lc += written;
+ cs += written;
+ XFREE (MTYPE_COMPLETION, item);
+ vector_set_index (comps, j, NULL);
+ }
+ return buf;
+}
+
void
cmd_variable_handler_register (const struct cmd_variable_handler *cvh)
{
@@ -1150,7 +1185,7 @@ DEFUN (config_terminal,
else
{
vty_outln (vty, "VTY configuration is locked by other VTY");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
@@ -1722,7 +1757,7 @@ DEFUN (config_hostname,
if (!isalpha((int) word->arg[0]))
{
vty_outln (vty, "Please specify string starting with alphabet");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return cmd_hostname_set (word->arg);
@@ -1763,7 +1798,7 @@ DEFUN (config_password,
{
vty_outln (vty,
"Please specify string starting with alphanumeric");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (host.password)
@@ -1812,7 +1847,7 @@ DEFUN (config_enable_password,
else
{
vty_outln (vty, "Unknown encryption type.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -1820,7 +1855,7 @@ DEFUN (config_enable_password,
{
vty_outln (vty,
"Please specify string starting with alphanumeric");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (host.enable)
@@ -2134,14 +2169,14 @@ set_log_file(struct vty *vty, const char *fname, int loglevel)
if (getcwd (cwd, MAXPATHLEN) == NULL)
{
zlog_err ("config_log_file: Unable to alloc mem!");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if ( (p = XMALLOC (MTYPE_TMP, strlen (cwd) + strlen (fname) + 2))
== NULL)
{
zlog_err ("config_log_file: Unable to alloc mem!");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
sprintf (p, "%s/%s", cwd, fname);
fullpath = p;
@@ -2157,7 +2192,7 @@ set_log_file(struct vty *vty, const char *fname, int loglevel)
if (!ret)
{
vty_out (vty, "can't open logfile %s\n", fname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (host.logfile)
@@ -2371,7 +2406,7 @@ cmd_banner_motd_file (const char *file)
host.motdfile = XSTRDUP (MTYPE_HOST, file);
}
else
- success = CMD_WARNING;
+ success = CMD_WARNING_CONFIG_FAILED;
return success;
}
@@ -2390,7 +2425,7 @@ DEFUN (banner_motd_file,
if (cmd == CMD_ERR_NO_FILE)
vty_out (vty, "%s does not exist", filename);
- else if (cmd == CMD_WARNING)
+ else if (cmd == CMD_WARNING_CONFIG_FAILED)
vty_out (vty, "%s must be in %s", filename, SYSCONFDIR);
return cmd;
diff --git a/lib/command.h b/lib/command.h
index 927c04006c..f712407b7f 100644
--- a/lib/command.h
+++ b/lib/command.h
@@ -178,6 +178,7 @@ struct cmd_node
#define CMD_SUCCESS_DAEMON 10
#define CMD_ERR_NO_FILE 11
#define CMD_SUSPEND 12
+#define CMD_WARNING_CONFIG_FAILED 13
/* Argc max counts. */
#define CMD_ARGC_MAX 25
@@ -293,6 +294,7 @@ struct cmd_node
*/
#define CMD_CREATE_STR(s) CMD_CREATE_STR_HELPER(s)
#define CMD_CREATE_STR_HELPER(s) #s
+#define CMD_RANGE_STR(a,s) "(" CMD_CREATE_STR(a) "-" CMD_CREATE_STR(s) ")"
/* Common descriptions. */
#define SHOW_STR "Show running system information\n"
@@ -404,5 +406,6 @@ struct cmd_variable_handler {
extern void cmd_variable_complete (struct cmd_token *token, const char *arg, vector comps);
extern void cmd_variable_handler_register (const struct cmd_variable_handler *cvh);
+extern char *cmd_variable_comp2str (vector comps, unsigned short cols, const char nl[]);
#endif /* _ZEBRA_COMMAND_H */
diff --git a/lib/distribute.c b/lib/distribute.c
index 79d7b18ff5..02c888b690 100644
--- a/lib/distribute.c
+++ b/lib/distribute.c
@@ -350,7 +350,7 @@ DEFUN (no_distribute_list,
if (! ret)
{
vty_outln (vty, "distribute list doesn't exist");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
diff --git a/lib/filter.c b/lib/filter.c
index 3cef49b2da..d2c80fc2ab 100644
--- a/lib/filter.c
+++ b/lib/filter.c
@@ -577,7 +577,7 @@ vty_access_list_remark_unset (struct vty *vty, afi_t afi, const char *name)
if (! access)
{
vty_outln (vty, "%% access-list %s doesn't exist",name);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (access->remark)
@@ -616,21 +616,21 @@ filter_set_cisco (struct vty *vty, const char *name_str, const char *type_str,
else
{
vty_outln (vty, "%% filter type must be permit or deny");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = inet_aton (addr_str, &addr);
if (ret <= 0)
{
vty_outln (vty,"%%Inconsistent address and mask");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = inet_aton (addr_mask_str, &addr_mask);
if (ret <= 0)
{
vty_outln (vty,"%%Inconsistent address and mask");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (extended)
@@ -639,14 +639,14 @@ filter_set_cisco (struct vty *vty, const char *name_str, const char *type_str,
if (ret <= 0)
{
vty_outln (vty,"%%Inconsistent address and mask");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = inet_aton (mask_mask_str, &mask_mask);
if (ret <= 0)
{
vty_outln (vty,"%%Inconsistent address and mask");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -1259,7 +1259,7 @@ filter_set_zebra (struct vty *vty, const char *name_str, const char *type_str,
vty_outln (vty, "%% ACL name %s is invalid: length exceeds "
"%d characters",
name_str, ACL_NAMSIZ);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check of filter type. */
@@ -1270,7 +1270,7 @@ filter_set_zebra (struct vty *vty, const char *name_str, const char *type_str,
else
{
vty_outln (vty, "filter type must be [permit|deny]");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check string format of prefix and prefixlen. */
@@ -1280,7 +1280,7 @@ filter_set_zebra (struct vty *vty, const char *name_str, const char *type_str,
if (ret <= 0)
{
vty_outln (vty,"IP address prefix/prefixlen is malformed");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
else if (afi == AFI_IP6)
@@ -1289,11 +1289,11 @@ filter_set_zebra (struct vty *vty, const char *name_str, const char *type_str,
if (ret <= 0)
{
vty_outln (vty,"IPv6 address prefix/prefixlen is malformed");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
else
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
mfilter = filter_new ();
mfilter->type = type;
@@ -1425,7 +1425,7 @@ DEFUN (no_access_list_all,
if (access == NULL)
{
vty_outln (vty, "%% access-list %s doesn't exist",argv[idx_acl]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
master = access->master;
@@ -1602,7 +1602,7 @@ DEFUN (no_ipv6_access_list_all,
if (access == NULL)
{
vty_outln (vty, "%% access-list %s doesn't exist",argv[idx_word]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
master = access->master;
diff --git a/lib/grammar_sandbox.c b/lib/grammar_sandbox.c
index 454e076f06..7962b5aef5 100644
--- a/lib/grammar_sandbox.c
+++ b/lib/grammar_sandbox.c
@@ -399,7 +399,7 @@ DEFUN (grammar_findambig,
if (!scan && !nodegraph)
{
vty_out(vty, "nodegraph uninitialized\r\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
do {
@@ -442,7 +442,7 @@ DEFUN (grammar_findambig,
if (scan)
nodegraph = NULL;
- return ambig == 0 ? CMD_SUCCESS : CMD_WARNING;
+ return ambig == 0 ? CMD_SUCCESS : CMD_WARNING_CONFIG_FAILED;
}
DEFUN (grammar_init_graph,
@@ -476,7 +476,7 @@ DEFUN (grammar_access,
if (!cnode)
{
vty_outln (vty, "%% no such node");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
vty_outln (vty, "node %d", (int)cnode->node);
diff --git a/lib/hash.c b/lib/hash.c
index 62a39953c6..bdb2e097c6 100644
--- a/lib/hash.c
+++ b/lib/hash.c
@@ -87,13 +87,8 @@ hash_alloc_intern (void *arg)
}
#define hash_update_ssq(hz, old, new) \
- do { \
- long double res; \
- res = powl(old, 2.0); \
- hz->stats.ssq -= (uint64_t) res;\
- res = powl(new, 2.0); \
- hz->stats.ssq += (uint64_t) res; \
- } while (0); \
+ atomic_fetch_add_explicit(&hz->stats.ssq, (new + old)*(new - old),\
+ memory_order_relaxed);
/* Expand hash if the chain length exceeds the threshold. */
static void hash_expand (struct hash *hash)
diff --git a/lib/hash.h b/lib/hash.h
index 01d2b1ddc8..3b2671afae 100644
--- a/lib/hash.h
+++ b/lib/hash.h
@@ -53,9 +53,9 @@ struct hash_backet
struct hashstats
{
/* number of empty hash buckets */
- _Atomic int empty;
+ _Atomic uint_fast32_t empty;
/* sum of squares of bucket length */
- _Atomic uint64_t ssq;
+ _Atomic uint_fast32_t ssq;
};
struct hash
diff --git a/lib/if.c b/lib/if.c
index 1d6a8cb529..cea05643e7 100644
--- a/lib/if.c
+++ b/lib/if.c
@@ -693,7 +693,7 @@ DEFUN (interface,
vty_outln (vty, "%% Interface name %s is invalid: length exceeds "
"%d characters",
ifname, INTERFACE_NAMSIZ);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*Pending: need proper vrf name based lookup/(possible creation of VRF)
@@ -710,7 +710,7 @@ DEFUN (interface,
if (!ifp)
{
vty_outln (vty, "%% interface %s not in %s", ifname, vrfname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
VTY_PUSH_CONTEXT (INTERFACE_NODE, ifp);
@@ -740,14 +740,14 @@ DEFUN_NOSH (no_interface,
if (ifp == NULL)
{
vty_out (vty, "%% Interface %s does not exist%s", ifname, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (CHECK_FLAG (ifp->status, ZEBRA_INTERFACE_ACTIVE))
{
vty_out (vty, "%% Only inactive interfaces can be deleted%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if_delete(ifp);
diff --git a/lib/if_rmap.c b/lib/if_rmap.c
index 32bebd67ff..492c39c6ae 100644
--- a/lib/if_rmap.c
+++ b/lib/if_rmap.c
@@ -229,7 +229,7 @@ DEFUN (if_rmap,
else
{
vty_outln (vty, "route-map direction must be [in|out]");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if_rmap_set (argv[idx_ifname]->arg, type, argv[idx_rmap_name]->arg);
@@ -260,14 +260,14 @@ DEFUN (no_if_rmap,
else
{
vty_outln (vty, "route-map direction must be [in|out]");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = if_rmap_unset (argv[idx_ifname]->arg, type, argv[idx_routemap_name]->arg);
if (! ret)
{
vty_outln (vty, "route-map doesn't exist");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
diff --git a/lib/keychain.c b/lib/keychain.c
index 9fe887c2c0..ab2ad3262e 100644
--- a/lib/keychain.c
+++ b/lib/keychain.c
@@ -272,7 +272,7 @@ DEFUN (no_key_chain,
if (! keychain)
{
vty_outln (vty, "Can't find keychain %s", argv[idx_word]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
keychain_delete (keychain);
@@ -315,7 +315,7 @@ DEFUN (no_key,
if (! key)
{
vty_outln (vty, "Can't find key %d", index);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
key_delete (keychain, key);
@@ -478,20 +478,20 @@ key_lifetime_set (struct vty *vty, struct key_range *krange,
if (time_start < 0)
{
vty_outln (vty, "Malformed time value");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
time_end = key_str2time (etime_str, eday_str, emonth_str, eyear_str);
if (time_end < 0)
{
vty_outln (vty, "Malformed time value");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (time_end <= time_start)
{
vty_outln (vty, "Expire time is not later than start time");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
krange->start = time_start;
@@ -513,7 +513,7 @@ key_lifetime_duration_set (struct vty *vty, struct key_range *krange,
if (time_start < 0)
{
vty_outln (vty, "Malformed time value");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
krange->start = time_start;
@@ -535,7 +535,7 @@ key_lifetime_infinite_set (struct vty *vty, struct key_range *krange,
if (time_start < 0)
{
vty_outln (vty, "Malformed time value");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
krange->start = time_start;
diff --git a/lib/module.c b/lib/module.c
index c7dd5538cd..140fd87b99 100644
--- a/lib/module.c
+++ b/lib/module.c
@@ -110,7 +110,7 @@ struct frrmod_runtime *frrmod_load(const char *spec,
dlclose(handle);
if (err)
snprintf(err, err_len,
- "\"%s\" is not a Quagga module: %s",
+ "\"%s\" is not an FRR module: %s",
name, dlerror());
return NULL;
}
diff --git a/lib/ns.c b/lib/ns.c
index 4d46ecd0af..71f2b3ab6f 100644
--- a/lib/ns.c
+++ b/lib/ns.c
@@ -317,7 +317,7 @@ DEFUN_NOSH (ns_netns,
char *pathname = ns_netns_pathname (vty, argv[idx_name]->arg);
if (!pathname)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ns_id = strtoul (argv[idx_number]->arg, NULL, 10);
ns = ns_get (ns_id);
@@ -326,7 +326,7 @@ DEFUN_NOSH (ns_netns,
{
vty_out (vty, "NS %u is already configured with NETNS %s%s",
ns->ns_id, ns->name, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!ns->name)
@@ -336,7 +336,7 @@ DEFUN_NOSH (ns_netns,
{
vty_out (vty, "Can not associate NS %u with NETNS %s%s",
ns->ns_id, ns->name, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -358,7 +358,7 @@ DEFUN (no_ns_netns,
char *pathname = ns_netns_pathname (vty, argv[idx_name]->arg);
if (!pathname)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ns_id = strtoul(argv[idx_number]->arg, NULL, 10);
ns = ns_lookup (ns_id);
@@ -372,7 +372,7 @@ DEFUN (no_ns_netns,
if (ns->name && strcmp (ns->name, pathname) != 0)
{
vty_outln (vty, "Incorrect NETNS file name");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ns_disable (ns);
diff --git a/lib/plist.c b/lib/plist.c
index 339540a2b5..88788b14b1 100644
--- a/lib/plist.c
+++ b/lib/plist.c
@@ -884,7 +884,7 @@ vty_invalid_prefix_range (struct vty *vty, const char *prefix)
{
vty_outln (vty, "%% Invalid prefix range for %s, make sure: len < ge-value <= le-value",
prefix);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
static int
@@ -921,7 +921,7 @@ vty_prefix_list_install (struct vty *vty, afi_t afi, const char *name,
else
{
vty_outln (vty, "%% prefix type must be permit or deny");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* "any" is special token for matching any IPv4 addresses. */
@@ -941,7 +941,7 @@ vty_prefix_list_install (struct vty *vty, afi_t afi, const char *name,
if (ret <= 0)
{
vty_outln (vty, "%% Malformed IPv4 prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make a copy to verify prefix matches mask length */
@@ -963,7 +963,7 @@ vty_prefix_list_install (struct vty *vty, afi_t afi, const char *name,
if (ret <= 0)
{
vty_outln (vty, "%% Malformed IPv6 prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make a copy to verify prefix matches mask length */
@@ -974,7 +974,7 @@ vty_prefix_list_install (struct vty *vty, afi_t afi, const char *name,
case AFI_L2VPN:
default:
vty_outln (vty, "%% Unrecognized AFI (%d)", afi);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
break;
}
@@ -1043,7 +1043,7 @@ vty_prefix_list_uninstall (struct vty *vty, afi_t afi, const char *name,
if (! plist)
{
vty_outln (vty, "%% Can't find specified prefix-list");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Only prefix-list name specified, delete the entire prefix-list. */
@@ -1058,7 +1058,7 @@ vty_prefix_list_uninstall (struct vty *vty, afi_t afi, const char *name,
if ((typestr == NULL) || (prefix == NULL))
{
vty_outln (vty, "%% Both prefix and type required");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check sequence number. */
@@ -1079,7 +1079,7 @@ vty_prefix_list_uninstall (struct vty *vty, afi_t afi, const char *name,
else
{
vty_outln (vty, "%% prefix type must be permit or deny");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* "any" is special token for matching any IPv4 addresses. */
@@ -1097,7 +1097,7 @@ vty_prefix_list_uninstall (struct vty *vty, afi_t afi, const char *name,
if (ret <= 0)
{
vty_outln (vty, "%% Malformed IPv4 prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
else if (afi == AFI_IP6)
@@ -1114,7 +1114,7 @@ vty_prefix_list_uninstall (struct vty *vty, afi_t afi, const char *name,
if (ret <= 0)
{
vty_outln (vty, "%% Malformed IPv6 prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -1124,7 +1124,7 @@ vty_prefix_list_uninstall (struct vty *vty, afi_t afi, const char *name,
if (pentry == NULL)
{
vty_outln (vty, "%% Can't find specified prefix-list");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Install new filter to the access_list. */
@@ -1142,7 +1142,7 @@ vty_prefix_list_desc_unset (struct vty *vty, afi_t afi, const char *name)
if (! plist)
{
vty_outln (vty, "%% Can't find specified prefix-list");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (plist->desc)
@@ -1944,18 +1944,18 @@ prefix_bgp_orf_set (char *name, afi_t afi, struct orf_prefix *orfp,
/* ge and le value check */
if (orfp->ge && orfp->ge <= orfp->p.prefixlen)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (orfp->le && orfp->le <= orfp->p.prefixlen)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (orfp->le && orfp->ge > orfp->le)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (orfp->ge && orfp->le == (afi == AFI_IP ? 32 : 128))
orfp->le = 0;
plist = prefix_list_get (afi, 1, name);
if (! plist)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (set)
{
@@ -1966,7 +1966,7 @@ prefix_bgp_orf_set (char *name, afi_t afi, struct orf_prefix *orfp,
if (prefix_entry_dup_check (plist, pentry))
{
prefix_list_entry_free (pentry);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
prefix_list_entry_add (plist, pentry);
@@ -1978,7 +1978,7 @@ prefix_bgp_orf_set (char *name, afi_t afi, struct orf_prefix *orfp,
orfp->seq, orfp->le, orfp->ge);
if (! pentry)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
prefix_list_entry_delete (plist, pentry, 1);
}
diff --git a/lib/routemap.c b/lib/routemap.c
index caba8afd71..da8d48192c 100644
--- a/lib/routemap.c
+++ b/lib/routemap.c
@@ -522,11 +522,11 @@ generic_match_add (struct vty *vty, struct route_map_index *index,
{
case RMAP_RULE_MISSING:
vty_outln (vty, "%% [%s] Can't find rule.", frr_protonameinst);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
vty_outln (vty, "%% [%s] Argument form is unsupported or malformed.",
frr_protonameinst);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -579,7 +579,7 @@ generic_match_delete (struct vty *vty, struct route_map_index *index,
XFREE(MTYPE_ROUTE_MAP_RULE, dep_name);
if (rmap_name)
XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (type != RMAP_EVENT_MATCH_DELETED && dep_name)
@@ -606,11 +606,11 @@ generic_set_add (struct vty *vty, struct route_map_index *index,
{
case RMAP_RULE_MISSING:
vty_outln (vty, "%% [%s] Can't find rule.", frr_protonameinst);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
vty_outln (vty, "%% [%s] Argument form is unsupported or malformed.",
frr_protonameinst);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
return CMD_SUCCESS;
@@ -629,11 +629,11 @@ generic_set_delete (struct vty *vty, struct route_map_index *index,
{
case RMAP_RULE_MISSING:
vty_outln (vty, "%% [%s] Can't find rule.", frr_protonameinst);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
vty_outln (vty, "%% [%s] Argument form is unsupported or malformed.",
frr_protonameinst);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
return CMD_SUCCESS;
@@ -2360,14 +2360,14 @@ DEFUN (set_ip_nexthop,
if (ret < 0)
{
vty_outln (vty, "%% Malformed nexthop address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (su.sin.sin_addr.s_addr == 0 ||
IPV4_CLASS_DE(su.sin.sin_addr.s_addr))
{
vty_outln (vty,
"%% nexthop address cannot be 0.0.0.0, multicast " "or reserved");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (rmap_match_set_hook.set_ip_nexthop)
@@ -2417,12 +2417,12 @@ DEFUN (set_ipv6_nexthop_local,
if (!ret)
{
vty_outln (vty, "%% Malformed nexthop address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!IN6_IS_ADDR_LINKLOCAL(&addr))
{
vty_outln (vty, "%% Invalid link-local nexthop address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (rmap_match_set_hook.set_ipv6_nexthop_local)
@@ -2578,7 +2578,7 @@ DEFUN (no_route_map_all,
if (map == NULL)
{
vty_outln (vty, "%% Could not find route-map %s", mapname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
route_map_delete (map);
@@ -2613,7 +2613,7 @@ DEFUN (no_route_map,
if (map == NULL)
{
vty_outln (vty, "%% Could not find route-map %s", mapname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Lookup route map index. */
@@ -2622,7 +2622,7 @@ DEFUN (no_route_map,
{
vty_outln (vty, "%% Could not find route-map entry %s %s",
mapname, prefstr);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Delete index from route map. */
@@ -2649,7 +2649,7 @@ DEFUN (rmap_onmatch_next,
{
/* Under a deny clause, match means it's finished. No need to set next */
vty_outln (vty,"on-match next not supported under route-map deny");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
index->exitpolicy = RMAP_NEXT;
}
@@ -2690,7 +2690,7 @@ DEFUN (rmap_onmatch_goto,
{
/* Under a deny clause, match means it's finished. No need to go anywhere */
vty_outln (vty,"on-match goto not supported under route-map deny");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (num)
@@ -2702,7 +2702,7 @@ DEFUN (rmap_onmatch_goto,
{
/* Can't allow you to do that, Dave */
vty_outln (vty, "can't jump backwards in route-maps");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
else
{
diff --git a/lib/smux.c b/lib/smux.c
index 6f4b45f9a3..77092cdc21 100644
--- a/lib/smux.c
+++ b/lib/smux.c
@@ -1279,7 +1279,7 @@ smux_peer_oid (struct vty *vty, const char *oid_str, const char *passwd_str)
if (ret != 0)
{
vty_out (vty, "object ID malformed%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (smux_oid)
@@ -1339,7 +1339,7 @@ DEFUN (smux_peer,
return CMD_SUCCESS;
}
else
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (smux_peer_password,
@@ -1357,7 +1357,7 @@ DEFUN (smux_peer_password,
return CMD_SUCCESS;
}
else
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (no_smux_peer,
diff --git a/lib/vrf.c b/lib/vrf.c
index 6ad8cd91b6..d191514917 100644
--- a/lib/vrf.c
+++ b/lib/vrf.c
@@ -476,7 +476,7 @@ DEFUN_NOSH (vrf,
vty_out (vty, "%% VRF name %s is invalid: length exceeds "
"%d characters%s",
vrfname, VRF_NAMSIZ, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
vrfp = vrf_get (VRF_UNKNOWN, vrfname);
@@ -502,14 +502,14 @@ DEFUN_NOSH (no_vrf,
if (vrfp == NULL)
{
vty_out (vty, "%% VRF %s does not exist%s", vrfname, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (CHECK_FLAG (vrfp->status, VRF_ACTIVE))
{
vty_out (vty, "%% Only inactive VRFs can be deleted%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
vrf_delete(vrfp);
diff --git a/lib/vty.c b/lib/vty.c
index e6497b3100..2c25bd2fc3 100644
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -1134,17 +1134,13 @@ vty_describe_command (struct vty *vty)
vector varcomps = vector_init (VECTOR_MIN_SIZE);
cmd_variable_complete (token, ref, varcomps);
- if (vector_active(varcomps) > 0)
+ if (vector_active (varcomps) > 0)
{
- vty_out(vty, " ");
- for (size_t j = 0; j < vector_active (varcomps); j++)
- {
- char *item = vector_slot (varcomps, j);
- vty_out(vty, " %s", item);
- XFREE(MTYPE_COMPLETION, item);
- }
- vty_out (vty, VTYNL);
+ char *ac = cmd_variable_comp2str(varcomps, vty->width, VTYNL);
+ vty_outln(vty, "%s", ac);
+ XFREE(MTYPE_TMP, ac);
}
+
vector_free(varcomps);
}
#if 0
@@ -2221,7 +2217,7 @@ vtysh_read (struct thread *thread)
if (ret == CMD_SUSPEND)
break;
- /* warning: watchquagga hardcodes this result write */
+ /* warning: watchfrr hardcodes this result write */
header[3] = ret;
buffer_put(vty->obuf, header, 4);
@@ -2820,7 +2816,7 @@ DEFUN (no_vty_access_class,
if (! vty_accesslist_name || (argc == 3 && strcmp(vty_accesslist_name, accesslist)))
{
vty_outln (vty,"Access-class is not currently applied to vty");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
XFREE(MTYPE_VTY, vty_accesslist_name);
@@ -2863,7 +2859,7 @@ DEFUN (no_vty_ipv6_access_class,
(argc == 4 && strcmp(vty_ipv6_accesslist_name, accesslist)))
{
vty_outln (vty,"IPv6 access-class is not currently applied to vty");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
XFREE(MTYPE_VTY, vty_ipv6_accesslist_name);
diff --git a/lib/vty.h b/lib/vty.h
index a76b9f5a17..b4a55180d3 100644
--- a/lib/vty.h
+++ b/lib/vty.h
@@ -182,6 +182,15 @@ struct vty_arg
/* Small macro to determine newline is newline only or linefeed needed. */
#define VTYNL ((vty->type == VTY_TERM) ? "\r\n" : "\n")
+/* for compatibility */
+#define VTY_NEWLINE VTYNL
+#define VTY_GET_INTEGER(desc,v,str) {(v)=strtoul ((str), NULL, 10);}
+#define VTY_GET_INTEGER_RANGE(desc,v,str,min,max) {(v)=strtoul ((str), NULL, 10);}
+#define VTY_GET_ULONG(desc,v,str) {(v)=strtoul ((str), NULL, 10);}
+#define VTY_GET_ULL(desc,v,str) {(v)=strtoull ((str), NULL, 10);}
+#define VTY_GET_IPV4_ADDRESS(desc,v,str) inet_aton ((str), &(v))
+#define VTY_GET_IPV4_PREFIX(desc,v,str) str2prefix_ipv4 ((str), &(v))
+
/* Default time out value */
#define VTY_TIMEOUT_DEFAULT 600
diff --git a/nhrpd/nhrp_vty.c b/nhrpd/nhrp_vty.c
index 5410027e70..5aeaad62fc 100644
--- a/nhrpd/nhrp_vty.c
+++ b/nhrpd/nhrp_vty.c
@@ -85,7 +85,7 @@ static int nhrp_vty_return(struct vty *vty, int ret)
vty_outln (vty, "%% %s", str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;;
}
static int toggle_flag(
@@ -105,7 +105,7 @@ static int toggle_flag(
}
vty_outln (vty, "%% Invalid value %s", name);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;;
}
#ifndef NO_DEBUG
diff --git a/ospf6d/ospf6_area.c b/ospf6d/ospf6_area.c
index 826a66ccc6..b63e8f5eff 100644
--- a/ospf6d/ospf6_area.c
+++ b/ospf6d/ospf6_area.c
@@ -969,7 +969,7 @@ DEFUN (ospf6_area_stub,
if (!ospf6_area_stub_set (ospf6, area))
{
vty_outln (vty,"First deconfigure all virtual link through this area");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf6_area_no_summary_unset (ospf6, area);
@@ -994,7 +994,7 @@ DEFUN (ospf6_area_stub_no_summary,
if (!ospf6_area_stub_set (ospf6, area))
{
vty_outln (vty,"First deconfigure all virtual link through this area");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf6_area_no_summary_set (ospf6, area);
diff --git a/ospf6d/ospf6_asbr.c b/ospf6d/ospf6_asbr.c
index 302d8c9865..bc816c26a6 100644
--- a/ospf6d/ospf6_asbr.c
+++ b/ospf6d/ospf6_asbr.c
@@ -694,7 +694,7 @@ DEFUN (ospf6_redistribute,
char *proto = argv[argc - 1]->text;
type = proto_redistnum(AFI_IP6, proto);
if (type < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ospf6_asbr_redistribute_unset (type);
ospf6_asbr_redistribute_set (type);
@@ -716,7 +716,7 @@ DEFUN (ospf6_redistribute_routemap,
char *proto = argv[idx_protocol]->text;
type = proto_redistnum(AFI_IP6, proto);
if (type < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ospf6_asbr_redistribute_unset (type);
ospf6_asbr_routemap_set (type, argv[idx_word]->arg);
@@ -739,7 +739,7 @@ DEFUN (no_ospf6_redistribute,
char *proto = argv[idx_protocol]->text;
type = proto_redistnum(AFI_IP6, proto);
if (type < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ospf6_asbr_redistribute_unset (type);
@@ -1091,7 +1091,7 @@ route_map_command_status (struct vty *vty, int ret)
vty_out (vty, "OSPF6 route-map add set failed.%s", VNL);
break;
}
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* add "set metric-type" */
diff --git a/ospf6d/ospf6_interface.c b/ospf6d/ospf6_interface.c
index e91c249845..febc59327f 100644
--- a/ospf6d/ospf6_interface.c
+++ b/ospf6d/ospf6_interface.c
@@ -1147,7 +1147,7 @@ DEFUN (ipv6_ospf6_ifmtu,
{
vty_out (vty, "%s's ospf6 ifmtu cannot go beyond physical mtu (%d)%s",
ifp->name, ifp->mtu6, VNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (oi->ifmtu < ifmtu)
@@ -1251,7 +1251,7 @@ DEFUN (ipv6_ospf6_cost,
if (lcost > UINT32_MAX)
{
vty_out (vty, "Cost %ld is out of range%s", lcost, VNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (oi->cost == lcost)
@@ -1308,7 +1308,7 @@ DEFUN (auto_cost_reference_bandwidth,
if (refbw < 1 || refbw > 4294967)
{
vty_outln (vty, "reference-bandwidth value is invalid");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* If reference bandwidth is changed. */
diff --git a/ospf6d/ospf6_zebra.c b/ospf6d/ospf6_zebra.c
index ea36ceabdf..a30bef87b3 100644
--- a/ospf6d/ospf6_zebra.c
+++ b/ospf6d/ospf6_zebra.c
@@ -684,7 +684,7 @@ ospf6_distance_set (struct vty *vty, struct ospf6 *o,
if (ret == 0)
{
vty_outln (vty, "Malformed prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
distance = atoi (distance_str);
@@ -732,14 +732,14 @@ ospf6_distance_unset (struct vty *vty, struct ospf6 *o,
if (ret == 0)
{
vty_outln (vty, "Malformed prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rn = route_node_lookup (o->distance_table, (struct prefix *) &p);
if (!rn)
{
- vty_outln (vty, "Cant't find specified prefix");
- return CMD_WARNING;
+ vty_outln (vty, "Can't find specified prefix");
+ return CMD_WARNING_CONFIG_FAILED;
}
odistance = rn->info;
diff --git a/ospfd/ospf_ri.c b/ospfd/ospf_ri.c
index 1fb52a94b5..21798300e4 100644
--- a/ospfd/ospf_ri.c
+++ b/ospfd/ospf_ri.c
@@ -1183,7 +1183,7 @@ DEFUN (router_info,
{
vty_outln (vty, "%% specified Area ID %s is invalid",
area);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
scope = OSPF_OPAQUE_AREA_LSA;
}
@@ -1197,7 +1197,7 @@ DEFUN (router_info,
if ((ospf_router_info_register (scope)) != 0)
{
zlog_warn ("Enable to register Router Information callbacks. Abort!");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
OspfRI.status = enabled;
@@ -1274,12 +1274,12 @@ DEFUN (pce_address,
struct ospf_pce_info *pi = &OspfRI.pce_info;
if (!ospf_ri_enabled (vty))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (!inet_aton (argv[idx_ipv4]->arg, &value))
{
vty_outln (vty, "Please specify PCE Address by A.B.C.D");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ntohs (pi->pce_address.header.type) == 0
@@ -1326,12 +1326,12 @@ DEFUN (pce_path_scope,
struct ospf_pce_info *pi = &OspfRI.pce_info;
if (!ospf_ri_enabled (vty))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (sscanf (argv[idx_bitpattern]->arg, "0x%x", &scope) != 1)
{
vty_outln (vty, "pce_path_scope: fscanf: %s",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ntohl (pi->pce_scope.header.type) == 0 || scope != pi->pce_scope.value)
@@ -1380,12 +1380,12 @@ DEFUN (pce_domain,
struct ri_pce_subtlv_domain *domain;
if (!ospf_ri_enabled (vty))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (sscanf (argv[idx_number]->arg, "%d", &as) != 1)
{
vty_outln (vty, "pce_domain: fscanf: %s",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check if the domain is not already in the domain list */
@@ -1422,7 +1422,7 @@ DEFUN (no_pce_domain,
if (sscanf (argv[idx_number]->arg, "%d", &as) != 1)
{
vty_outln (vty, "no_pce_domain: fscanf: %s",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Unset corresponding PCE domain */
@@ -1451,12 +1451,12 @@ DEFUN (pce_neigbhor,
struct ri_pce_subtlv_neighbor *neighbor;
if (!ospf_ri_enabled (vty))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (sscanf (argv[idx_number]->arg, "%d", &as) != 1)
{
vty_outln (vty, "pce_neighbor: fscanf: %s",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check if the domain is not already in the domain list */
@@ -1493,7 +1493,7 @@ DEFUN (no_pce_neighbor,
if (sscanf (argv[idx_number]->arg, "%d", &as) != 1)
{
vty_outln (vty, "no_pce_neighbor: fscanf: %s",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Unset corresponding PCE domain */
@@ -1519,12 +1519,12 @@ DEFUN (pce_cap_flag,
struct ospf_pce_info *pce = &OspfRI.pce_info;
if (!ospf_ri_enabled (vty))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (sscanf (argv[idx_bitpattern]->arg, "0x%x", &cap) != 1)
{
vty_outln (vty, "pce_cap_flag: fscanf: %s",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ntohl (pce->pce_cap_flag.header.type) == 0
diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c
index bc98da45ee..fa02561ab7 100644
--- a/ospfd/ospf_vty.c
+++ b/ospfd/ospf_vty.c
@@ -151,7 +151,7 @@ DEFUN_NOSH (router_ospf,
if (!ospf)
{
vty_out (vty, "There isn't active ospf instance %s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argc > 2)
@@ -214,7 +214,7 @@ DEFUN (ospf_router_id,
if (!ret)
{
vty_out (vty, "Please specify Router ID by A.B.C.D%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf->router_id_static = router_id;
@@ -249,7 +249,7 @@ DEFUN_HIDDEN (ospf_router_id_old,
if (!ret)
{
vty_out (vty, "Please specify Router ID by A.B.C.D%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf->router_id_static = router_id;
@@ -391,7 +391,7 @@ DEFUN (ospf_passive_interface,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
@@ -461,7 +461,7 @@ DEFUN (no_ospf_passive_interface,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
@@ -512,14 +512,14 @@ DEFUN (ospf_network_area,
{
vty_out (vty, "The network command is not supported in multi-instance ospf%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ospf->if_ospf_cli_count > 0)
{
vty_out (vty, "Please remove all ip ospf area x.x.x.x commands first.%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get network prefix and Area ID. */
@@ -530,7 +530,7 @@ DEFUN (ospf_network_area,
if (ret == 0)
{
vty_out (vty, "There is already same network statement.%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -557,7 +557,7 @@ DEFUN (no_ospf_network_area,
{
vty_out (vty, "The network command is not supported in multi-instance ospf%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get network prefix and Area ID. */
@@ -569,7 +569,7 @@ DEFUN (no_ospf_network_area,
{
vty_out (vty, "Can't find specified network area configuration.%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -877,7 +877,7 @@ ospf_vl_set_security (struct ospf_vl_data *vl_data,
{
vty_out (vty, "OSPF: Key %d already exists%s",
vl_config->crypto_key_id, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ck = ospf_crypt_key_new ();
ck->key_id = vl_config->crypto_key_id;
@@ -895,7 +895,7 @@ ospf_vl_set_security (struct ospf_vl_data *vl_data,
{
vty_out (vty, "OSPF: Key %d does not exist%s",
vl_config->crypto_key_id, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf_crypt_key_delete (IF_DEF_PARAMS (ifp)->auth_crypt, vl_config->crypto_key_id);
@@ -949,7 +949,7 @@ ospf_vl_set (struct ospf *ospf, struct ospf_vl_config_data *vl_config)
vl_data = ospf_find_vl_data (ospf, vl_config);
if (!vl_data)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
/* Process this one first as it can have a fatal result, which can
only logically occur if the virtual link exists already
@@ -1038,7 +1038,7 @@ DEFUN (ospf_area_vlink,
if (ret < 0)
{
vty_out (vty, "OSPF area ID is invalid%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = inet_aton (argv[idx_ipv4]->arg, &vl_config.vl_peer);
@@ -1046,7 +1046,7 @@ DEFUN (ospf_area_vlink,
{
vty_out (vty, "Please specify valid Router ID as a.b.c.d%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argc <=4)
@@ -1107,7 +1107,7 @@ DEFUN (ospf_area_vlink,
{
vl_config.crypto_key_id = strtol (argv[i]->arg, NULL, 10);
if (vl_config.crypto_key_id < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
i++;
if (i < argc)
{
@@ -1158,14 +1158,14 @@ DEFUN (no_ospf_area_vlink,
if (ret < 0)
{
vty_out (vty, "OSPF area ID is invalid%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
area = ospf_area_lookup_by_area_id (ospf, vl_config.area_id);
if (!area)
{
vty_out (vty, "Area does not exist%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = inet_aton (argv[idx_ipv4]->arg, &vl_config.vl_peer);
@@ -1173,7 +1173,7 @@ DEFUN (no_ospf_area_vlink,
{
vty_out (vty, "Please specify valid Router ID as a.b.c.d%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argc <=5)
@@ -1223,11 +1223,11 @@ DEFUN (no_ospf_area_vlink,
{
vl_config.crypto_key_id = strtol (argv[i]->arg, NULL, 10);
if (vl_config.crypto_key_id < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
vl_config.md5_key = NULL;
}
else
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
break;
}
@@ -1258,14 +1258,14 @@ DEFUN (ospf_area_vlink_intervals,
if (ret < 0)
{
vty_out (vty, "OSPF area ID is invalid%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = inet_aton (router_id, &vl_config.vl_peer);
if (! ret)
{
vty_out (vty, "Please specify valid Router ID as a.b.c.d%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
for (int idx = 4; idx < argc; idx++)
@@ -1304,14 +1304,14 @@ DEFUN (no_ospf_area_vlink_intervals,
if (ret < 0)
{
vty_out (vty, "OSPF area ID is invalid%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = inet_aton (router_id, &vl_config.vl_peer);
if (! ret)
{
vty_out (vty, "Please specify valid Router ID as a.b.c.d%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
for (int idx = 5; idx < argc; idx++)
@@ -1361,7 +1361,7 @@ DEFUN (ospf_area_shortcut,
else if (strncmp (argv[idx_enable_disable]->arg, "e", 1) == 0)
mode = OSPF_SHORTCUT_ENABLE;
else
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ospf_area_shortcut_set (ospf, area, mode);
@@ -1423,7 +1423,7 @@ DEFUN (ospf_area_stub,
{
vty_out (vty, "First deconfigure all virtual link through this area%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf_area_no_summary_unset (ospf, area_id);
@@ -1453,7 +1453,7 @@ DEFUN (ospf_area_stub_no_summary,
{
vty_out (vty, "%% Area cannot be stub as it contains a virtual link%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf_area_no_summary_set (ospf, area_id);
@@ -1520,7 +1520,7 @@ ospf_area_nssa_cmd_handler (struct vty *vty, int argc, struct cmd_token **argv,
{
vty_out (vty, "%% Area cannot be nssa as it contains a virtual link%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argc > 3)
@@ -1659,7 +1659,7 @@ DEFUN (ospf_area_default_cost,
if (area->external_routing == OSPF_AREA_DEFAULT)
{
vty_out (vty, "The area is neither stub, nor NSSA%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
area->default_cost = cost;
@@ -1702,7 +1702,7 @@ DEFUN (no_ospf_area_default_cost,
if (area->external_routing == OSPF_AREA_DEFAULT)
{
vty_out (vty, "The area is neither stub, nor NSSA%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
area->default_cost = 1;
@@ -2031,7 +2031,7 @@ DEFUN (ospf_abr_type,
else if (strncmp (argv[idx_vendor]->arg, "st", 2) == 0)
abr_type = OSPF_ABR_STAND;
else
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
/* If ABR type value is changed, schedule ABR task. */
if (ospf->abr_type != abr_type)
@@ -2067,7 +2067,7 @@ DEFUN (no_ospf_abr_type,
else if (strncmp (argv[idx_vendor]->arg, "st", 2) == 0)
abr_type = OSPF_ABR_STAND;
else
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
/* If ABR type value is changed, schedule ABR task. */
if (ospf->abr_type == abr_type)
@@ -2206,7 +2206,7 @@ DEFUN (ospf_timers_min_ls_interval,
if (argc < 5)
{
vty_out (vty, "Insufficient arguments%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
interval = strtoul(argv[idx_number]->arg, NULL, 10);
@@ -2248,7 +2248,7 @@ DEFUN (ospf_timers_min_ls_arrival,
if (argc < 4)
{
vty_out (vty, "Insufficient arguments%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
arrival = strtoul(argv[idx_number]->arg, NULL, 10);
@@ -2293,7 +2293,7 @@ DEFUN (ospf_timers_throttle_spf,
if (argc < 6)
{
vty_out (vty, "Insufficient arguments%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
delay = strtoul(argv[idx_number]->arg, NULL, 10);
@@ -2336,7 +2336,7 @@ DEFUN (ospf_timers_lsa,
if (argc < 4)
{
vty_out (vty, "Insufficient number of arguments%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
minarrival = strtoul(argv[idx_number]->arg, NULL, 10);
@@ -2550,7 +2550,7 @@ DEFUN (ospf_auto_cost_reference_bandwidth,
if (refbw < 1 || refbw > 4294967)
{
vty_out (vty, "reference-bandwidth value is invalid%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* If reference bandwidth is changed. */
@@ -2609,7 +2609,7 @@ DEFUN (ospf_write_multiplier,
if (write_oi_count < 1 || write_oi_count > 100)
{
vty_out (vty, "write-multiplier value is invalid%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf->write_oi_count = write_oi_count;
@@ -5557,7 +5557,7 @@ DEFUN (ip_ospf_authentication_args,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
@@ -5581,7 +5581,7 @@ DEFUN (ip_ospf_authentication_args,
}
vty_out (vty, "You shouldn't get here!%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (ip_ospf_authentication,
@@ -5607,7 +5607,7 @@ DEFUN (ip_ospf_authentication,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
@@ -5649,14 +5649,14 @@ DEFUN (no_ip_ospf_authentication_args,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
if (params == NULL)
{
vty_out (vty, "Ip Address specified is unknown%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params->auth_type = OSPF_AUTH_NOTSET;
UNSET_IF_PARAM (params, auth_type);
@@ -5679,7 +5679,7 @@ DEFUN (no_ip_ospf_authentication_args,
else
{
vty_out (vty, "Unexpected input encountered%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*
* Here we have a case where the user has entered
@@ -5739,14 +5739,14 @@ DEFUN (no_ip_ospf_authentication,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
if (params == NULL)
{
vty_out (vty, "Ip Address specified is unknown%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params->auth_type = OSPF_AUTH_NOTSET;
@@ -5819,7 +5819,7 @@ DEFUN (ip_ospf_authentication_key,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
@@ -5865,7 +5865,7 @@ DEFUN (no_ip_ospf_authentication_key,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
@@ -5927,7 +5927,7 @@ DEFUN (ip_ospf_message_digest_key,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
@@ -5938,7 +5938,7 @@ DEFUN (ip_ospf_message_digest_key,
if (ospf_crypt_key_lookup (params->auth_crypt, key_id) != NULL)
{
vty_out (vty, "OSPF: Key %d already exists%s", key_id, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ck = ospf_crypt_key_new ();
@@ -5994,7 +5994,7 @@ DEFUN (no_ip_ospf_message_digest_key,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
@@ -6007,7 +6007,7 @@ DEFUN (no_ip_ospf_message_digest_key,
if (ck == NULL)
{
vty_out (vty, "OSPF: Key %d does not exist%s", key_id, VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf_crypt_key_delete (params->auth_crypt, key_id);
@@ -6062,7 +6062,7 @@ DEFUN (ip_ospf_cost,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
@@ -6117,7 +6117,7 @@ DEFUN (no_ip_ospf_cost,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
@@ -6189,7 +6189,7 @@ ospf_vty_dead_interval_set (struct vty *vty, const char *interval_str,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
@@ -6216,7 +6216,7 @@ ospf_vty_dead_interval_set (struct vty *vty, const char *interval_str,
{
vty_out (vty, "Please specify dead-interval or hello-multiplier%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
SET_IF_PARAM (params, v_wait);
@@ -6316,7 +6316,7 @@ DEFUN (no_ip_ospf_dead_interval,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
@@ -6395,7 +6395,7 @@ DEFUN (ip_ospf_hello_interval,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
@@ -6442,7 +6442,7 @@ DEFUN (no_ip_ospf_hello_interval,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
@@ -6493,7 +6493,7 @@ DEFUN (ip_ospf_network,
if (old_type == OSPF_IFTYPE_LOOPBACK)
{
vty_out (vty, "This is a loopback interface. Can't set network type.%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv_find (argv, argc, "broadcast", &idx))
@@ -6622,7 +6622,7 @@ DEFUN (ip_ospf_priority,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
@@ -6684,7 +6684,7 @@ DEFUN (no_ip_ospf_priority,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
@@ -6755,7 +6755,7 @@ DEFUN (ip_ospf_retransmit_interval,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
@@ -6802,7 +6802,7 @@ DEFUN (no_ip_ospf_retransmit_interval,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
@@ -6859,7 +6859,7 @@ DEFUN (ip_ospf_transmit_delay,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
@@ -6905,7 +6905,7 @@ DEFUN (no_ip_ospf_transmit_delay,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
@@ -6983,21 +6983,21 @@ DEFUN (ip_ospf_area,
{
vty_out (vty, "Please specify area by A.B.C.D|<0-4294967295>%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (memcmp (ifp->name, "VLINK", 5) == 0)
{
vty_out (vty, "Cannot enable OSPF on a virtual link.%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = IF_DEF_PARAMS (ifp);
- if (OSPF_IF_PARAM_CONFIGURED(params, if_area))
+ if (OSPF_IF_PARAM_CONFIGURED(params, if_area) && !IPV4_ADDR_SAME(&params->if_area, &area_id))
{
vty_out (vty,
"Must remove previous area config before changing ospf area %s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
// Check if we have an address arg and proccess it
@@ -7009,7 +7009,7 @@ DEFUN (ip_ospf_area,
{
vty_out (vty,
"Must remove previous area/address config before changing ospf area");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf_if_update_params ((ifp), (addr));
}
@@ -7019,7 +7019,7 @@ DEFUN (ip_ospf_area,
if (rn->info != NULL)
{
vty_out (vty, "Please remove all network commands first.%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -7072,7 +7072,7 @@ DEFUN (no_ip_ospf_area,
if (!OSPF_IF_PARAM_CONFIGURED(params, if_area))
{
vty_outln (vty, "Can't find specified interface area configuration.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
UNSET_IF_PARAM (params, if_area);
@@ -7113,19 +7113,19 @@ DEFUN (ospf_redistribute_source,
/* Get distribute source. */
source = proto_redistnum(AFI_IP, argv[idx_protocol]->text);
if (source < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
red = ospf_redist_add(ospf, source, 0);
/* Get metric value. */
if (argv_find (argv, argc, "(0-16777214)", &idx)) {
if (!str2metric (argv[idx]->arg, &metric))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get metric type. */
else if (argv_find (argv, argc, "(1-2)", &idx)) {
if (!str2metric_type (argv[idx]->arg, &type))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get route-map */
else if (argv_find (argv, argc, "WORD", &idx)) {
@@ -7157,7 +7157,7 @@ DEFUN (no_ospf_redistribute_source,
source = proto_redistnum(AFI_IP, argv[idx_protocol]->text);
if (source < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
red = ospf_redist_lookup(ospf, source, 0);
if (!red)
@@ -7205,26 +7205,26 @@ DEFUN (ospf_redistribute_instance_source,
{
vty_out (vty, "Instance redistribution in non-instanced OSPF not allowed%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if ((source == ZEBRA_ROUTE_OSPF) && (ospf->instance == instance))
{
vty_out (vty, "Same instance OSPF redistribution not allowed%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get metric value. */
if (argv_find (argv, argc, "metric", &idx))
if (!str2metric (argv[idx+1]->arg, &metric))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
idx = 3;
/* Get metric type. */
if (argv_find (argv, argc, "metric-type", &idx))
if (!str2metric_type (argv[idx+1]->arg, &type))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
red = ospf_redist_add(ospf, source, instance);
@@ -7270,14 +7270,14 @@ DEFUN (no_ospf_redistribute_instance_source,
{
vty_out (vty, "Instance redistribution in non-instanced OSPF not allowed%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if ((source == ZEBRA_ROUTE_OSPF) && (ospf->instance == instance))
{
vty_out (vty, "Same instance OSPF redistribution not allowed%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
red = ospf_redist_lookup(ospf, source, instance);
@@ -7305,7 +7305,7 @@ DEFUN (ospf_distribute_list_out,
/* Get distribute source. */
source = proto_redistnum(AFI_IP, proto);
if (source < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
return ospf_distribute_list_out_set (ospf, source, argv[idx_word]->arg);
}
@@ -7326,7 +7326,7 @@ DEFUN (no_ospf_distribute_list_out,
char *proto = argv[argc - 1]->text;
source = proto_redistnum(AFI_IP, proto);
if (source < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
return ospf_distribute_list_out_unset (ospf, source, argv[idx_word]->arg);
}
@@ -7360,12 +7360,12 @@ DEFUN (ospf_default_information_originate,
/* Get metric value */
else if (argv_find (argv, argc, "(0-16777214)", &idx)) {
if (!str2metric (argv[idx]->arg, &metric))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get metric type. */
else if (argv_find (argv, argc, "(1-2)", &idx)) {
if (!str2metric_type (argv[idx]->arg, &type))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get route-map */
else if (argv_find (argv, argc, "WORD", &idx))
@@ -7427,7 +7427,7 @@ DEFUN (ospf_default_metric,
int metric = -1;
if (!str2metric (argv[idx_number]->arg, &metric))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
ospf->default_metric = metric;
@@ -7640,7 +7640,7 @@ DEFUN (ip_ospf_mtu_ignore,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
ospf_if_update_params (ifp, addr);
@@ -7683,7 +7683,7 @@ DEFUN (no_ip_ospf_mtu_ignore,
{
vty_out (vty, "Please specify interface address by A.B.C.D%s",
VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
ospf_if_update_params (ifp, addr);
@@ -7772,7 +7772,7 @@ DEFUN (ospf_max_metric_router_lsa_startup,
if (argc != 1)
{
vty_out (vty, "%% Must supply stub-router period");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
seconds = strtoul(argv[idx_number]->arg, NULL, 10);
@@ -7828,7 +7828,7 @@ DEFUN (ospf_max_metric_router_lsa_shutdown,
if (argc != 1)
{
vty_out (vty, "%% Must supply stub-router shutdown period");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
seconds = strtoul(argv[idx_number]->arg, NULL, 10);
diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c
index 715f240617..5c60aae13c 100644
--- a/ospfd/ospf_zebra.c
+++ b/ospfd/ospf_zebra.c
@@ -1446,7 +1446,7 @@ ospf_distance_set (struct vty *vty, struct ospf *ospf,
if (ret == 0)
{
vty_outln (vty, "Malformed prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
distance = atoi (distance_str);
@@ -1494,14 +1494,14 @@ ospf_distance_unset (struct vty *vty, struct ospf *ospf,
if (ret == 0)
{
vty_outln (vty, "Malformed prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rn = route_node_lookup (ospf->distance_table, (struct prefix *) &p);
if (!rn)
{
vty_outln (vty, "Can't find specified prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
odistance = rn->info;
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c
index b0afc7828a..4867710030 100644
--- a/pimd/pim_cmd.c
+++ b/pimd/pim_cmd.c
@@ -3757,45 +3757,45 @@ pim_rp_cmd_worker (struct vty *vty, const char *rp, const char *group, const cha
if (result == PIM_MALLOC_FAIL)
{
vty_outln (vty, "%% Out of memory");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (result == PIM_GROUP_BAD_ADDRESS)
{
vty_outln (vty, "%% Bad group address specified: %s", group);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (result == PIM_RP_BAD_ADDRESS)
{
vty_outln (vty, "%% Bad RP address specified: %s", rp);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (result == PIM_RP_NO_PATH)
{
vty_outln (vty, "%% No Path to RP address specified: %s", rp);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (result == PIM_GROUP_OVERLAP)
{
vty_outln (vty, "%% Group range specified cannot overlap");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (result == PIM_GROUP_PFXLIST_OVERLAP)
{
vty_outln (vty,
"%% This group is already covered by a RP prefix-list");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (result == PIM_RP_PFXLIST_IN_USE)
{
vty_outln (vty,
"%% The same prefix-list cannot be applied to multiple RPs");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -4043,19 +4043,19 @@ pim_no_rp_cmd_worker (struct vty *vty, const char *rp, const char *group,
if (result == PIM_GROUP_BAD_ADDRESS)
{
vty_outln (vty, "%% Bad group address specified: %s", group);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (result == PIM_RP_BAD_ADDRESS)
{
vty_outln (vty, "%% Bad RP address specified: %s", rp);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (result == PIM_RP_NOT_FOUND)
{
vty_outln (vty, "%% Unable to find specified RP");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -4113,7 +4113,7 @@ pim_ssm_cmd_worker (struct vty *vty, const char *plist)
vty_outln (vty, "%% ssm range config failed");
}
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (ip_pim_ssm_prefix_list,
@@ -4158,7 +4158,7 @@ DEFUN (no_ip_pim_ssm_prefix_list_name,
vty_outln (vty, "%% pim ssm prefix-list %s doesn't exist",
argv[0]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
static void
@@ -4279,14 +4279,14 @@ DEFUN (ip_ssmpingd,
if (result <= 0) {
vty_outln (vty, "%% Bad source address %s: errno=%d: %s",
source_str, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
result = pim_ssmpingd_start(source_addr);
if (result) {
vty_outln (vty, "%% Failure starting ssmpingd for source %s: %d",
source_str, result);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -4309,14 +4309,14 @@ DEFUN (no_ip_ssmpingd,
if (result <= 0) {
vty_outln (vty, "%% Bad source address %s: errno=%d: %s",
source_str, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
result = pim_ssmpingd_stop(source_addr);
if (result) {
vty_outln (vty, "%% Failure stopping ssmpingd for source %s: %d",
source_str, result);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -4390,7 +4390,7 @@ pim_cmd_igmp_start (struct vty *vty, struct interface *ifp)
{
vty_outln (vty, "Could not enable IGMP on interface %s",
ifp->name);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
need_startup = 1;
}
@@ -4475,7 +4475,7 @@ DEFUN (interface_ip_igmp_join,
if (result <= 0) {
vty_outln (vty, "Bad group address %s: errno=%d: %s",
group_str, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Source address */
@@ -4484,14 +4484,14 @@ DEFUN (interface_ip_igmp_join,
if (result <= 0) {
vty_outln (vty, "Bad source address %s: errno=%d: %s",
source_str, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
result = pim_if_igmp_join_add(ifp, group_addr, source_addr);
if (result) {
vty_outln (vty, "%% Failure joining IGMP group %s source %s on interface %s: %d",
group_str, source_str, ifp->name, result);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -4522,7 +4522,7 @@ DEFUN (interface_no_ip_igmp_join,
if (result <= 0) {
vty_outln (vty, "Bad group address %s: errno=%d: %s",
group_str, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Source address */
@@ -4531,14 +4531,14 @@ DEFUN (interface_no_ip_igmp_join,
if (result <= 0) {
vty_outln (vty, "Bad source address %s: errno=%d: %s",
source_str, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
result = pim_if_igmp_join_del(ifp, group_addr, source_addr);
if (result) {
vty_outln (vty, "%% Failure leaving IGMP group %s source %s on interface %s: %d",
group_str, source_str, ifp->name, result);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -4707,20 +4707,20 @@ DEFUN (interface_ip_igmp_query_interval,
vty_outln (vty, "General query interval %d lower than minimum %d",
query_interval,
IGMP_QUERY_INTERVAL_MIN);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (query_interval > IGMP_QUERY_INTERVAL_MAX) {
vty_outln (vty, "General query interval %d higher than maximum %d",
query_interval,
IGMP_QUERY_INTERVAL_MAX);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (query_interval_dsec <= pim_ifp->igmp_query_max_response_time_dsec) {
vty_outln (vty,
"Can't set general query interval %d dsec <= query max response time %d dsec.",
query_interval_dsec,pim_ifp->igmp_query_max_response_time_dsec);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
change_query_interval(pim_ifp, query_interval);
@@ -4750,7 +4750,7 @@ DEFUN (interface_no_ip_igmp_query_interval,
"Can't set default general query interval %d dsec <= query max response time %d dsec.",
default_query_interval_dsec,
pim_ifp->igmp_query_max_response_time_dsec);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
change_query_interval(pim_ifp, IGMP_GENERAL_QUERY_INTERVAL);
@@ -4848,7 +4848,7 @@ DEFUN (interface_ip_igmp_query_max_response_time,
vty_outln (vty,
"Can't set query max response time %d sec >= general query interval %d sec",
query_max_response_time,pim_ifp->igmp_default_query_interval);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
change_query_max_response_time(pim_ifp, query_max_response_time);
@@ -4908,7 +4908,7 @@ DEFUN_HIDDEN (interface_ip_igmp_query_max_response_time_dsec,
vty_outln (vty,
"Can't set query max response time %d dsec >= general query interval %d dsec",
query_max_response_time_dsec,default_query_interval_dsec);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
change_query_max_response_time(pim_ifp, query_max_response_time_dsec);
@@ -4950,7 +4950,7 @@ DEFUN (interface_ip_pim_drprio,
if (!pim_ifp) {
vty_outln (vty, "Please enable PIM on interface, first");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
old_dr_prio = pim_ifp->pim_dr_priority;
@@ -4979,7 +4979,7 @@ DEFUN (interface_no_ip_pim_drprio,
if (!pim_ifp) {
vty_outln (vty, "Pim not enabled on this interface");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (pim_ifp->pim_dr_priority != PIM_DEFAULT_DR_PRIORITY) {
@@ -5022,7 +5022,7 @@ DEFUN_HIDDEN (interface_ip_pim_ssm,
if (!pim_cmd_interface_add(ifp)) {
vty_outln (vty, "Could not enable PIM SM on interface");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
vty_outln(vty, "WARN: Enabled PIM SM on interface; configure PIM SSM "
@@ -5040,7 +5040,7 @@ DEFUN (interface_ip_pim_sm,
VTY_DECLVAR_CONTEXT(interface, ifp);
if (!pim_cmd_interface_add(ifp)) {
vty_outln (vty, "Could not enable PIM SM on interface");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
pim_if_create_pimreg();
@@ -5085,7 +5085,7 @@ DEFUN_HIDDEN (interface_no_ip_pim_ssm,
VTY_DECLVAR_CONTEXT(interface, ifp);
if (!pim_cmd_interface_delete(ifp)) {
vty_outln (vty, "Unable to delete interface information");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -5102,7 +5102,7 @@ DEFUN (interface_no_ip_pim_sm,
VTY_DECLVAR_CONTEXT(interface, ifp);
if (!pim_cmd_interface_delete(ifp)) {
vty_outln (vty, "Unable to delete interface information");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -5131,7 +5131,7 @@ DEFUN (interface_ip_mroute,
if (!oif) {
vty_outln (vty, "No such interface name %s",
oifname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
grp_str = argv[idx_ipv4]->arg;
@@ -5139,14 +5139,14 @@ DEFUN (interface_ip_mroute,
if (result <= 0) {
vty_outln (vty, "Bad group address %s: errno=%d: %s",
grp_str, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
src_addr.s_addr = INADDR_ANY;
if (pim_static_add(iif, oif, grp_addr, src_addr)) {
vty_outln (vty, "Failed to add route");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -5178,7 +5178,7 @@ DEFUN (interface_ip_mroute_source,
if (!oif) {
vty_outln (vty, "No such interface name %s",
oifname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
grp_str = argv[idx_ipv4]->arg;
@@ -5186,7 +5186,7 @@ DEFUN (interface_ip_mroute_source,
if (result <= 0) {
vty_outln (vty, "Bad group address %s: errno=%d: %s",
grp_str, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
src_str = argv[idx_ipv4_2]->arg;
@@ -5194,12 +5194,12 @@ DEFUN (interface_ip_mroute_source,
if (result <= 0) {
vty_outln (vty, "Bad source address %s: errno=%d: %s",
src_str, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (pim_static_add(iif, oif, grp_addr, src_addr)) {
vty_outln (vty, "Failed to add route");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -5229,7 +5229,7 @@ DEFUN (interface_no_ip_mroute,
if (!oif) {
vty_outln (vty, "No such interface name %s",
oifname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
grp_str = argv[idx_ipv4]->arg;
@@ -5237,14 +5237,14 @@ DEFUN (interface_no_ip_mroute,
if (result <= 0) {
vty_outln (vty, "Bad group address %s: errno=%d: %s",
grp_str, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
src_addr.s_addr = INADDR_ANY;
if (pim_static_del(iif, oif, grp_addr, src_addr)) {
vty_outln (vty, "Failed to remove route");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -5277,7 +5277,7 @@ DEFUN (interface_no_ip_mroute_source,
if (!oif) {
vty_outln (vty, "No such interface name %s",
oifname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
grp_str = argv[idx_ipv4]->arg;
@@ -5285,7 +5285,7 @@ DEFUN (interface_no_ip_mroute_source,
if (result <= 0) {
vty_outln (vty, "Bad group address %s: errno=%d: %s",
grp_str, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
src_str = argv[idx_ipv4_2]->arg;
@@ -5293,12 +5293,12 @@ DEFUN (interface_no_ip_mroute_source,
if (result <= 0) {
vty_outln (vty, "Bad source address %s: errno=%d: %s",
src_str, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (pim_static_del(iif, oif, grp_addr, src_addr)) {
vty_outln (vty, "Failed to remove route");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -5323,7 +5323,7 @@ DEFUN (interface_ip_pim_hello,
if (!pim_cmd_interface_add(ifp))
{
vty_outln (vty, "Could not enable PIM SM on interface");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -5353,7 +5353,7 @@ DEFUN (interface_no_ip_pim_hello,
if (!pim_ifp) {
vty_outln (vty, "Pim not enabled on this interface");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
pim_ifp->pim_hello_period = PIM_DEFAULT_HELLO_PERIOD;
@@ -5884,7 +5884,7 @@ interface_pim_use_src_cmd_worker(struct vty *vty, const char *source)
if (result <= 0) {
vty_outln (vty, "%% Bad source address %s: errno=%d: %s",
source, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
result = pim_update_source_set(ifp, source_addr);
@@ -5901,7 +5901,7 @@ interface_pim_use_src_cmd_worker(struct vty *vty, const char *source)
vty_outln (vty, "%% Source set failed");
}
- return result?CMD_WARNING:CMD_SUCCESS;
+ return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
}
DEFUN (interface_pim_use_source,
@@ -6024,14 +6024,14 @@ ip_msdp_peer_cmd_worker (struct vty *vty, const char *peer, const char *local)
if (result <= 0) {
vty_outln (vty, "%% Bad peer address %s: errno=%d: %s",
peer, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
result = inet_pton(AF_INET, local, &local_addr);
if (result <= 0) {
vty_outln (vty, "%% Bad source address %s: errno=%d: %s",
local, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
result = pim_msdp_peer_add(peer_addr, local_addr, "default", NULL/* mp_p */);
@@ -6051,7 +6051,7 @@ ip_msdp_peer_cmd_worker (struct vty *vty, const char *peer, const char *local)
vty_outln (vty, "%% peer add failed");
}
- return result?CMD_WARNING:CMD_SUCCESS;
+ return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
}
DEFUN_HIDDEN (ip_msdp_peer,
@@ -6077,7 +6077,7 @@ ip_no_msdp_peer_cmd_worker (struct vty *vty, const char *peer)
if (result <= 0) {
vty_outln (vty, "%% Bad peer address %s: errno=%d: %s",
peer, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
result = pim_msdp_peer_del(peer_addr);
@@ -6091,7 +6091,7 @@ ip_no_msdp_peer_cmd_worker (struct vty *vty, const char *peer)
vty_outln (vty, "%% peer del failed");
}
- return result?CMD_WARNING:CMD_SUCCESS;
+ return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
}
DEFUN_HIDDEN (no_ip_msdp_peer,
@@ -6116,7 +6116,7 @@ ip_msdp_mesh_group_member_cmd_worker(struct vty *vty, const char *mg, const char
if (result <= 0) {
vty_outln (vty, "%% Bad member address %s: errno=%d: %s",
mbr, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
result = pim_msdp_mg_mbr_add(mg, mbr_ip);
@@ -6136,7 +6136,7 @@ ip_msdp_mesh_group_member_cmd_worker(struct vty *vty, const char *mg, const char
vty_outln (vty, "%% member add failed");
}
- return result?CMD_WARNING:CMD_SUCCESS;
+ return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
}
DEFUN (ip_msdp_mesh_group_member,
@@ -6162,7 +6162,7 @@ ip_no_msdp_mesh_group_member_cmd_worker(struct vty *vty, const char *mg, const c
if (result <= 0) {
vty_outln (vty, "%% Bad member address %s: errno=%d: %s",
mbr, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
result = pim_msdp_mg_mbr_del(mg, mbr_ip);
@@ -6179,7 +6179,7 @@ ip_no_msdp_mesh_group_member_cmd_worker(struct vty *vty, const char *mg, const c
vty_outln (vty, "%% mesh-group member del failed");
}
- return result?CMD_WARNING:CMD_SUCCESS;
+ return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
}
DEFUN (no_ip_msdp_mesh_group_member,
no_ip_msdp_mesh_group_member_cmd,
@@ -6205,7 +6205,7 @@ ip_msdp_mesh_group_source_cmd_worker(struct vty *vty, const char *mg, const char
if (result <= 0) {
vty_outln (vty, "%% Bad source address %s: errno=%d: %s",
src, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
result = pim_msdp_mg_src_add(mg, src_ip);
@@ -6222,7 +6222,7 @@ ip_msdp_mesh_group_source_cmd_worker(struct vty *vty, const char *mg, const char
vty_outln (vty, "%% source add failed");
}
- return result?CMD_WARNING:CMD_SUCCESS;
+ return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
}
@@ -6255,7 +6255,7 @@ ip_no_msdp_mesh_group_source_cmd_worker(struct vty *vty, const char *mg)
vty_outln (vty, "%% mesh-group source del failed");
}
- return result?CMD_WARNING:CMD_SUCCESS;
+ return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
}
static int
@@ -6274,7 +6274,7 @@ ip_no_msdp_mesh_group_cmd_worker(struct vty *vty, const char *mg)
vty_outln (vty, "%% mesh-group source del failed");
}
- return result ? CMD_WARNING : CMD_SUCCESS;
+ return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
}
DEFUN (no_ip_msdp_mesh_group_source,
diff --git a/ripd/rip_debug.c b/ripd/rip_debug.c
index 775fe3879e..c9a5489595 100644
--- a/ripd/rip_debug.c
+++ b/ripd/rip_debug.c
@@ -68,7 +68,7 @@ DEFUN (debug_rip_events,
"RIP events\n")
{
rip_debug_event = RIP_DEBUG_EVENT;
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (debug_rip_packet,
@@ -110,7 +110,7 @@ DEFUN (debug_rip_zebra,
"RIP and ZEBRA communication\n")
{
rip_debug_zebra = RIP_DEBUG_ZEBRA;
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (no_debug_rip_events,
@@ -174,7 +174,7 @@ DEFUN (no_debug_rip_zebra,
"RIP and ZEBRA communication\n")
{
rip_debug_zebra = 0;
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Debug node. */
diff --git a/ripd/rip_interface.c b/ripd/rip_interface.c
index 4ce1b9b655..d5570eac25 100644
--- a/ripd/rip_interface.c
+++ b/ripd/rip_interface.c
@@ -1168,7 +1168,7 @@ static int
rip_passive_nondefault_set (struct vty *vty, const char *ifname)
{
if (rip_passive_nondefault_lookup (ifname) >= 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
vector_set (Vrip_passive_nondefault, strdup (ifname));
@@ -1185,7 +1185,7 @@ rip_passive_nondefault_unset (struct vty *vty, const char *ifname)
i = rip_passive_nondefault_lookup (ifname);
if (i < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
str = vector_slot (Vrip_passive_nondefault, i);
free (str);
@@ -1235,7 +1235,7 @@ DEFUN (rip_network,
{
vty_outln (vty, "There is a same network configuration %s",
argv[idx_ipv4_word]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -1265,7 +1265,7 @@ DEFUN (no_rip_network,
{
vty_outln (vty, "Can't find network configuration %s",
argv[idx_ipv4_word]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -1287,7 +1287,7 @@ DEFUN (rip_neighbor,
if (ret <= 0)
{
vty_outln (vty, "Please specify address by A.B.C.D");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rip_neighbor_add (&p);
@@ -1312,7 +1312,7 @@ DEFUN (no_rip_neighbor,
if (ret <= 0)
{
vty_outln (vty, "Please specify address by A.B.C.D");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rip_neighbor_delete (&p);
@@ -1351,7 +1351,7 @@ DEFUN (ip_rip_receive_version,
break;
}
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (ip_rip_receive_version_1,
@@ -1422,7 +1422,7 @@ DEFUN (ip_rip_send_version,
ri->ri_send = RI_RIP_VERSION_2;
return CMD_SUCCESS;
}
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (ip_rip_send_version_1,
@@ -1535,7 +1535,7 @@ DEFUN (ip_rip_authentication_mode,
if (auth_type != RIP_AUTH_MD5)
{
vty_outln (vty, "auth length argument only valid for md5");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch ("rfc", authlen))
ri->md5_auth_len = RIP_AUTH_MD5_SIZE;
@@ -1593,13 +1593,13 @@ DEFUN (ip_rip_authentication_string,
{
vty_outln (vty,
"%% RIPv2 authentication string must be shorter than 16");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ri->key_chain)
{
vty_outln (vty, "%% key-chain configuration exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ri->auth_str)
@@ -1652,7 +1652,7 @@ DEFUN (ip_rip_authentication_key_chain,
if (ri->auth_str)
{
vty_outln (vty,"%% authentication string configuration exists");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ri->key_chain)
diff --git a/ripd/rip_offset.c b/ripd/rip_offset.c
index c047bb7768..3fb0daa86f 100644
--- a/ripd/rip_offset.c
+++ b/ripd/rip_offset.c
@@ -118,7 +118,7 @@ rip_offset_list_set (struct vty *vty, const char *alist, const char *direct_str,
else
{
vty_outln (vty, "Invalid direction: %s", direct_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check metric. */
@@ -126,7 +126,7 @@ rip_offset_list_set (struct vty *vty, const char *alist, const char *direct_str,
if (metric < 0 || metric > 16)
{
vty_outln (vty, "Invalid metric: %s", metric_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get offset-list structure with interface name. */
@@ -157,7 +157,7 @@ rip_offset_list_unset (struct vty *vty, const char *alist,
else
{
vty_outln (vty, "Invalid direction: %s", direct_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check metric. */
@@ -165,7 +165,7 @@ rip_offset_list_unset (struct vty *vty, const char *alist,
if (metric < 0 || metric > 16)
{
vty_outln (vty, "Invalid metric: %s", metric_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get offset-list structure with interface name. */
@@ -189,7 +189,7 @@ rip_offset_list_unset (struct vty *vty, const char *alist,
else
{
vty_outln (vty, "Can't find offset-list");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
diff --git a/ripd/rip_zebra.c b/ripd/rip_zebra.c
index 31204872ac..c2418e1b52 100644
--- a/ripd/rip_zebra.c
+++ b/ripd/rip_zebra.c
@@ -349,7 +349,7 @@ DEFUN (rip_redistribute_type,
vty_outln (vty, "Invalid type %s",argv[1]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (no_rip_redistribute_type,
@@ -375,7 +375,7 @@ DEFUN (no_rip_redistribute_type,
vty_outln (vty, "Invalid type %s",argv[2]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (rip_redistribute_type_routemap,
@@ -402,7 +402,7 @@ DEFUN (rip_redistribute_type_routemap,
vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (no_rip_redistribute_type_routemap,
@@ -422,7 +422,7 @@ DEFUN (no_rip_redistribute_type_routemap,
if (strmatch (redist_type[i].str, argv[idx_protocol]->text))
{
if (rip_routemap_unset (redist_type[i].type,argv[idx_word]->arg))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
rip_redistribute_unset (redist_type[i].type);
return CMD_SUCCESS;
}
@@ -430,7 +430,7 @@ DEFUN (no_rip_redistribute_type_routemap,
vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (rip_redistribute_type_metric,
@@ -460,7 +460,7 @@ DEFUN (rip_redistribute_type_metric,
vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (no_rip_redistribute_type_metric,
@@ -480,7 +480,7 @@ DEFUN (no_rip_redistribute_type_metric,
if (strmatch (redist_type[i].str, argv[idx_protocol]->text))
{
if (rip_metric_unset (redist_type[i].type, atoi(argv[idx_number]->arg)))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
rip_redistribute_unset (redist_type[i].type);
return CMD_SUCCESS;
}
@@ -488,7 +488,7 @@ DEFUN (no_rip_redistribute_type_metric,
vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (rip_redistribute_type_metric_routemap,
@@ -522,7 +522,7 @@ DEFUN (rip_redistribute_type_metric_routemap,
vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
@@ -546,11 +546,11 @@ DEFUN (no_rip_redistribute_type_metric_routemap,
if (strmatch (redist_type[i].str, argv[idx_protocol]->text))
{
if (rip_metric_unset (redist_type[i].type, atoi(argv[idx_number]->arg)))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
if (rip_routemap_unset (redist_type[i].type, argv[idx_word]->arg))
{
rip_redistribute_metric_set(redist_type[i].type, atoi(argv[idx_number]->arg));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rip_redistribute_unset (redist_type[i].type);
return CMD_SUCCESS;
@@ -559,7 +559,7 @@ DEFUN (no_rip_redistribute_type_metric_routemap,
vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Default information originate. */
diff --git a/ripd/ripd.c b/ripd/ripd.c
index c07831fdd5..780efcc944 100644
--- a/ripd/ripd.c
+++ b/ripd/ripd.c
@@ -2815,7 +2815,7 @@ DEFUN_NOSH (router_rip,
if (ret < 0)
{
zlog_info ("Can't create RIP");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
VTY_PUSH_CONTEXT(RIP_NODE, rip);
@@ -2848,7 +2848,7 @@ DEFUN (rip_version,
if (version != RIPv1 && version != RIPv2)
{
vty_outln (vty, "invalid rip version %d",version);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rip->version_send = version;
rip->version_recv = version;
@@ -2886,7 +2886,7 @@ DEFUN (rip_route,
if (ret < 0)
{
vty_outln (vty, "Malformed address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask_ipv4 (&p);
@@ -2897,7 +2897,7 @@ DEFUN (rip_route,
{
vty_outln (vty, "There is already same static route.");
route_unlock_node (node);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
node->info = (void *)1;
@@ -2923,7 +2923,7 @@ DEFUN (no_rip_route,
if (ret < 0)
{
vty_outln (vty, "Malformed address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask_ipv4 (&p);
@@ -2932,7 +2932,7 @@ DEFUN (no_rip_route,
if (! node)
{
vty_outln (vty, "Can't find route %s.",argv[idx_ipv4_prefixlen]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rip_redistribute_delete (ZEBRA_ROUTE_RIP, RIP_ROUTE_STATIC, &p, 0);
@@ -3015,21 +3015,21 @@ DEFUN (rip_timers,
if (update > RIP_TIMER_MAX || update < RIP_TIMER_MIN || *endptr != '\0')
{
vty_outln (vty, "update timer value error");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
timeout = strtoul (argv[idx_number_2]->arg, &endptr, 10);
if (timeout > RIP_TIMER_MAX || timeout < RIP_TIMER_MIN || *endptr != '\0')
{
vty_outln (vty, "timeout timer value error");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
garbage = strtoul (argv[idx_number_3]->arg, &endptr, 10);
if (garbage > RIP_TIMER_MAX || garbage < RIP_TIMER_MIN || *endptr != '\0')
{
vty_outln (vty, "garbage timer value error");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Set each timer value. */
@@ -3103,7 +3103,7 @@ rip_distance_set (struct vty *vty, const char *distance_str, const char *ip_str,
if (ret == 0)
{
vty_outln (vty, "Malformed prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
distance = atoi (distance_str);
@@ -3149,14 +3149,14 @@ rip_distance_unset (struct vty *vty, const char *distance_str,
if (ret == 0)
{
vty_outln (vty, "Malformed prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rn = route_node_lookup (rip_distance_table, (struct prefix *)&p);
if (! rn)
{
vty_outln (vty, "Can't find specified prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rdistance = rn->info;
@@ -3387,7 +3387,7 @@ DEFUN (rip_allow_ecmp,
if (rip->ecmp)
{
vty_outln (vty, "ECMP is already enabled.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rip->ecmp = 1;
@@ -3404,7 +3404,7 @@ DEFUN (no_rip_allow_ecmp,
if (!rip->ecmp)
{
vty_outln (vty, "ECMP is already disabled.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rip->ecmp = 0;
diff --git a/ripngd/ripng_debug.c b/ripngd/ripng_debug.c
index 9ba0e10e46..74a93d8eb6 100644
--- a/ripngd/ripng_debug.c
+++ b/ripngd/ripng_debug.c
@@ -69,7 +69,7 @@ DEFUN (debug_ripng_events,
"Debug option set for ripng events\n")
{
ripng_debug_event = RIPNG_DEBUG_EVENT;
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (debug_ripng_packet,
@@ -112,7 +112,7 @@ DEFUN (debug_ripng_zebra,
"Debug option set for ripng and zebra communication\n")
{
ripng_debug_zebra = RIPNG_DEBUG_ZEBRA;
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (no_debug_ripng_events,
@@ -176,7 +176,7 @@ DEFUN (no_debug_ripng_zebra,
"Debug option set for ripng and zebra communication\n")
{
ripng_debug_zebra = 0;
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Debug node. */
diff --git a/ripngd/ripng_interface.c b/ripngd/ripng_interface.c
index d739540c2d..8daad08035 100644
--- a/ripngd/ripng_interface.c
+++ b/ripngd/ripng_interface.c
@@ -858,7 +858,7 @@ static int
ripng_passive_interface_set (struct vty *vty, const char *ifname)
{
if (ripng_passive_interface_lookup (ifname) >= 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
vector_set (Vripng_passive_interface, strdup (ifname));
@@ -875,7 +875,7 @@ ripng_passive_interface_unset (struct vty *vty, const char *ifname)
i = ripng_passive_interface_lookup (ifname);
if (i < 0)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
str = vector_slot (Vripng_passive_interface, i);
free (str);
@@ -962,7 +962,7 @@ DEFUN (ripng_network,
{
vty_outln (vty, "There is same network configuration %s",
argv[idx_if_or_addr]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -991,7 +991,7 @@ DEFUN (no_ripng_network,
if (ret < 0)
{
vty_outln (vty, "can't find network %s",argv[idx_if_or_addr]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
diff --git a/ripngd/ripng_offset.c b/ripngd/ripng_offset.c
index 51385dd930..df460a00f9 100644
--- a/ripngd/ripng_offset.c
+++ b/ripngd/ripng_offset.c
@@ -126,7 +126,7 @@ ripng_offset_list_set (struct vty *vty, const char *alist,
else
{
vty_outln (vty, "Invalid direction: %s", direct_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check metric. */
@@ -134,7 +134,7 @@ ripng_offset_list_set (struct vty *vty, const char *alist,
if (metric < 0 || metric > 16)
{
vty_outln (vty, "Invalid metric: %s", metric_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get offset-list structure with interface name. */
@@ -165,7 +165,7 @@ ripng_offset_list_unset (struct vty *vty, const char *alist,
else
{
vty_outln (vty, "Invalid direction: %s", direct_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check metric. */
@@ -173,7 +173,7 @@ ripng_offset_list_unset (struct vty *vty, const char *alist,
if (metric < 0 || metric > 16)
{
vty_outln (vty, "Invalid metric: %s", metric_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get offset-list structure with interface name. */
@@ -197,7 +197,7 @@ ripng_offset_list_unset (struct vty *vty, const char *alist,
else
{
vty_outln (vty, "Can't find offset-list");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
diff --git a/ripngd/ripng_zebra.c b/ripngd/ripng_zebra.c
index 465d33992f..132422ed85 100644
--- a/ripngd/ripng_zebra.c
+++ b/ripngd/ripng_zebra.c
@@ -338,7 +338,7 @@ DEFUN (ripng_redistribute_type,
if (type < 0)
{
vty_outln (vty, "Invalid type %s", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
zclient_redistribute (ZEBRA_REDISTRIBUTE_ADD, zclient, AFI_IP6, type, 0, VRF_DEFAULT);
@@ -364,7 +364,7 @@ DEFUN (no_ripng_redistribute_type,
if (type < 0)
{
vty_outln (vty, "Invalid type %s", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng_redistribute_metric_unset (type);
@@ -392,7 +392,7 @@ DEFUN (ripng_redistribute_type_metric,
if (type < 0)
{
vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng_redistribute_metric_set (type, metric);
@@ -418,7 +418,7 @@ DEFUN (ripng_redistribute_type_routemap,
if (type < 0)
{
vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng_redistribute_routemap_set (type, argv[idx_word]->text);
@@ -449,7 +449,7 @@ DEFUN (ripng_redistribute_type_metric_routemap,
if (type < 0)
{
vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng_redistribute_metric_set (type, metric);
diff --git a/ripngd/ripngd.c b/ripngd/ripngd.c
index bfec173efc..15fce90c2e 100644
--- a/ripngd/ripngd.c
+++ b/ripngd/ripngd.c
@@ -2227,7 +2227,7 @@ DEFUN_NOSH (router_ripng,
if (ret < 0)
{
zlog_warn ("can't create RIPng");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -2261,7 +2261,7 @@ DEFUN (ripng_route,
if (ret <= 0)
{
vty_outln (vty, "Malformed address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask_ipv6 (&p);
@@ -2270,7 +2270,7 @@ DEFUN (ripng_route,
{
vty_outln (vty, "There is already same static route.");
route_unlock_node (rp);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rp->info = (void *)1;
@@ -2295,7 +2295,7 @@ DEFUN (no_ripng_route,
if (ret <= 0)
{
vty_outln (vty, "Malformed address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask_ipv6 (&p);
@@ -2303,7 +2303,7 @@ DEFUN (no_ripng_route,
if (! rp)
{
vty_outln (vty, "Can't find static route.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng_redistribute_delete (ZEBRA_ROUTE_RIPNG, RIPNG_ROUTE_STATIC, &p, 0);
@@ -2330,7 +2330,7 @@ DEFUN (ripng_aggregate_address,
if (ret <= 0)
{
vty_outln (vty, "Malformed address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check aggregate alredy exist or not. */
@@ -2339,7 +2339,7 @@ DEFUN (ripng_aggregate_address,
{
vty_outln (vty, "There is already same aggregate route.");
route_unlock_node (node);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
node->info = (void *)1;
@@ -2364,14 +2364,14 @@ DEFUN (no_ripng_aggregate_address,
if (ret <= 0)
{
vty_outln (vty, "Malformed address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rn = route_node_lookup (ripng->aggregate, &p);
if (! rn)
{
vty_outln (vty, "Can't find aggregate route.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
route_unlock_node (rn);
rn->info = NULL;
@@ -2426,7 +2426,7 @@ DEFUN (ripng_update_timer,
if (update == ULONG_MAX || *endptr != '\0')
{
vty_out (vty, "update timer value error%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng->update_time = update;
@@ -2461,7 +2461,7 @@ DEFUN (ripng_timeout_timer,
if (timeout == ULONG_MAX || *endptr != '\0')
{
vty_out (vty, "timeout timer value error%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng->timeout_time = timeout;
@@ -2494,7 +2494,7 @@ DEFUN (ripng_garbage_timer,
if (garbage == ULONG_MAX || *endptr != '\0')
{
vty_out (vty, "garbage timer value error%s", VTYNL);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng->garbage_time = garbage;
@@ -2681,7 +2681,7 @@ DEFUN (ripng_allow_ecmp,
if (ripng->ecmp)
{
vty_outln (vty, "ECMP is already enabled.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng->ecmp = 1;
@@ -2698,7 +2698,7 @@ DEFUN (no_ripng_allow_ecmp,
if (!ripng->ecmp)
{
vty_outln (vty, "ECMP is already disabled.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng->ecmp = 0;
diff --git a/snapcraft/.gitignore b/snapcraft/.gitignore
index e050ff0c8d..ac7860290b 100644
--- a/snapcraft/.gitignore
+++ b/snapcraft/.gitignore
@@ -2,5 +2,5 @@ snapcraft.yaml
parts
prime
stage
-quagga*.snap
+frr*.snap
!*/Makefile
diff --git a/solaris/.gitignore b/solaris/.gitignore
index 63afe3fdbb..a2c7946e71 100644
--- a/solaris/.gitignore
+++ b/solaris/.gitignore
@@ -14,7 +14,7 @@ depend.dev
depend.doc
depend.libs
depend.smf
-quagga.init
+frr.init
*.pkg
*.pkg.gz
*~
diff --git a/tools/frr-reload.py b/tools/frr-reload.py
index a7a04be639..bfdc08ab4c 100755
--- a/tools/frr-reload.py
+++ b/tools/frr-reload.py
@@ -812,7 +812,7 @@ def compare_context_objects(newconf, running):
delete_bgpd = True
lines_to_del.append((running_ctx_keys, None))
- # We cannot do 'no interface' in quagga, and so deal with it
+ # We cannot do 'no interface' in FRR, and so deal with it
elif running_ctx_keys[0].startswith('interface'):
for line in running_ctx.lines:
lines_to_del.append((running_ctx_keys, line))
@@ -1010,7 +1010,7 @@ if __name__ == '__main__':
# the "neighbor 1.1.1.1 route-map FOO out" line...so we compare the
# configs again to put this line back.
- # There are many keywords in quagga that can only appear one time under
+ # There are many keywords in FRR that can only appear one time under
# a context, take "bgp router-id" for example. If the config that we are
# reloading against has the following:
#
@@ -1038,7 +1038,7 @@ if __name__ == '__main__':
lines_to_add.extend(lines_to_add_first_pass)
# Only do deletes on the first pass. The reason being if we
- # configure a bgp neighbor via "neighbor swp1 interface" quagga
+ # configure a bgp neighbor via "neighbor swp1 interface" FRR
# will automatically add:
#
# interface swp1
diff --git a/tools/multiple-bgpd.sh b/tools/multiple-bgpd.sh
index 20a92a9160..6dee1bafc3 100644
--- a/tools/multiple-bgpd.sh
+++ b/tools/multiple-bgpd.sh
@@ -10,8 +10,8 @@ PREFIX=192.168.145.
#PREFIX=3ffe:123:456::
ADDRPLEN=32
CONFBASE=/tmp
-PIDBASE=/var/run/quagga
-CHOWNSTR=quagga:quagga
+PIDBASE=/var/run/frr
+CHOWNSTR=frr:frr
for H in `seq 1 ${NUM}` ; do
CONF="${CONFBASE}"/bgpd${H}.conf
diff --git a/tools/vty_index.cocci b/tools/vty_index.cocci
index 8290e80b91..eabbaa1aa5 100644
--- a/tools/vty_index.cocci
+++ b/tools/vty_index.cocci
@@ -141,7 +141,7 @@ fn << rule11.fn;
@@
print "R11 removing vty-index argument on %s(...)" % (fn)
-#/* find type of the argument - note args are mostly unnamed in Quagga :( */
+#/* find type of the argument - note args are mostly unnamed in FRR :( */
@ rule12 @
identifier rule11.fn;
identifier T, argname;
diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c
index f02bd0c888..80200d9c58 100644
--- a/vtysh/vtysh.c
+++ b/vtysh/vtysh.c
@@ -291,6 +291,7 @@ vtysh_execute_func (const char *line, int pager)
* Changing vty->node is enough to try it just out without actual walkup in
* the vtysh. */
while (ret != CMD_SUCCESS && ret != CMD_SUCCESS_DAEMON && ret != CMD_WARNING
+ && ret != CMD_WARNING_CONFIG_FAILED
&& vty->node > CONFIG_NODE)
{
vty->node = node_parent(vty->node);
@@ -350,6 +351,7 @@ vtysh_execute_func (const char *line, int pager)
switch (ret)
{
case CMD_WARNING:
+ case CMD_WARNING_CONFIG_FAILED:
if (vty->type == VTY_FILE)
fprintf (stdout,"Warning...\n");
break;
@@ -553,6 +555,7 @@ vtysh_mark_file (const char *filename)
* Changing vty->node is enough to try it just out without actual walkup in
* the vtysh. */
while (ret != CMD_SUCCESS && ret != CMD_SUCCESS_DAEMON && ret != CMD_WARNING
+ && ret != CMD_WARNING_CONFIG_FAILED
&& vty->node > CONFIG_NODE)
{
vty->node = node_parent(vty->node);
@@ -594,12 +597,13 @@ vtysh_mark_file (const char *filename)
switch (ret)
{
case CMD_WARNING:
+ case CMD_WARNING_CONFIG_FAILED:
if (vty->type == VTY_FILE)
fprintf (stderr,"line %d: Warning...: %s\n", lineno, vty->buf);
fclose(confp);
vty_close(vty);
XFREE(MTYPE_VTYSH_CMD, vty_buf_copy);
- return CMD_WARNING;
+ return ret;
case CMD_ERR_AMBIGUOUS:
fprintf (stderr,"line %d: %% Ambiguous command: %s\n", lineno, vty->buf);
fclose(confp);
@@ -674,9 +678,10 @@ vtysh_config_from_file (struct vty *vty, FILE *fp)
switch (ret)
{
case CMD_WARNING:
+ case CMD_WARNING_CONFIG_FAILED:
if (vty->type == VTY_FILE)
fprintf (stderr,"line %d: Warning[%d]...: %s\n", lineno, vty->node, vty->buf);
- retcode = CMD_WARNING; /* once we have an error, we remember & return that */
+ retcode = ret; /* once we have an error, we remember & return that */
break;
case CMD_ERR_AMBIGUOUS:
fprintf (stderr,"line %d: %% Ambiguous command[%d]: %s\n", lineno, vty->node, vty->buf);
@@ -771,7 +776,7 @@ vtysh_rl_describe (void)
rl_on_new_line ();
return 0;
break;
- }
+ }
/* Get width of command string. */
width = 0;
@@ -808,15 +813,14 @@ vtysh_rl_describe (void)
if (vector_active (varcomps) > 0)
{
- fprintf(stdout, " ");
- for (size_t j = 0; j < vector_active (varcomps); j++)
- {
- char *item = vector_slot (varcomps, j);
- fprintf (stdout, " %s", item);
- XFREE (MTYPE_COMPLETION, item);
- }
- vty_out (vty, VTYNL);
+ int rows, cols;
+ rl_get_screen_size(&rows, &cols);
+
+ char *ac = cmd_variable_comp2str(varcomps, cols, "\n");
+ fprintf(stdout, "%s\n", ac);
+ XFREE(MTYPE_TMP, ac);
}
+
vector_free (varcomps);
}
}
@@ -2445,20 +2449,10 @@ DEFUNSH (VTYSH_ALL,
DEFUNSH (VTYSH_ALL,
vtysh_config_password,
vtysh_password_cmd,
- "password [(8-8)] WORD",
+ "password [(8-8)] LINE",
"Assign the terminal connection password\n"
"Specifies a HIDDEN password will follow\n"
- "The HIDDEN line password string\n")
-{
- return CMD_SUCCESS;
-}
-
-DEFUNSH (VTYSH_ALL,
- vtysh_password_text,
- vtysh_password_text_cmd,
- "password LINE",
- "Assign the terminal connection password\n"
- "The UNENCRYPTED (cleartext) line password\n")
+ "The password string\n")
{
return CMD_SUCCESS;
}
@@ -2466,22 +2460,11 @@ DEFUNSH (VTYSH_ALL,
DEFUNSH (VTYSH_ALL,
vtysh_config_enable_password,
vtysh_enable_password_cmd,
- "enable password (8-8) WORD",
+ "enable password [(8-8)] LINE",
"Modify enable password parameters\n"
"Assign the privileged level password\n"
"Specifies a HIDDEN password will follow\n"
- "The HIDDEN 'enable' password string\n")
-{
- return CMD_SUCCESS;
-}
-
-DEFUNSH (VTYSH_ALL,
- vtysh_enable_password_text,
- vtysh_enable_password_text_cmd,
- "enable password LINE",
- "Modify enable password parameters\n"
- "Assign the privileged level password\n"
- "The UNENCRYPTED (cleartext) 'enable' password\n")
+ "The 'enable' password string\n")
{
return CMD_SUCCESS;
}
@@ -2633,7 +2616,7 @@ vtysh_write_config_integrated(void)
{
fprintf (stdout,"%% Error: failed to open configuration file %s: %s\n",
quagga_config, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
fd = fileno (fp);
@@ -2735,7 +2718,7 @@ DEFUN (vtysh_write_memory,
/* If integrated frr.conf explicitely set. */
if (want_config_integrated())
{
- ret = CMD_WARNING;
+ ret = CMD_WARNING_CONFIG_FAILED;
for (i = 0; i < array_size(vtysh_client); i++)
if (vtysh_client[i].flag == VTYSH_WATCHFRR)
break;
@@ -3037,7 +3020,7 @@ vtysh_connect (struct vtysh_client *vclient)
{
fprintf (stderr, "vtysh_connect(%s): stat = %s\n",
path, safe_strerror(errno));
- exit(1);
+ exit (1);
}
if (ret >= 0)
@@ -3630,8 +3613,6 @@ vtysh_init_vty (void)
install_element (CONFIG_NODE, &no_vtysh_service_password_encrypt_cmd);
install_element (CONFIG_NODE, &vtysh_password_cmd);
- install_element (CONFIG_NODE, &vtysh_password_text_cmd);
install_element (CONFIG_NODE, &vtysh_enable_password_cmd);
- install_element (CONFIG_NODE, &vtysh_enable_password_text_cmd);
install_element (CONFIG_NODE, &no_vtysh_enable_password_cmd);
}
diff --git a/watchfrr/watchfrr.c b/watchfrr/watchfrr.c
index 3ff4a40965..53d58668d0 100644
--- a/watchfrr/watchfrr.c
+++ b/watchfrr/watchfrr.c
@@ -1294,7 +1294,7 @@ int main(int argc, char **argv)
if (watchfrr_di.daemon_mode) {
zlog_set_level(ZLOG_DEST_SYSLOG, MIN(gs.loglevel, LOG_DEBUG));
if (daemon (0, 0) < 0) {
- fprintf(stderr, "Watchquagga daemon failed: %s",
+ fprintf(stderr, "Watchfrr daemon failed: %s",
strerror(errno));
exit (1);
}
diff --git a/zebra/Makefile.am b/zebra/Makefile.am
index 541496174a..f70d603d3d 100644
--- a/zebra/Makefile.am
+++ b/zebra/Makefile.am
@@ -85,7 +85,7 @@ EXTRA_DIST = if_ioctl.c if_ioctl_solaris.c if_netlink.c \
client : client_main.o ../lib/libfrr.la
$(CC) -g -o client client_main.o ../liblzebra.la $(LIBS) $(LIB_IPV6)
-quaggaconfdir = $(sysconfdir)
+frrconfdir = $(sysconfdir)
examplesdir = $(exampledir)
dist_examples_DATA = zebra.conf.sample
diff --git a/zebra/debug.c b/zebra/debug.c
index ba2a9ad2a3..b570854641 100644
--- a/zebra/debug.c
+++ b/zebra/debug.c
@@ -96,7 +96,7 @@ DEFUN (debug_zebra_events,
"Debug option set for zebra events\n")
{
zebra_debug_event = ZEBRA_DEBUG_EVENT;
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (debug_zebra_nht,
@@ -107,7 +107,7 @@ DEFUN (debug_zebra_nht,
"Debug option set for zebra next hop tracking\n")
{
zebra_debug_nht = ZEBRA_DEBUG_NHT;
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (debug_zebra_mpls,
@@ -118,7 +118,7 @@ DEFUN (debug_zebra_mpls,
"Debug option set for zebra MPLS LSPs\n")
{
zebra_debug_mpls = ZEBRA_DEBUG_MPLS;
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (debug_zebra_packet,
diff --git a/zebra/interface.c b/zebra/interface.c
index b8426c6890..e3e2e2c675 100644
--- a/zebra/interface.c
+++ b/zebra/interface.c
@@ -1481,7 +1481,7 @@ DEFUN (multicast,
if (ret < 0)
{
vty_outln (vty, "Can't set multicast flag");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if_refresh (ifp);
}
@@ -1507,7 +1507,7 @@ DEFUN (no_multicast,
if (ret < 0)
{
vty_outln (vty, "Can't unset multicast flag");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if_refresh (ifp);
}
@@ -1573,7 +1573,7 @@ DEFUN (shutdown_if,
if (ret < 0)
{
vty_outln (vty, "Can't shutdown interface");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if_refresh (ifp);
}
@@ -1599,7 +1599,7 @@ DEFUN (no_shutdown_if,
if (ret < 0)
{
vty_outln (vty, "Can't up interface");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if_refresh (ifp);
@@ -1631,7 +1631,7 @@ DEFUN (bandwidth_if,
if (bandwidth < 1 || bandwidth > 100000)
{
vty_outln (vty, "Bandwidth is invalid");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ifp->bandwidth = bandwidth;
@@ -1755,7 +1755,7 @@ DEFUN (link_params_enable,
if (IS_ZEBRA_DEBUG_EVENT)
zlog_debug ("Link-params: failed to init TE link parameters %s", ifp->name);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* force protocols to update LINK STATE due to parameters change */
@@ -1833,7 +1833,7 @@ DEFUN (link_params_maxbw,
if (sscanf (argv[idx_bandwidth]->arg, "%g", &bw) != 1)
{
vty_outln (vty, "link_params_maxbw: fscanf: %s",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check that Maximum bandwidth is not lower than other bandwidth parameters */
@@ -1852,7 +1852,7 @@ DEFUN (link_params_maxbw,
{
vty_outln (vty,
"Maximum Bandwidth could not be lower than others bandwidth");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update Maximum Bandwidth if needed */
@@ -1876,7 +1876,7 @@ DEFUN (link_params_max_rsv_bw,
{
vty_outln (vty, "link_params_max_rsv_bw: fscanf: %s",
safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check that bandwidth is not greater than maximum bandwidth parameter */
@@ -1885,7 +1885,7 @@ DEFUN (link_params_max_rsv_bw,
vty_outln (vty,
"Maximum Reservable Bandwidth could not be greater than Maximum Bandwidth (%g)",
iflp->max_bw);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update Maximum Reservable Bandwidth if needed */
@@ -1913,14 +1913,14 @@ DEFUN (link_params_unrsv_bw,
{
vty_outln (vty, "link_params_unrsv_bw: fscanf: %s",
safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (sscanf (argv[idx_bandwidth]->arg, "%g", &bw) != 1)
{
vty_outln (vty, "link_params_unrsv_bw: fscanf: %s",
safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check that bandwidth is not greater than maximum bandwidth parameter */
@@ -1929,7 +1929,7 @@ DEFUN (link_params_unrsv_bw,
vty_outln (vty,
"UnReserved Bandwidth could not be greater than Maximum Bandwidth (%g)",
iflp->max_bw);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update Unreserved Bandwidth if needed */
@@ -1953,7 +1953,7 @@ DEFUN (link_params_admin_grp,
{
vty_outln (vty, "link_params_admin_grp: fscanf: %s",
safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update Administrative Group if needed */
@@ -1996,7 +1996,7 @@ DEFUN (link_params_inter_as,
if (!inet_aton (argv[idx_ipv4]->arg, &addr))
{
vty_outln (vty, "Please specify Router-Addr by A.B.C.D");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
as = strtoul(argv[idx_number]->arg, NULL, 10);
@@ -2071,7 +2071,7 @@ DEFUN (link_params_delay,
{
vty_outln (vty, "Average delay should be comprise between Min (%d) and Max (%d) delay",
iflp->min_delay, iflp->max_delay);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update delay if value is not set or change */
if (IS_PARAM_UNSET(iflp, LP_DELAY)|| iflp->av_delay != delay)
@@ -2096,7 +2096,7 @@ DEFUN (link_params_delay,
{
vty_outln (vty, "Average delay should be comprise between Min (%d) and Max (%d) delay",
low, high);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update Delays if needed */
if (IS_PARAM_UNSET(iflp, LP_DELAY)
@@ -2192,7 +2192,7 @@ DEFUN (link_params_pkt_loss,
{
vty_outln (vty, "link_params_pkt_loss: fscanf: %s",
safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (fval > MAX_PKT_LOSS)
@@ -2232,7 +2232,7 @@ DEFUN (link_params_res_bw,
if (sscanf (argv[idx_bandwidth]->arg, "%g", &bw) != 1)
{
vty_outln (vty, "link_params_res_bw: fscanf: %s",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check that bandwidth is not greater than maximum bandwidth parameter */
@@ -2241,7 +2241,7 @@ DEFUN (link_params_res_bw,
vty_outln (vty,
"Residual Bandwidth could not be greater than Maximum Bandwidth (%g)",
iflp->max_bw);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update Residual Bandwidth if needed */
@@ -2278,7 +2278,7 @@ DEFUN (link_params_ava_bw,
if (sscanf (argv[idx_bandwidth]->arg, "%g", &bw) != 1)
{
vty_outln (vty, "link_params_ava_bw: fscanf: %s",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check that bandwidth is not greater than maximum bandwidth parameter */
@@ -2287,7 +2287,7 @@ DEFUN (link_params_ava_bw,
vty_outln (vty,
"Available Bandwidth could not be greater than Maximum Bandwidth (%g)",
iflp->max_bw);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update Residual Bandwidth if needed */
@@ -2324,7 +2324,7 @@ DEFUN (link_params_use_bw,
if (sscanf (argv[idx_bandwidth]->arg, "%g", &bw) != 1)
{
vty_outln (vty, "link_params_use_bw: fscanf: %s",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check that bandwidth is not greater than maximum bandwidth parameter */
@@ -2333,7 +2333,7 @@ DEFUN (link_params_use_bw,
vty_outln (vty,
"Utilised Bandwidth could not be greater than Maximum Bandwidth (%g)",
iflp->max_bw);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update Utilized Bandwidth if needed */
@@ -2373,13 +2373,13 @@ ip_address_install (struct vty *vty, struct interface *ifp,
if (ret <= 0)
{
vty_outln (vty, "%% Malformed address ");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ipv4_martian(&cp.prefix))
{
vty_outln (vty, "%% Invalid address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ifc = connected_check (ifp, (struct prefix *) &cp);
@@ -2431,7 +2431,7 @@ ip_address_install (struct vty *vty, struct interface *ifp,
{
vty_outln (vty, "%% Can't set interface IP address: %s.",
safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
SET_FLAG (ifc->conf, ZEBRA_IFC_QUEUED);
@@ -2457,7 +2457,7 @@ ip_address_uninstall (struct vty *vty, struct interface *ifp,
if (ret <= 0)
{
vty_outln (vty, "%% Malformed address ");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check current interface address. */
@@ -2465,12 +2465,12 @@ ip_address_uninstall (struct vty *vty, struct interface *ifp,
if (! ifc)
{
vty_outln (vty, "%% Can't find address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* This is not configured address. */
if (! CHECK_FLAG (ifc->conf, ZEBRA_IFC_CONFIGURED))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
UNSET_FLAG (ifc->conf, ZEBRA_IFC_CONFIGURED);
@@ -2480,7 +2480,7 @@ ip_address_uninstall (struct vty *vty, struct interface *ifp,
{
listnode_delete (ifp->connected, ifc);
connected_free (ifc);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* This is real route. */
@@ -2489,7 +2489,7 @@ ip_address_uninstall (struct vty *vty, struct interface *ifp,
{
vty_outln (vty, "%% Can't unset interface IP address: %s.",
safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
UNSET_FLAG (ifc->conf, ZEBRA_IFC_QUEUED);
/* we will receive a kernel notification about this route being removed.
@@ -2573,13 +2573,13 @@ ipv6_address_install (struct vty *vty, struct interface *ifp,
if (ret <= 0)
{
vty_outln (vty, "%% Malformed address ");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ipv6_martian(&cp.prefix))
{
vty_outln (vty, "%% Invalid address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ifc = connected_check (ifp, (struct prefix *) &cp);
@@ -2627,7 +2627,7 @@ ipv6_address_install (struct vty *vty, struct interface *ifp,
{
vty_outln (vty, "%% Can't set interface IP address: %s.",
safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
SET_FLAG (ifc->conf, ZEBRA_IFC_QUEUED);
@@ -2666,7 +2666,7 @@ ipv6_address_uninstall (struct vty *vty, struct interface *ifp,
if (ret <= 0)
{
vty_outln (vty, "%% Malformed address ");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check current interface address. */
@@ -2674,12 +2674,12 @@ ipv6_address_uninstall (struct vty *vty, struct interface *ifp,
if (! ifc)
{
vty_outln (vty, "%% Can't find address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* This is not configured address. */
if (! CHECK_FLAG (ifc->conf, ZEBRA_IFC_CONFIGURED))
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
UNSET_FLAG (ifc->conf, ZEBRA_IFC_CONFIGURED);
@@ -2689,7 +2689,7 @@ ipv6_address_uninstall (struct vty *vty, struct interface *ifp,
{
listnode_delete (ifp->connected, ifc);
connected_free (ifc);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* This is real route. */
@@ -2698,7 +2698,7 @@ ipv6_address_uninstall (struct vty *vty, struct interface *ifp,
{
vty_outln (vty, "%% Can't unset interface IP address: %s.",
safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
UNSET_FLAG (ifc->conf, ZEBRA_IFC_QUEUED);
diff --git a/zebra/irdp_interface.c b/zebra/irdp_interface.c
index ca932ac43c..5fce704aff 100644
--- a/zebra/irdp_interface.c
+++ b/zebra/irdp_interface.c
@@ -480,7 +480,7 @@ DEFUN (ip_irdp_minadvertinterval,
else {
vty_outln (vty, "%% MinAdvertInterval must be less than or equal to "
"MaxAdvertInterval");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -507,7 +507,7 @@ DEFUN (ip_irdp_maxadvertinterval,
else {
vty_outln (vty, "%% MaxAdvertInterval must be greater than or equal to "
"MinAdvertInterval");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -561,7 +561,7 @@ DEFUN (ip_irdp_address_preference,
irdp=&zi->irdp;
ret = inet_aton(argv[idx_ipv4]->arg, &ip);
- if(!ret) return CMD_WARNING;
+ if(!ret) return CMD_WARNING_CONFIG_FAILED;
pref = atoi(argv[idx_number]->arg);
@@ -603,7 +603,7 @@ DEFUN (no_ip_irdp_address_preference,
ret = inet_aton(argv[idx_ipv4]->arg, &ip);
if (!ret)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
for (ALL_LIST_ELEMENTS (irdp->AdvPrefList, node, nnode, adv))
{
diff --git a/zebra/router-id.c b/zebra/router-id.c
index 07caef7abe..164c79b359 100644
--- a/zebra/router-id.c
+++ b/zebra/router-id.c
@@ -226,7 +226,7 @@ DEFUN (router_id,
rid.u.prefix4.s_addr = inet_addr (argv[idx_ipv4]->arg);
if (!rid.u.prefix4.s_addr)
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
rid.prefixlen = 32;
rid.family = AF_INET;
diff --git a/zebra/rtadv.c b/zebra/rtadv.c
index 677189751d..a15a736db8 100644
--- a/zebra/rtadv.c
+++ b/zebra/rtadv.c
@@ -879,7 +879,7 @@ DEFUN (ipv6_nd_suppress_ra,
{
vty_outln (vty,
"Cannot configure IPv6 Router Advertisements on this interface");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ipv6_nd_suppress_ra_set (ifp, RA_SUPPRESS);
@@ -903,7 +903,7 @@ DEFUN (no_ipv6_nd_suppress_ra,
{
vty_outln (vty,
"Cannot configure IPv6 Router Advertisements on this interface");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ipv6_nd_suppress_ra_set (ifp, RA_ENABLE);
@@ -933,7 +933,7 @@ DEFUN (ipv6_nd_ra_interval_msec,
{
vty_outln (vty,
"This ra-interval would conflict with configured ra-lifetime!");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (zif->rtadv.MaxRtrAdvInterval % 1000)
@@ -970,7 +970,7 @@ DEFUN (ipv6_nd_ra_interval,
{
vty_outln (vty,
"This ra-interval would conflict with configured ra-lifetime!");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (zif->rtadv.MaxRtrAdvInterval % 1000)
@@ -1038,7 +1038,7 @@ DEFUN (ipv6_nd_ra_lifetime,
{
vty_outln (vty,
"This ra-lifetime would conflict with configured ra-interval");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
zif->rtadv.AdvDefaultLifetime = lifetime;
@@ -1334,7 +1334,7 @@ DEFUN (ipv6_nd_prefix,
if (!ret)
{
vty_outln (vty, "Malformed IPv6 prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask_ipv6 (&rp.prefix); /* RFC4861 4.6.2 */
rp.AdvOnLinkFlag = !offlink;
@@ -1350,7 +1350,7 @@ DEFUN (ipv6_nd_prefix,
if (rp.AdvPreferredLifetime > rp.AdvValidLifetime)
{
vty_outln (vty, "Invalid preferred lifetime");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -1387,7 +1387,7 @@ DEFUN (no_ipv6_nd_prefix,
if (!ret)
{
vty_outln (vty, "Malformed IPv6 prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask_ipv6 (&rp.prefix); /* RFC4861 4.6.2 */
@@ -1395,7 +1395,7 @@ DEFUN (no_ipv6_nd_prefix,
if (!ret)
{
vty_outln (vty, "Non-existant IPv6 prefix");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
diff --git a/zebra/zebra_mpls_vty.c b/zebra/zebra_mpls_vty.c
index 6c2dbca3a2..a7031f6929 100644
--- a/zebra/zebra_mpls_vty.c
+++ b/zebra/zebra_mpls_vty.c
@@ -54,20 +54,20 @@ zebra_mpls_transit_lsp (struct vty *vty, int add_cmd, const char *inlabel_str,
if (!mpls_enabled)
{
vty_outln (vty,"%% MPLS not turned on in kernel, ignoring command");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
zvrf = vrf_info_lookup(VRF_DEFAULT);
if (!zvrf)
{
vty_outln (vty, "%% Default VRF does not exist");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!inlabel_str)
{
vty_outln (vty, "%% No Label Information");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
out_label = MPLS_IMP_NULL_LABEL; /* as initialization */
@@ -75,7 +75,7 @@ zebra_mpls_transit_lsp (struct vty *vty, int add_cmd, const char *inlabel_str,
if (!IS_MPLS_UNRESERVED_LABEL(label))
{
vty_outln (vty, "%% Invalid label");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (add_cmd)
@@ -83,12 +83,12 @@ zebra_mpls_transit_lsp (struct vty *vty, int add_cmd, const char *inlabel_str,
if (!gate_str)
{
vty_outln (vty, "%% No Nexthop Information");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!outlabel_str)
{
vty_outln (vty, "%% No Outgoing label Information");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -109,7 +109,7 @@ zebra_mpls_transit_lsp (struct vty *vty, int add_cmd, const char *inlabel_str,
else
{
vty_outln (vty, "%% Invalid nexthop");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
}
@@ -134,7 +134,7 @@ zebra_mpls_transit_lsp (struct vty *vty, int add_cmd, const char *inlabel_str,
&gate, 0))
{
vty_outln (vty,"%% Label value not consistent");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
#endif /* HAVE_CUMULUS */
@@ -148,7 +148,7 @@ zebra_mpls_transit_lsp (struct vty *vty, int add_cmd, const char *inlabel_str,
{
vty_outln (vty, "%% LSP cannot be %s",
add_cmd ? "added" : "deleted");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -219,7 +219,7 @@ zebra_mpls_bind (struct vty *vty, int add_cmd, const char *prefix,
if (!zvrf)
{
vty_outln (vty, "%% Default VRF does not exist");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
memset(&p, 0, sizeof(struct prefix));
@@ -227,7 +227,7 @@ zebra_mpls_bind (struct vty *vty, int add_cmd, const char *prefix,
if (ret <= 0)
{
vty_outln (vty, "%% Malformed address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (add_cmd)
@@ -235,7 +235,7 @@ zebra_mpls_bind (struct vty *vty, int add_cmd, const char *prefix,
if (!label_str)
{
vty_outln (vty, "%% No label binding specified");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!strcmp(label_str, "implicit-null"))
@@ -253,12 +253,12 @@ zebra_mpls_bind (struct vty *vty, int add_cmd, const char *prefix,
if (!IS_MPLS_UNRESERVED_LABEL(label))
{
vty_outln (vty, "%% Invalid label");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (zebra_mpls_label_already_bound (zvrf, label))
{
vty_outln (vty,"%% Label already bound to a FEC");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -271,7 +271,7 @@ zebra_mpls_bind (struct vty *vty, int add_cmd, const char *prefix,
{
vty_outln (vty, "%% FEC to label binding cannot be %s",
add_cmd ? "added" : "deleted");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -943,7 +943,7 @@ zebra_mpls_global_block (struct vty *vty, int add_cmd,
if (!zvrf)
{
vty_outln (vty, "%% Default VRF does not exist");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (add_cmd)
@@ -951,7 +951,7 @@ zebra_mpls_global_block (struct vty *vty, int add_cmd,
if (!start_label_str || !end_label_str)
{
vty_outln (vty, "%% Labels not specified");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
start_label = atoi(start_label_str);
@@ -960,12 +960,12 @@ zebra_mpls_global_block (struct vty *vty, int add_cmd,
!IS_MPLS_UNRESERVED_LABEL(end_label))
{
vty_outln (vty, "%% Invalid label");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (end_label < start_label)
{
vty_outln (vty,"%% End label is less than Start label");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = zebra_mpls_label_block_add (zvrf, start_label, end_label);
@@ -977,7 +977,7 @@ zebra_mpls_global_block (struct vty *vty, int add_cmd,
{
vty_outln (vty, "%% Global label block could not be %s",
add_cmd ? "added" : "deleted");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
diff --git a/zebra/zebra_routemap.c b/zebra/zebra_routemap.c
index c4f417d883..9b4b52427e 100644
--- a/zebra/zebra_routemap.c
+++ b/zebra/zebra_routemap.c
@@ -74,10 +74,10 @@ zebra_route_match_add(struct vty *vty,
{
case RMAP_RULE_MISSING:
vty_outln (vty, "%% Zebra Can't find rule.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
vty_outln (vty, "%% Zebra Argument is malformed.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -122,10 +122,10 @@ zebra_route_match_delete (struct vty *vty,
{
case RMAP_RULE_MISSING:
vty_outln (vty, "%% Zebra Can't find rule.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
vty_outln (vty, "%% Zebra Argument is malformed.");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -303,7 +303,7 @@ DEFUN (match_source_protocol,
if (i < 0)
{
vty_outln (vty, "invalid protocol name \"%s\"", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return zebra_route_match_add (vty, "source-protocol", proto, RMAP_EVENT_MATCH_ADDED);
}
@@ -351,7 +351,7 @@ DEFUN (set_src,
if (inet_pton(AF_INET6, argv[idx_ip]->arg, &src.ipv6) != 1)
{
vty_outln (vty, "%% not a valid IPv4/v6 address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
p.family = family = AF_INET6;
@@ -368,7 +368,7 @@ DEFUN (set_src,
if (!zebra_check_addr(&p))
{
vty_outln (vty, "%% not a valid source IPv4/v6 address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
RB_FOREACH (vrf, vrf_id_head, &vrfs_by_id)
@@ -387,7 +387,7 @@ DEFUN (set_src,
if (!pif)
{
vty_outln (vty, "%% not a local address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
VTY_DECLVAR_CONTEXT (route_map_index, index);
@@ -460,7 +460,7 @@ DEFUN (ip_protocol,
if (i < 0)
{
vty_outln (vty, "invalid protocol name \"%s\"", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (proto_rm[AFI_IP][i])
{
@@ -501,7 +501,7 @@ DEFUN (no_ip_protocol,
if (i < 0)
{
vty_outln (vty, "invalid protocol name \"%s\"", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!proto_rm[AFI_IP][i])
@@ -567,7 +567,7 @@ DEFUN (ipv6_protocol,
if (i < 0)
{
vty_outln (vty, "invalid protocol name \"%s\"", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (proto_rm[AFI_IP6][i])
{
@@ -607,7 +607,7 @@ DEFUN (no_ipv6_protocol,
if (i < 0)
{
vty_outln (vty, "invalid protocol name \"%s\"", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!proto_rm[AFI_IP6][i])
return CMD_SUCCESS;
@@ -673,7 +673,7 @@ DEFUN (ip_protocol_nht_rmap,
if (i < 0)
{
vty_outln (vty, "invalid protocol name \"%s\"", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (nht_rm[AFI_IP][i])
{
@@ -708,7 +708,7 @@ DEFUN (no_ip_protocol_nht_rmap,
if (i < 0)
{
vty_outln (vty, "invalid protocol name \"%s\"", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!nht_rm[AFI_IP][i])
@@ -771,7 +771,7 @@ DEFUN (ipv6_protocol_nht_rmap,
if (i < 0)
{
vty_outln (vty, "invalid protocol name \"%s\"", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (nht_rm[AFI_IP6][i])
XFREE (MTYPE_ROUTE_MAP_NAME, nht_rm[AFI_IP6][i]);
@@ -802,13 +802,13 @@ DEFUN (no_ipv6_protocol_nht_rmap,
if (i < 0)
{
vty_outln (vty, "invalid protocol name \"%s\"", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (nht_rm[AFI_IP6][i] && rmap && strcmp(rmap, nht_rm[AFI_IP6][i]))
{
vty_outln (vty, "invalid route-map \"%s\"", rmap);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (nht_rm[AFI_IP6][i])
diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c
index 6ba4c1b9d5..1b39383082 100644
--- a/zebra/zebra_vty.c
+++ b/zebra/zebra_vty.c
@@ -80,7 +80,7 @@ zebra_static_ipv4 (struct vty *vty, safi_t safi, int add_cmd,
if (ret <= 0)
{
vty_outln (vty, "%% Malformed address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Cisco like mask notation. */
@@ -90,7 +90,7 @@ zebra_static_ipv4 (struct vty *vty, safi_t safi, int add_cmd,
if (ret == 0)
{
vty_outln (vty, "%% Malformed address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
p.prefixlen = ip_masklen (mask);
}
@@ -114,7 +114,7 @@ zebra_static_ipv4 (struct vty *vty, safi_t safi, int add_cmd,
if (!zvrf)
{
vty_outln (vty, "%% vrf %s is not defined", vrf_id_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Labels */
@@ -124,7 +124,7 @@ zebra_static_ipv4 (struct vty *vty, safi_t safi, int add_cmd,
{
vty_outln (vty,
"%% MPLS not turned on in kernel, ignoring command");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
int rc = mpls_str2label (label_str, &snh_label.num_labels,
snh_label.label);
@@ -143,7 +143,7 @@ zebra_static_ipv4 (struct vty *vty, safi_t safi, int add_cmd,
MPLS_MAX_LABELS);
break;
}
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -153,7 +153,7 @@ zebra_static_ipv4 (struct vty *vty, safi_t safi, int add_cmd,
if (flag_str)
{
vty_outln (vty, "%% can not have flag %s with Null0", flag_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (add_cmd)
static_add_route (AFI_IP, safi, type, &p, NULL, NULL, ifindex, ifname,
@@ -177,7 +177,7 @@ zebra_static_ipv4 (struct vty *vty, safi_t safi, int add_cmd,
break;
default:
vty_outln (vty, "%% Malformed flag %s ", flag_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -287,7 +287,7 @@ DEFUN (ip_multicast_mode,
else
{
vty_outln (vty, "Invalid mode specified");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -1993,7 +1993,7 @@ static_ipv6_func (struct vty *vty, int add_cmd, const char *dest_str,
if (ret <= 0)
{
vty_outln (vty, "%% Malformed address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (src_str)
@@ -2002,7 +2002,7 @@ static_ipv6_func (struct vty *vty, int add_cmd, const char *dest_str,
if (ret <= 0 || src.family != AF_INET6)
{
vty_outln (vty, "%% Malformed source address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
src_p = (struct prefix_ipv6*)&src;
}
@@ -2030,7 +2030,7 @@ static_ipv6_func (struct vty *vty, int add_cmd, const char *dest_str,
if (!zvrf)
{
vty_outln (vty, "%% vrf %s is not defined", vrf_id_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Labels */
@@ -2041,7 +2041,7 @@ static_ipv6_func (struct vty *vty, int add_cmd, const char *dest_str,
{
vty_outln (vty,
"%% MPLS not turned on in kernel, ignoring command");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
int rc = mpls_str2label (label_str, &snh_label.num_labels,
snh_label.label);
@@ -2060,7 +2060,7 @@ static_ipv6_func (struct vty *vty, int add_cmd, const char *dest_str,
MPLS_MAX_LABELS);
break;
}
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -2070,7 +2070,7 @@ static_ipv6_func (struct vty *vty, int add_cmd, const char *dest_str,
if (flag_str)
{
vty_outln (vty, "%% can not have flag %s with Null0", flag_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (add_cmd)
static_add_route (AFI_IP6, SAFI_UNICAST, type, &p, src_p, NULL, ifindex, ifname,
@@ -2094,7 +2094,7 @@ static_ipv6_func (struct vty *vty, int add_cmd, const char *dest_str,
break;
default:
vty_outln (vty, "%% Malformed flag %s ", flag_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
@@ -2105,7 +2105,7 @@ static_ipv6_func (struct vty *vty, int add_cmd, const char *dest_str,
if (ret != 1)
{
vty_outln (vty, "%% Malformed address");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
type = STATIC_IPV6_GATEWAY_IFINDEX;
gate = &gate_addr;
@@ -2113,7 +2113,7 @@ static_ipv6_func (struct vty *vty, int add_cmd, const char *dest_str,
if (!ifp)
{
vty_outln (vty, "%% Malformed Interface name %s", ifname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ifindex = ifp->ifindex;
}
diff --git a/zebra/zserv.c b/zebra/zserv.c
index 3da94459f7..17ec7dd884 100644
--- a/zebra/zserv.c
+++ b/zebra/zserv.c
@@ -2812,7 +2812,7 @@ DEFUN (ip_forwarding,
if (ret == 0)
{
vty_outln (vty, "Can't turn on IP forwarding");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -2834,7 +2834,7 @@ DEFUN (no_ip_forwarding,
if (ret != 0)
{
vty_outln (vty, "Can't turn off IP forwarding");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -2985,7 +2985,7 @@ DEFUN (ipv6_forwarding,
if (ret == 0)
{
vty_outln (vty, "Can't turn on IPv6 forwarding");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
@@ -3007,7 +3007,7 @@ DEFUN (no_ipv6_forwarding,
if (ret != 0)
{
vty_outln (vty, "Can't turn off IPv6 forwarding");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;