Lots of conflicts from CMD_WARNING_CONFIG_FAILED...
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
ret = babel_enable_if_add (argv[1]->arg);
if (ret < 0) {
- vty_outln (vty, "There is same network configuration %s",
+ vty_out (vty, "There is same network configuration %s\n",
argv[1]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
ret = babel_enable_if_delete (argv[2]->arg);
if (ret < 0) {
- vty_outln (vty, "can't find network %s",argv[2]->arg);
+ vty_out (vty, "can't find network %s\n",argv[2]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
type = babel_proto_redistnum(argv[1]->arg);
if (type < 0) {
- vty_outln (vty, "Invalid type %s", argv[1]->arg);
+ vty_out (vty, "Invalid type %s\n", argv[1]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
zclient_redistribute (ZEBRA_REDISTRIBUTE_ADD, zclient, AFI_IP, type, 0, VRF_DEFAULT);
type = babel_proto_redistnum(argv[2]->arg);
if (type < 0) {
- vty_outln (vty, "Invalid type %s", argv[2]->arg);
+ vty_out (vty, "Invalid type %s\n", argv[2]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
zclient_redistribute (ZEBRA_REDISTRIBUTE_DELETE, zclient, AFI_IP, type, 0, VRF_DEFAULT);
}
}
- vty_outln (vty, "Invalid type %s", argv[2]->arg);
+ vty_out (vty, "Invalid type %s\n", argv[2]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* [Babel Command] */
}
}
- vty_outln (vty, "Invalid type %s", argv[3]->arg);
+ vty_out (vty, "Invalid type %s\n", argv[3]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
#endif /* NO_DEBUG */
if (!ret)
{
prefix_free(argv_p);
- vty_outln (vty, "%% Malformed Prefix");
+ vty_out (vty, "%% Malformed Prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp_debug_bestpath_prefixes && !list_isempty(bgp_debug_bestpath_prefixes))
if (!ret)
{
prefix_free(argv_p);
- vty_outln (vty, "%% Malformed Prefix");
+ vty_out (vty, "%% Malformed Prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!ret)
{
prefix_free(argv_p);
- vty_outln (vty, "%% Malformed Prefix");
+ vty_out (vty, "%% Malformed Prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp_debug_update_prefixes && !list_isempty(bgp_debug_update_prefixes))
if (!ret)
{
prefix_free(argv_p);
- vty_outln (vty, "%% Malformed Prefix");
+ vty_out (vty, "%% Malformed Prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!bgp_debug_zebra_prefixes)
if (!ret)
{
prefix_free(argv_p);
- vty_outln (vty, "%% Malformed Prefix");
+ vty_out (vty, "%% Malformed Prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp_debug_zebra_prefixes && !list_isempty(bgp_debug_zebra_prefixes))
interval = bgp_dump_parse_time (interval_str);
if (interval == 0)
{
- vty_outln (vty, "Malformed interval string");
+ vty_out (vty, "Malformed interval string\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Setting interval string */
regex = bgp_regcomp (regstr);
if (!regex)
{
- vty_outln (vty, "can't compile regexp %s", regstr);
+ vty_out (vty, "can't compile regexp %s\n", regstr);
XFREE (MTYPE_TMP, regstr);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
asfilter = as_filter_make (regex, regstr, type);
aslist = as_list_lookup (aslistname);
if (aslist == NULL)
{
- vty_outln (vty, "ip as-path access-list %s doesn't exist",aslistname);
+ vty_out (vty, "ip as-path access-list %s doesn't exist\n",aslistname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check the filter type. */
type = AS_FILTER_DENY;
else
{
- vty_outln (vty, "filter type must be [permit|deny]");
+ vty_out (vty, "filter type must be [permit|deny]\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Compile AS path. */
regex = bgp_regcomp (regstr);
if (!regex)
{
- vty_outln (vty, "can't compile regexp %s", regstr);
+ vty_out (vty, "can't compile regexp %s\n", regstr);
XFREE (MTYPE_TMP, regstr);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Lookup asfilter. */
if (asfilter == NULL)
{
- vty_outln (vty, "ip as-path access-list doesn't exist");
+ vty_out (vty, "\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
as_list_filter_delete (aslist, asfilter);
aslist = as_list_lookup (argv[idx_word]->arg);
if (aslist == NULL)
{
- vty_outln (vty, "ip as-path access-list %s doesn't exist",
+ vty_out (vty, "ip as-path access-list %s doesn't exist\n",
argv[idx_word]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
as_list_delete (aslist);
ret = str2prefix (ip_str, &p);
if (! ret)
{
- vty_outln (vty, "%% Malformed prefix");
+ vty_out (vty, "%% Malformed prefix\n");
- 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)");
+ vty_out (vty,"%% Malformed prefix (link-local address)\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask (&p);
/* Label index cannot be changed. */
if (bgp_static->label_index != label_index)
{
- vty_outln (vty, "%% Label index cannot be changed");
+ vty_out (vty, "%% Label index cannot be changed\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check previous routes are installed into BGP. */
ret = str2prefix (ip_str, &p);
if (! ret)
{
- vty_outln (vty, "%% Malformed prefix");
+ vty_out (vty, "%% Malformed prefix\n");
- 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)");
+ vty_out (vty,"%% Malformed prefix (link-local address)\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask (&p);
rn = bgp_node_lookup (bgp->route[afi][safi], &p);
if (! rn)
{
- vty_outln (vty,"%% Can't find specified static route configuration.");
+ vty_out (vty,"%% Can't find specified static route configuration.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
bgp_static = rn->info;
ret = str2prefix (ip_str, &p);
if (! ret)
{
- vty_outln (vty, "%% Malformed prefix");
+ vty_out (vty, "%% Malformed prefix\n");
- 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");
+ vty_out (vty, "%% L2VPN prefix could not be forged\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = str2prefix_rd (rd_str, &prd);
if (! ret)
{
- vty_outln (vty, "%% Malformed rd");
+ vty_out (vty, "%% Malformed rd\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (label_str)
{
if( esi && str2esi (esi, NULL) == 0)
{
- vty_outln (vty, "%% Malformed ESI");
+ vty_out (vty, "%% Malformed ESI\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if( routermac && prefix_str2mac (routermac, NULL) == 0)
{
- vty_outln (vty, "%% Malformed Router MAC");
+ vty_out (vty, "%% Malformed Router MAC\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (gwip)
{
ret = str2prefix (gwip, &gw_ip);
if (! ret)
{
- vty_outln (vty, "%% Malformed GatewayIp");
+ vty_out (vty, "%% Malformed GatewayIp\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if((gw_ip.family == AF_INET &&
IS_EVPN_PREFIX_IPADDR_V6((struct prefix_evpn *)&p)) ||
(gw_ip.family == AF_INET6 &&
IS_EVPN_PREFIX_IPADDR_V4((struct prefix_evpn *)&p)))
{
- vty_outln (vty, "%% GatewayIp family differs with IP prefix");
+ vty_out (vty, "%% GatewayIp family differs with IP prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
}
ret = str2prefix (ip_str, &p);
if (! ret)
{
- vty_outln (vty, "%% Malformed prefix");
+ vty_out (vty, "%% Malformed prefix\n");
- 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");
+ vty_out (vty, "%% L2VPN prefix could not be forged\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = str2prefix_rd (rd_str, &prd);
if (! ret)
{
- vty_outln (vty, "%% Malformed rd");
+ vty_out (vty, "%% Malformed rd\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (label_str)
ret = netmask_str2prefix_str (argv[idx_ipv4]->arg, argv[idx_ipv4_2]->arg, prefix_str);
if (! ret)
{
- vty_outln (vty, "%% Inconsistent address and mask");
+ vty_out (vty, "%% Inconsistent address and mask\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_static_set (vty, prefix_str,
ret = netmask_str2prefix_str (argv[idx_ipv4]->arg, argv[idx_ipv4_2]->arg, prefix_str);
if (! ret)
{
- vty_outln (vty, "%% Inconsistent address and mask");
+ vty_out (vty, "%% Inconsistent address and mask\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_static_set (vty, prefix_str,
ret = netmask_str2prefix_str (argv[idx_ipv4]->arg, argv[idx_ipv4_2]->arg, prefix_str);
if (! ret)
{
- vty_outln (vty, "%% Inconsistent address and mask");
+ vty_out (vty, "%% Inconsistent address and mask\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_static_set (vty, prefix_str, AFI_IP, SAFI_UNICAST,
ret = netmask_str2prefix_str (argv[idx_ipv4]->arg, NULL, prefix_str);
if (! ret)
{
- vty_outln (vty, "%% Inconsistent address and mask");
+ vty_out (vty, "%% Inconsistent address and mask\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_static_set (vty, prefix_str,
ret = netmask_str2prefix_str (argv[idx_ipv4]->arg, NULL, prefix_str);
if (! ret)
{
- vty_outln (vty, "%% Inconsistent address and mask");
+ vty_out (vty, "%% Inconsistent address and mask\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_static_set (vty, prefix_str,
ret = netmask_str2prefix_str (argv[idx_ipv4]->arg, NULL, prefix_str);
if (! ret)
{
- vty_outln (vty, "%% Inconsistent address and mask");
+ vty_out (vty, "%% Inconsistent address and mask\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_static_set (vty, prefix_str, AFI_IP, SAFI_UNICAST,
ret = netmask_str2prefix_str (argv[idx_ipv4]->arg, argv[idx_ipv4_2]->arg, prefix_str);
if (! ret)
{
- vty_outln (vty, "%% Inconsistent address and mask");
+ vty_out (vty, "%% Inconsistent address and mask\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_static_unset (vty, prefix_str, AFI_IP,
ret = netmask_str2prefix_str (argv[idx_ipv4]->arg, NULL, prefix_str);
if (! ret)
{
- vty_outln (vty, "%% Inconsistent address and mask");
+ vty_out (vty, "%% Inconsistent address and mask\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_static_unset (vty, prefix_str, AFI_IP,
ret = str2prefix (prefix_str, &p);
if (!ret)
{
- vty_outln (vty, "Malformed prefix");
+ vty_out (vty, "Malformed prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask (&p);
rn = bgp_node_lookup (bgp->aggregate[afi][safi], &p);
if (! rn)
{
- vty_outln (vty,"%% There is no aggregate-address configuration.");
+ vty_out (vty,"%% There is no aggregate-address configuration.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
aggregate = rn->info;
ret = str2prefix (prefix_str, &p);
if (!ret)
{
- vty_outln (vty, "Malformed prefix");
+ vty_out (vty, "Malformed prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask (&p);
ret = bgp_aggregate_unset (vty, prefix_str, afi, safi);
if (ret)
{
- vty_outln (vty, "Error deleting aggregate.");
+ vty_out (vty, "Error deleting aggregate.\n");
bgp_unlock_node (rn);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
if (! ret)
{
- vty_outln (vty, "%% Inconsistent address and mask");
+ vty_out (vty, "%% Inconsistent address and mask\n");
- 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);
if (! ret)
{
- vty_outln (vty, "%% Inconsistent address and mask");
+ vty_out (vty, "%% Inconsistent address and mask\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_aggregate_unset (vty, prefix_str, AFI_IP, bgp_node_safi (vty));
ret = str2prefix (ip_str, &p);
if (ret == 0)
{
- vty_outln (vty, "Malformed prefix");
+ vty_out (vty, "Malformed prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
distance = atoi (distance_str);
ret = str2prefix (ip_str, &p);
if (ret == 0)
{
- vty_outln (vty, "Malformed prefix");
+ vty_out (vty, "Malformed prefix\n");
- 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");
+ vty_out (vty, "Can't find specified prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
bdistance = rn->info;
if (bdistance->distance != distance)
{
- vty_outln (vty, "Distance does not match configured");
+ vty_out (vty, "Distance does not match configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bdistance->access_list)
switch (ret)
{
case RMAP_RULE_MISSING:
- vty_outln (vty, "%% BGP Can't find rule.");
+ vty_out (vty, "%% BGP Can't find rule.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
- vty_outln (vty, "%% BGP Argument is malformed.");
+ vty_out (vty, "%% BGP Argument is malformed.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
/* Can't compile user input into communities attribute. */
if (! com)
{
- vty_outln (vty, "%% Malformed communities attribute");
+ vty_out (vty, "%% Malformed communities attribute\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Set communites attribute string. */
ret = inet_aton (argv[idx_ipv4]->arg, &address);
if (ret == 0)
{
- vty_outln (vty, "Aggregator IP address is invalid");
+ vty_out (vty, "Aggregator IP address is invalid\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
argstr = XMALLOC (MTYPE_ROUTE_MAP_COMPILED,
ret = inet_aton (argv[idx_ip]->arg, &address);
if (ret == 0)
{
- vty_outln (vty, "Aggregator IP address is invalid");
+ vty_out (vty, "Aggregator IP address is invalid\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
argstr = XMALLOC (MTYPE_ROUTE_MAP_COMPILED,
ret = inet_pton (AF_INET6, argv[idx_ipv6]->arg, &addr);
if (!ret)
{
- vty_outln (vty, "%% Malformed nexthop address");
+ vty_out (vty, "%% Malformed nexthop address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (IN6_IS_ADDR_UNSPECIFIED(&addr) ||
IN6_IS_ADDR_LOOPBACK(&addr) ||
IN6_IS_ADDR_MULTICAST(&addr) ||
IN6_IS_ADDR_LINKLOCAL(&addr))
{
- vty_outln (vty, "%% Invalid global nexthop address");
+ vty_out (vty, "%% Invalid global nexthop address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return generic_set_add (vty, VTY_GET_CONTEXT(route_map_index),
}
if (str)
{
- vty_out (vty, "%% %s%s", str, VTYNL);
+ vty_out (vty, "%% %s\n", str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
ret = bgp_option_unset (BGP_OPT_MULTIPLE_INSTANCE);
if (ret < 0)
{
- vty_out (vty, "%% There are more than two BGP instances%s", VTYNL);
+ vty_out (vty, "%% There are more than two BGP instances\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
if (bgp == NULL)
{
- vty_out (vty, "%% No BGP process is configured%s", VTYNL);
+ vty_out (vty, "%% No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (listcount(bm->bgp) > 1)
{
- vty_out (vty, "%% Multiple BGP processes are configured%s", VTYNL);
+ vty_out (vty, "%% Multiple BGP processes are configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
switch (ret)
{
case BGP_ERR_MULTIPLE_INSTANCE_NOT_SET:
- vty_out (vty, "Please specify 'bgp multiple-instance' first%s",
- VTYNL);
+ vty_out (vty, "Please specify 'bgp multiple-instance' first\n");
- 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);
+ vty_out (vty, "BGP is already running; AS is %u\n", as);
- 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);
+ vty_out (vty, "BGP instance name and AS number mismatch\n");
+ vty_out (vty, "BGP instance is already running; AS is %u\n",
+ as);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Pending: handle when user tries to change a view to vrf n vv. */
if (bgp == NULL)
{
- vty_out (vty, "%% No BGP process is configured%s", VTYNL);
+ vty_out (vty, "%% No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (listcount(bm->bgp) > 1)
{
- vty_out (vty, "%% Multiple BGP processes are configured%s", VTYNL);
+ vty_out (vty, "%% Multiple BGP processes are configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
else
bgp = bgp_lookup (as, name);
if (! bgp)
{
- vty_out (vty, "%% Can't find BGP instance%s", VTYNL);
+ vty_out (vty, "%% Can't find BGP instance\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
{
if (! IPV4_ADDR_SAME (&bgp->router_id_static, &router_id))
{
- vty_outln (vty, "%% BGP router-id doesn't match");
+ vty_out (vty, "%% BGP router-id doesn't match\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
ret = inet_aton (argv[idx_ipv4]->arg, &cluster);
if (! ret)
{
- vty_out (vty, "%% Malformed bgp cluster identifier%s", VTYNL);
+ vty_out (vty, "%% Malformed bgp cluster identifier\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
bgp_cluster_id_set (bgp, &cluster);
if (ret < 0)
{
vty_out (vty,
- "%% Failed to %sset maximum-paths %s %u for afi %u, safi %u%s",
+ "%% Failed to %sset maximum-paths %s %u for afi %u, safi %u\n",
(set == 1) ? "" : "un",
(peer_type == BGP_PEER_EBGP) ? "ebgp" : "ibgp",
- maxpaths, afi, safi, VTYNL);
+ maxpaths, afi, safi);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
bgp_recalculate_all_bestpaths (bgp);
establish_wait = atoi (wait);
if (update_delay < establish_wait)
{
- vty_out (vty, "%%Failed: update-delay less than the establish-wait!%s",
- VTYNL);
+ vty_out (vty, "%%Failed: update-delay less than the establish-wait!\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
bgp->v_update_delay = update_delay;
/* Holdtime value check. */
if (holdtime < 3 && holdtime != 0)
{
- vty_out (vty, "%% hold time value must be either 0 or greater than 3%s",
- VTYNL);
+ vty_out (vty, "%% hold time value must be either 0 or greater than 3\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
bgp_timers_set (bgp, keepalive, holdtime);
if (bestpath_per_as_used)
{
- vty_out (vty, "bgp deterministic-med cannot be disabled while addpath-tx-bestpath-per-AS is in use%s",
- VTYNL);
+ vty_out (vty, "bgp deterministic-med cannot be disabled while addpath-tx-bestpath-per-AS is in use\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
else
{
ret = str2prefix (prefix, &range);
if (! ret)
{
- vty_out (vty, "%% Malformed listen range%s", VTYNL);
+ vty_out (vty, "%% Malformed listen range\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
afi = family2afi(range.family);
if (afi == AFI_IP6 && IN6_IS_ADDR_LINKLOCAL (&range.u.prefix6))
{
- vty_out (vty, "%% Malformed listen range (link-local address)%s",
- VTYNL);
+ vty_out (vty, "%% Malformed listen range (link-local address)\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask (&range);
return CMD_SUCCESS;
else
{
- vty_out (vty, "%% Same listen range is attached to peer-group %s%s",
- existing_group->name, VTYNL);
+ vty_out (vty, "%% Same listen range is attached to peer-group %s\n",
+ existing_group->name);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
/* Check if an overlapping listen range exists. */
if (listen_range_exists (bgp, &range, 0))
{
- vty_out (vty, "%% Listen range overlaps with existing listen range%s",
- VTYNL);
+ vty_out (vty, "%% Listen range overlaps with existing listen range\n");
- 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);
+ vty_out (vty, "%% Configure the peer-group first\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = peer_group_listen_range_add(group, &range);
ret = str2prefix (prefix, &range);
if (! ret)
{
- vty_out (vty, "%% Malformed listen range%s", VTYNL);
+ vty_out (vty, "%% Malformed listen range\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
afi = family2afi(range.family);
if (afi == AFI_IP6 && IN6_IS_ADDR_LINKLOCAL (&range.u.prefix6))
{
- vty_out (vty, "%% Malformed listen range (link-local address)%s",
- VTYNL);
+ vty_out (vty, "%% Malformed listen range (link-local address)\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask (&range);
group = peer_group_lookup (bgp, peergroup);
if (! group)
{
- vty_out (vty, "%% Peer-group does not exist%s", VTYNL);
+ vty_out (vty, "%% Peer-group does not exist\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = peer_group_listen_range_del(group, &range);
ret = peer_group_remote_as (bgp, peer_str, &as, as_type);
if (ret < 0)
{
- vty_out (vty, "%% Create the peer-group or interface first%s",
- VTYNL);
+ vty_out (vty, "%% Create the peer-group or interface first\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
{
if (peer_address_self_check (bgp, &su))
{
- vty_out (vty, "%% Can not configure the local system as neighbor%s",
- VTYNL);
+ vty_out (vty, "%% Can not configure the local system as neighbor\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = peer_remote_as (bgp, &su, NULL, &as, as_type, afi, safi);
}
switch (ret)
{
case BGP_ERR_PEER_GROUP_MEMBER:
- vty_out (vty, "%% Peer-group AS %u. Cannot configure remote-as for member%s", as, VTYNL);
+ vty_out (vty, "%% Peer-group AS %u. Cannot configure remote-as for member\n", as);
- 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);
+ vty_out (vty, "%% The AS# can not be changed from %u to %s, peer-group members must be all internal or all external\n", as, as_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_vty_return (vty, ret);
}
if (group)
{
- vty_out (vty, "%% Name conflict with peer-group %s", VTYNL);
+ vty_out (vty, "%% Name conflict with peer-group \n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (as_str)
group = peer_group_lookup (bgp, peer_group_name);
if (! group)
{
- vty_out (vty, "%% Configure the peer-group first%s", VTYNL);
+ vty_out (vty, "%% Configure the peer-group first\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = peer_group_bind (bgp, &su, peer, group, &as);
peer = peer_lookup_by_conf_if (bgp, argv[idx_word]->arg);
if (peer)
{
- vty_out (vty, "%% Name conflict with interface: %s", VTYNL);
+ vty_out (vty, "%% Name conflict with interface: \n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
group = peer_group_get (bgp, argv[idx_word]->arg);
peer_group_delete (group);
else
{
- vty_out (vty, "%% Create the peer-group first%s", VTYNL);
+ vty_out (vty, "%% Create the peer-group first\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
else
{
if (peer_dynamic_neighbor (peer))
{
- vty_out (vty, "%% Operation not allowed on a dynamic neighbor%s",
- VTYNL);
+ vty_out (vty, "%% Operation not allowed on a dynamic neighbor\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
other = peer->doppelganger;
}
else
{
- vty_out (vty, "%% Create the bgp interface first%s", VTYNL);
+ vty_out (vty, "%% Create the bgp interface first\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
peer_group_delete (group);
else
{
- vty_out (vty, "%% Create the peer-group first%s", VTYNL);
+ vty_out (vty, "%% Create the peer-group first\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
peer_group_remote_as_delete (group);
else
{
- vty_out (vty, "%% Create the peer-group or interface first%s", VTYNL);
+ vty_out (vty, "%% Create the peer-group or interface first\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
peer = peer_lookup_by_conf_if (bgp, argv[idx_peer]->arg);
if (!peer)
{
- vty_out (vty, "%% Malformed address or name: %s%s", argv[idx_peer]->arg, VTYNL);
+ vty_out (vty, "%% Malformed address or name: %s\n", argv[idx_peer]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
else
{
if (peer_address_self_check (bgp, &su))
{
- vty_out (vty, "%% Can not configure the local system as neighbor%s",
- VTYNL);
+ vty_out (vty, "%% Can not configure the local system as neighbor\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Disallow for dynamic neighbor. */
peer = peer_lookup (bgp, &su);
if (peer && peer_dynamic_neighbor (peer))
{
- vty_out (vty, "%% Operation not allowed on a dynamic neighbor%s",
- VTYNL);
+ vty_out (vty, "%% Operation not allowed on a dynamic neighbor\n");
- 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);
+ vty_out (vty, "%% Configure the peer-group first\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = peer_group_bind (bgp, &su, peer, group, &as);
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);
+ vty_out (vty, "%% Peer with AS %u cannot be in this peer-group, members must be all internal or all external\n", as);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_vty_return (vty, ret);
group = peer_group_lookup (bgp, argv[idx_word]->arg);
if (! group)
{
- vty_out (vty, "%% Configure the peer-group first%s", VTYNL);
+ vty_out (vty, "%% Configure the peer-group first\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = peer_group_unbind (bgp, peer, group);
*/
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);
+ "connected-check\n", ip_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!set && flag == PEER_FLAG_SHUTDOWN)
{
if (str2prefix (source_str, &p))
{
- vty_out (vty, "%% Invalid update-source, remove prefix length %s",
- VTYNL);
+ vty_out (vty, "%% Invalid update-source, remove prefix length \n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
else
peer_update_source_if_set (peer, source_str);
* we should not accept a ttl-security hops value greater than 1.
*/
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);
+ vty_out (vty, "%s is directly connected peer, hops cannot exceed 1\n",
+ argv[idx_peer]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_vty_return (vty, peer_ttl_security_hops_set (peer, gtsm_hops));
type = proto_redistnum (AFI_IP, argv[idx_protocol]->text);
if (type < 0)
{
- vty_out (vty, "%% Invalid route type%s", VTYNL);
+ vty_out (vty, "%% Invalid route type\n");
- 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);
type = proto_redistnum (AFI_IP, argv[idx_protocol]->text);
if (type < 0)
{
- vty_out (vty, "%% Invalid route type%s", VTYNL);
+ vty_out (vty, "%% Invalid route type\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
red = bgp_redist_add(bgp, AFI_IP, type, 0);
type = proto_redistnum (AFI_IP, argv[idx_protocol]->text);
if (type < 0)
{
- vty_out (vty, "%% Invalid route type%s", VTYNL);
+ vty_out (vty, "%% Invalid route type\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
metric = strtoul(argv[idx_number]->arg, NULL, 10);
type = proto_redistnum (AFI_IP, argv[idx_protocol]->text);
if (type < 0)
{
- vty_out (vty, "%% Invalid route type%s", VTYNL);
+ vty_out (vty, "%% Invalid route type\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
metric = strtoul(argv[idx_number]->arg, NULL, 10);
type = proto_redistnum (AFI_IP, argv[idx_protocol]->text);
if (type < 0)
{
- vty_out (vty, "%% Invalid route type%s", VTYNL);
+ vty_out (vty, "%% Invalid route type\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
metric = strtoul(argv[idx_number]->arg, NULL, 10);
type = proto_redistnum (AFI_IP, argv[idx_protocol]->text);
if (type < 0)
{
- vty_out (vty, "%% Invalid route type%s", VTYNL);
+ vty_out (vty, "%% Invalid route type\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_redistribute_unset (bgp, AFI_IP, type, 0);
}
type = proto_redistnum (AFI_IP6, argv[idx_protocol]->text);
if (type < 0)
{
- vty_out (vty, "%% Invalid route type%s", VTYNL);
+ vty_out (vty, "%% Invalid route type\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
bgp_redist_add(bgp, AFI_IP6, type, 0);
type = proto_redistnum (AFI_IP6, argv[idx_protocol]->text);
if (type < 0)
{
- vty_out (vty, "%% Invalid route type%s", VTYNL);
+ vty_out (vty, "%% Invalid route type\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
red = bgp_redist_add(bgp, AFI_IP6, type, 0);
type = proto_redistnum (AFI_IP6, argv[idx_protocol]->text);
if (type < 0)
{
- vty_out (vty, "%% Invalid route type%s", VTYNL);
+ vty_out (vty, "%% Invalid route type\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
metric = strtoul(argv[idx_number]->arg, NULL, 10);
type = proto_redistnum (AFI_IP6, argv[idx_protocol]->text);
if (type < 0)
{
- vty_out (vty, "%% Invalid route type%s", VTYNL);
+ vty_out (vty, "%% Invalid route type\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
metric = strtoul(argv[idx_number]->arg, NULL, 10);
type = proto_redistnum (AFI_IP6, argv[idx_protocol]->text);
if (type < 0)
{
- vty_out (vty, "%% Invalid route type%s", VTYNL);
+ vty_out (vty, "%% Invalid route type\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
metric = strtoul(argv[idx_number]->arg, NULL, 10);
type = proto_redistnum (AFI_IP6, argv[idx_protocol]->text);
if (type < 0)
{
- vty_out (vty, "%% Invalid route type%s", VTYNL);
+ vty_out (vty, "%% Invalid route type\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_redistribute_unset (bgp, AFI_IP6, type, 0);
cl_name = argv[idx]->arg;
if (reject_all_digit_name && all_digit (cl_name))
{
- vty_out (vty, "%% Community name cannot have all digits%s", VTYNL);
+ vty_out (vty, "%% Community name cannot have all digits\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
idx = 0;
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "VNC not configured");
+ vty_out (vty, "VNC not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ecomadd = ecommunity_str2com (argv[0]->arg, ECOMMUNITY_ROUTE_TARGET, 0);
if (!ecomadd)
{
- vty_outln (vty, "Malformed community-list value");
+ vty_out (vty, "Malformed community-list value\n");
if (ecom)
ecommunity_free (&ecom);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ecom)
if (!argv[1]->arg[8] || *end)
{
- vty_outln (vty, "%% Malformed rd");
+ vty_out (vty, "%% Malformed rd\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (value32 > 0xffff)
{
- vty_outln (vty, "%% Malformed rd (must be less than %u",
+ vty_out (vty, "%% Malformed rd (must be less than %u\n",
0x0ffff);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
memset (&prd, 0, sizeof (prd));
ret = str2prefix_rd (argv[1]->arg, &prd);
if (!ret)
{
- vty_outln (vty, "%% Malformed rd");
+ vty_out (vty, "%% Malformed rd\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
value = value_l & 0xff;
if (!argv[1]->arg[0] || *end)
{
- vty_outln (vty, "%% Malformed l2 nve ID \"%s\"",argv[1]->arg);
+ vty_out (vty, "%% Malformed l2 nve ID \"%s\"\n",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",
+ vty_out (vty,
+ "%% Malformed l2 nve id (must be greater than 0 and less than %u\n",
0x100);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
bgp->rfapi_cfg->flags |= BGP_VNC_CONFIG_L2RD;
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "RFAPI not configured");
+ vty_out (vty, "RFAPI not configured\n");
- 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");
+ vty_out (vty, "%% Malformed value\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (localadmin > 0xffff)
{
- vty_outln (vty, "%% Value out of range (0-%d)", 0xffff);
+ vty_out (vty, "%% Value out of range (0-%d)\n", 0xffff);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp->rfapi_cfg->resolve_nve_roo_local_admin == localadmin)
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "RFAPI not configured");
+ vty_out (vty, "RFAPI not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
break;
default:
- vty_outln (vty, "unknown redistribute mode");
+ vty_out (vty, "unknown redistribute mode\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (newmode != bgp->rfapi_cfg->redist_mode)
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "RFAPI not configured");
+ vty_out (vty, "RFAPI not configured\n");
- 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");
+ vty_out (vty, "%% Invalid route type\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (type == ZEBRA_ROUTE_BGP_DIRECT_EXT)
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "RFAPI not configured");
+ vty_out (vty, "RFAPI not configured\n");
- 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");
+ vty_out (vty, "%% Invalid route type\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
VNC_REDIST_DISABLE (bgp, afi, type);
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "RFAPI not configured");
+ vty_out (vty, "RFAPI not configured\n");
- 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");
+ vty_out (vty, "%% Invalid route type\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp->rfapi_cfg->redist_bgp_exterior_view_name)
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
vnc_redistribute_prechange (bgp);
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
vnc_redistribute_prechange (bgp);
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
vnc_redistribute_prechange (bgp);
if (!(hc = bgp->rfapi_cfg))
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[3]->text, "bgp-direct"))
if (!(hc = bgp->rfapi_cfg))
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[2]->text, "bgp-direct"))
if (!(hc = bgp->rfapi_cfg))
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[3]->text, "bgp-direct"))
if (!(hc = bgp->rfapi_cfg))
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[2]->text, "bgp-direct"))
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[3]->text, "ipv4"))
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[2]->text, "ipv4"))
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
vnc_redistribute_prechange (bgp);
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
vnc_redistribute_prechange (bgp);
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "VNC not configured");
+ vty_out (vty, "VNC not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv[2]->arg[0] == 'b')
newmode = BGP_VNC_CONFIG_EXPORT_BGP_MODE_RH;
break;
default:
- vty_outln (vty, "Invalid mode specified");
+ vty_out (vty, "Invalid mode specified\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (newmode == oldmode)
/*
* export to zebra with RH mode is not yet implemented
*/
- vty_outln (vty,"Changing modes for zebra export not implemented yet");
+ vty_out (vty,"Changing modes for zebra export not implemented yet\n");
- 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;
}
break;
default:
- vty_outln (vty, "Invalid mode");
+ vty_out (vty, "Invalid mode\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfg_new = bgp_rfapi_cfg_match_byname (bgp, argv[5]->arg, RFAPI_GROUP_CFG_NVE);
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv[2]->arg[0] == 'b')
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[3]->text, "ipv4"))
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[2]->text, "ipv4"))
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv[2]->arg[0] == 'b')
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv[1]->arg[0] == 'b')
if (!(hc = bgp->rfapi_cfg))
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[4]->text, "ipv4"))
if (!(hc = bgp->rfapi_cfg))
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[3]->text, "ipv4"))
if (!(hc = bgp->rfapi_cfg))
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv[3]->arg[0] == 'b')
if (!(hc = bgp->rfapi_cfg))
{
- vty_outln (vty, "rfapi not configured");
+ vty_out (vty, "rfapi not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv[2]->arg[0] == 'b')
if (!rfg)
{
/* Error out of memory */
- vty_out (vty, "Can't allocate memory for NVE group%s", VTYNL);
+ vty_out (vty, "Can't allocate memory for NVE group\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Copy defaults from struct rfapi_cfg */
if (!rfg)
{
if (vty)
- vty_outln (vty, "No NVE group named \"%s\"",rfg_name);
+ vty_out (vty, "No NVE group named \"%s\"\n",rfg_name);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!str2prefix (argv[2]->arg, &p))
{
- vty_outln (vty, "Malformed prefix \"%s\"", argv[2]->arg);
+ vty_out (vty, "Malformed prefix \"%s\"\n", argv[2]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
afi = family2afi (p.family);
if (!afi)
{
- vty_outln (vty, "Unsupported address family");
+ vty_out (vty, "Unsupported address family\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv[1]->arg[0] == 'u')
/*
* different group name: fail
*/
- vty_outln (vty, "nve group \"%s\" already has \"%s\" prefix %s",
+ vty_out (vty, "nve group \"%s\" already has \"%s\" prefix %s\n",
((struct rfapi_nve_group_cfg *) (rn->info))->name,
argv[1]->arg, argv[2]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
else
{
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rc = set_ecom_list (vty, argc - 2, argv + 2, &rfg->rt_import_list);
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp->rfapi_cfg->rfg_redist == rfg)
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rc = set_ecom_list (vty, argc - 2, argv + 2, &rfg->rt_import_list);
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[1]->text, "auto:vn"))
if (!argv[1]->arg[0] || *end)
{
- vty_outln (vty, "%% Malformed l2 nve ID \"%s\"",argv[1]->arg);
+ vty_out (vty, "%% Malformed l2 nve ID \"%s\"\n",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",
+ vty_out (vty,
+ "%% Malformed l2 nve id (must be greater than 0 and less than %u\n",
0x100);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfg->l2rd = value;
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfg->l2rd = 0;
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!strncmp (argv[1]->arg, "auto:vn:", 8))
if (!argv[1]->arg[8] || *end)
{
- vty_outln (vty, "%% Malformed rd");
+ vty_out (vty, "%% Malformed rd\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (value32 > 0xffff)
{
- vty_outln (vty, "%% Malformed rd (must be less than %u",
+ vty_out (vty, "%% Malformed rd (must be less than %u\n",
0x0ffff);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
memset (&prd, 0, sizeof (prd));
ret = str2prefix_rd (argv[1]->arg, &prd);
if (!ret)
{
- vty_outln (vty, "%% Malformed rd");
+ vty_out (vty, "%% Malformed rd\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[1]->text, "infinite"))
if (!bgp)
{
- vty_out (vty, "No BGP process is configured%s", VTYNL);
+ vty_out (vty, "No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Search for name */
if (!rfg)
{
/* Error out of memory */
- vty_out (vty, "Can't allocate memory for NVE group%s", VTYNL);
+ vty_out (vty, "Can't allocate memory for NVE group\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
/*
if (!bgp)
{
- vty_outln (vty, "No BGP process is configured");
+ vty_out (vty, "No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_rfapi_delete_named_nve_group (vty, bgp, argv[2]->arg, RFAPI_GROUP_CFG_VRF);
}
if (!bgp)
{
- vty_outln (vty, "No BGP process is configured");
+ vty_out (vty, "No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
label = strtoul(argv[1]->arg, NULL, 10);
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current VRF group no longer exists");
+ vty_out (vty, "Current VRF group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp->rfapi_cfg->rfg_redist == rfg)
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current VRF no longer exists");
+ vty_out (vty, "Current VRF no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp->rfapi_cfg->rfg_redist == rfg)
if (!bgp)
{
- vty_outln (vty, "No BGP process is configured");
+ vty_out (vty, "No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rc = set_ecom_list (vty, argc-2, argv+2, &rfg->rt_import_list);
if (!bgp)
{
- vty_outln (vty, "No BGP process is configured");
+ vty_out (vty, "No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (bgp->rfapi_cfg->rfg_redist == rfg)
if (!bgp)
{
- vty_outln (vty, "No BGP process is configured");
+ vty_out (vty, "No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rc = set_ecom_list (vty, argc-2, argv+2, &rfg->rt_import_list);
if (!bgp)
{
- vty_outln (vty, "No BGP process is configured");
+ vty_out (vty, "No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->nve_groups_sequential, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current NVE group no longer exists");
+ vty_out (vty, "Current NVE group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!strncmp (argv[1]->arg, "auto:nh:", 8))
if (!*(argv[1]->arg + 5) || *end)
{
- vty_outln (vty, "%% Malformed rd");
+ vty_out (vty, "%% Malformed rd\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (value32 > 0xffff)
{
- vty_outln (vty, "%% Malformed rd (must be less than %u",
+ vty_out (vty, "%% Malformed rd (must be less than %u\n",
0x0ffff);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
memset (&prd, 0, sizeof (prd));
ret = str2prefix_rd (argv[1]->arg, &prd);
if (!ret)
{
- vty_outln (vty, "%% Malformed rd");
+ vty_out (vty, "%% Malformed rd\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
if (!bgp)
{
- vty_out (vty, "No BGP process is configured%s", VTYNL);
+ vty_out (vty, "No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Search for name */
if (!rfg)
{
/* Error out of memory */
- vty_out (vty, "Can't allocate memory for L2 group%s", VTYNL);
+ vty_out (vty, "Can't allocate memory for L2 group\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfg->name = strdup (argv[1]->arg);
/* add to tail of list */
if (!rfg)
{
if (vty)
- vty_outln (vty, "No L2 group named \"%s\"",rfg_name);
+ vty_out (vty, "No L2 group named \"%s\"\n",rfg_name);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
if (!bgp)
{
- vty_outln (vty, "No BGP process is configured");
+ vty_out (vty, "No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return bgp_rfapi_delete_named_l2_group (vty, bgp, argv[3]->arg);
}
if (!bgp)
{
- vty_outln (vty, "No BGP process is configured");
+ vty_out (vty, "No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->l2_groups, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current L2 group no longer exists");
+ vty_out (vty, "Current L2 group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfg->logical_net_id = strtoul(argv[1]->arg, NULL, 10);
if (!bgp)
{
- vty_outln (vty, "No BGP process is configured");
+ vty_out (vty, "No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->l2_groups, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current L2 group no longer exists");
+ vty_out (vty, "Current L2 group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ll = rfg->labels;
if (!bgp)
{
- vty_outln (vty, "No BGP process is configured");
+ vty_out (vty, "No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->l2_groups, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current L2 group no longer exists");
+ vty_out (vty, "Current L2 group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ll = rfg->labels;
if (ll == NULL)
{
- vty_outln (vty, "Label no longer associated with group");
+ vty_out (vty, "Label no longer associated with group\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
argc-=2;
}
if (!bgp)
{
- vty_outln (vty, "No BGP process is configured");
+ vty_out (vty, "No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make sure it's still in list */
if (!listnode_lookup (bgp->rfapi_cfg->l2_groups, rfg))
{
/* Not in list anymore */
- vty_outln (vty, "Current L2 group no longer exists");
+ vty_out (vty, "Current L2 group no longer exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (do_import)
if (!str2prefix (argv[5]->arg, &pfx))
{
- vty_outln (vty, "Malformed address \"%s\"", argv[5]->arg);
+ vty_out (vty, "Malformed address \"%s\"\n", 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);
+ vty_out (vty, "Invalid address \"%s\"\n", argv[5]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv[4]->arg[0] == 'u')
if (rfapi_find_handle_vty (vty, &vn, &un, &handle))
{
- vty_outln (vty, "can't locate handle matching vn=%s, un=%s",
+ vty_out (vty, "can't locate handle matching vn=%s, un=%s\n",
argv[4]->arg, argv[6]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rc = rfapi_close (handle);
if (*endptr != '\0' || (uintptr_t) handle == UINTPTR_MAX)
{
- vty_outln (vty, "Invalid value: %s", argv[4]->arg);
+ vty_out (vty, "Invalid value: %s\n", argv[4]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rc = rfapi_close (handle);
if (rfapi_find_handle_vty (vty, &vn, &un, &handle))
{
- vty_outln (vty, "can't locate handle matching vn=%s, un=%s",
+ vty_out (vty, "can't locate handle matching vn=%s, un=%s\n",
argv[4]->arg, argv[6]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*
*/
if (!str2prefix (argv[8]->arg, &pfx))
{
- vty_outln (vty, "Malformed prefix \"%s\"", argv[8]->arg);
+ vty_out (vty, "Malformed prefix \"%s\"\n", 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);
+ vty_out (vty, "Bad family for prefix \"%s\"\n", argv[8]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfapiQprefix2Rprefix (&pfx, &hpfx);
if (rfapi_find_handle_vty (vty, &vn, &un, &handle))
{
- vty_outln (vty, "can't locate handle matching vn=%s, un=%s",
+ vty_out (vty, "can't locate handle matching vn=%s, un=%s\n",
argv[4]->arg, argv[6]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*
*/
if (!str2prefix (argv[8]->arg, &pfx))
{
- vty_outln (vty, "Malformed prefix \"%s\"", argv[8]->arg);
+ vty_out (vty, "Malformed prefix \"%s\"\n", 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);
+ vty_out (vty, "Bad family for prefix \"%s\"\n", argv[8]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfapiQprefix2Rprefix (&pfx, &hpfx);
optary[opt_next].v.l2addr.logical_net_id = strtoul(argv[14]->arg, NULL, 10);
if ((rc = rfapiStr2EthAddr (argv[12]->arg, &optary[opt_next].v.l2addr.macaddr)))
{
- vty_outln (vty, "Bad mac address \"%s\"", argv[12]->arg);
+ vty_out (vty, "Bad mac address \"%s\"\n", argv[12]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
optary[opt_next].type = RFAPI_VN_OPTION_TYPE_L2ADDR;
if (opt_next)
if (rfapi_find_handle_vty (vty, &vn, &un, &handle))
{
- vty_outln (vty, "can't locate handle matching vn=%s, un=%s",
+ vty_out (vty, "can't locate handle matching vn=%s, un=%s\n",
argv[4]->arg, argv[6]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*
*/
if (!str2prefix (argv[8]->arg, &pfx))
{
- vty_outln (vty, "Malformed prefix \"%s\"", argv[8]->arg);
+ vty_out (vty, "Malformed prefix \"%s\"\n", 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);
+ vty_out (vty, "Bad family for prefix \"%s\"\n", argv[8]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfapiQprefix2Rprefix (&pfx, &hpfx);
if (rfapi_find_handle_vty (vty, &vn, &un, &handle))
{
- vty_outln (vty, "can't locate handle matching vn=%s, un=%s",
+ vty_out (vty, "can't locate handle matching vn=%s, un=%s\n",
argv[4]->arg, argv[6]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*
if ((rc = rfapiCliGetRfapiIpAddr (vty, argv[2], &target)))
return rc;
#else
- vty_outln (vty, "%% This command is broken.");
+ vty_out (vty, "%% This command is broken.\n");
- 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",
+ vty_out (vty, "can't locate handle matching vn=%s, un=%s\n",
argv[4]->arg, argv[6]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*
memset (&l2o_buf, 0, sizeof (l2o_buf));
if (rfapiStr2EthAddr (argv[10]->arg, &l2o_buf.macaddr))
{
- vty_outln (vty, "Bad mac address \"%s\"", argv[10]->arg);
+ vty_out (vty, "Bad mac address \"%s\"\n", argv[10]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
l2o_buf.logical_net_id = strtoul(argv[8]->arg, NULL, 10);
if (rfapi_find_handle_vty (vty, &vn, &un, &handle))
{
- vty_outln (vty, "can't locate handle matching vn=%s, un=%s",
+ vty_out (vty, "can't locate handle matching vn=%s, un=%s\n",
argv[5]->arg, argv[7]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*
bgp = bgp_get_default (); /* assume 1 instance for now */
if (!bgp)
{
- vty_outln (vty, "No BGP instance");
+ vty_out (vty, "No BGP instance\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
h = bgp->rfapi;
if (!h)
{
- vty_outln (vty, "No RFAPI instance");
+ vty_out (vty, "No RFAPI instance\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*
if (rfapi_find_handle_vty (vty, &vn, &un, &handle))
{
- vty_outln (vty, "can't locate handle matching vn=%s, un=%s",
+ vty_out (vty, "can't locate handle matching vn=%s, un=%s\n",
argv[5]->arg, argv[7]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfd = (struct rfapi_descriptor *) handle;
if (!bgp)
{
- vty_outln (vty, "No BGP process is configured");
+ vty_out (vty, "No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!bgp->rfapi_cfg)
{
- vty_outln (vty, "VNC not configured");
+ vty_out (vty, "VNC not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch(argv[3]->text, "on"))
if (!bgp)
{
if (vty)
- vty_outln (vty, "BGP not configured");
+ vty_out (vty, "BGP not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
h = bgp->rfapi;
if (!h || !rfapi_cfg)
{
if (vty)
- vty_outln (vty, "RFAPI not configured");
+ vty_out (vty, "RFAPI not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
for (; argc; --argc, ++argv)
{
if (arg_lnh)
{
- vty_outln (vty,"local-next-hop specified more than once");
+ vty_out (vty,"local-next-hop specified more than once\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argc <= 1)
{
- vty_outln (vty,"Missing parameter for local-next-hop");
+ vty_out (vty,"Missing parameter for local-next-hop\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
++argv, --argc;
arg_lnh = argv[0]->arg;
{
if (arg_lnh_cost)
{
- vty_outln (vty,"local-cost specified more than once");
+ vty_out (vty,"local-cost specified more than once\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argc <= 1)
{
- vty_outln (vty,"Missing parameter for local-cost");
+ vty_out (vty,"Missing parameter for local-cost\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
++argv, --argc;
arg_lnh_cost = argv[0]->arg;
arg_prefix = "0::0/128";
break;
default:
- vty_outln (vty,"Internal error, unknown VN address family");
+ vty_out (vty,"Internal error, unknown VN address family\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
{
if (!arg_vni)
{
- vty_outln (vty,
- "Missing \"vni\" parameter (mandatory with mac)");
+ vty_out (vty,
+ "Missing \"vni\" parameter (mandatory with mac)\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
optary[opt_next].v.l2addr.logical_net_id = strtoul(arg_vni, NULL,
10);
&rfd);
if (rc)
{
- vty_outln (vty, "Can't open session for this NVE: %s",
+ vty_out (vty, "Can't open session for this NVE: %s\n",
rfapi_error_str(rc));
- rc = CMD_WARNING;
+ rc = CMD_WARNING_CONFIG_FAILED;
goto fail;
}
}
}
vnc_zlog_debug_verbose ("%s: rfapi_register failed", __func__);
- vty_out (vty, VTYNL);
- vty_outln (vty, "Registration failed.");
- vty_outln (vty,
- "Confirm that either the VN or UN address matches a configured NVE group.");
+ vty_out (vty, "\n");
+ vty_out (vty, "Registration failed.\n");
+ vty_out (vty,
+ "Confirm that either the VN or UN address matches a configured NVE group.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
fail:
vnc_zlog_debug_verbose ("%s: fail, rc=%d", __func__, rc);
bgp = bgp_get_default (); /* assume main instance for now */
if (!bgp)
{
- vty_outln (vty, "No BGP process is configured");
+ vty_out (vty, "No BGP process is configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!bgp->rfapi || !bgp->rfapi_cfg)
{
- vty_outln (vty, "VRF support not configured");
+ vty_out (vty, "VRF support not configured\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfg = bgp_rfapi_cfg_match_byname (bgp, arg_vrf, RFAPI_GROUP_CFG_VRF);
/* arg checks */
if (!rfg)
{
- vty_outln (vty, "VRF \"%s\" appears not to be configured.",
+ vty_out (vty, "VRF \"%s\" appears not to be configured.\n",
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.",
+ vty_out (vty, "VRF \"%s\" is missing RT import/export RT configuration.\n",
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.",
+ vty_out (vty, "VRF \"%s\" isn't configured with an RD, so RD must be provided.\n",
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.",
+ vty_out (vty, "VRF \"%s\" isn't configured with a default labels, so a label must be provided.\n",
arg_vrf);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!str2prefix (arg_prefix, &pfx))
{
- vty_outln (vty, "Malformed prefix \"%s\"",
+ vty_out (vty, "Malformed prefix \"%s\"\n",
arg_prefix);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rfapiQprefix2Rprefix (&pfx, &rpfx);
memset (optary, 0, sizeof (optary));
opt->type = RFAPI_VN_OPTION_TYPE_INTERNAL_RD;
if (!str2prefix_rd (arg_rd, &opt->v.internal_rd))
{
- vty_outln (vty, "Malformed RD \"%s\"",
+ vty_out (vty, "Malformed RD \"%s\"\n",
arg_rd);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
if (rfg->label <= MPLS_LABEL_MAX || arg_label)
pref = strtoul (arg_pref, &endptr, 10);
if (*endptr != '\0')
{
- vty_outln (vty, "%% Invalid local-preference value \"%s\"",
+ vty_out (vty, "%% Invalid local-preference value \"%s\"\n",
arg_pref);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
rpfx.cost = 255 - (pref & 255) ;
}
vnc_zlog_debug_verbose ("%s: rfapi_register failed", __func__);
- vty_outln (vty, "Add failed.");
+ vty_out (vty, "Add failed.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (add_vrf_prefix_rd_label_pref,
return CMD_SUCCESS;
}
}
- vty_outln (vty, "Unknown debug flag: %s", argv[3]->arg);
+ vty_out (vty, "Unknown debug flag: %s\n", argv[3]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (no_debug_bgp_vnc,
return CMD_SUCCESS;
}
}
- vty_outln (vty, "Unknown debug flag: %s", argv[3]->arg);
+ vty_out (vty, "Unknown debug flag: %s\n", argv[3]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
switch (ret)
{
case RMAP_RULE_MISSING:
- vty_outln (vty, "%% Can't find rule.");
+ vty_out (vty, "%% Can't find rule.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
- vty_outln (vty, "%% Argument is malformed.");
+ vty_out (vty, "%% Argument is malformed.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
return CMD_SUCCESS;
switch (ret)
{
case RMAP_RULE_MISSING:
- vty_outln (vty, "%% Can't find rule.");
+ vty_out (vty, "%% Can't find rule.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
- vty_outln (vty, "%% Argument is malformed.");
+ vty_out (vty, "%% Argument is malformed.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
return CMD_SUCCESS;
switch (ret)
{
case RMAP_RULE_MISSING:
- vty_outln (vty, "%% Can't find rule.");
+ vty_out (vty, "%% Can't find rule.\n");
- 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
if metric is out of range for rip and ripng, it is not for
other protocols. Do not return an error */
if (strcmp(command, "metric")) {
- vty_outln (vty, "%% Argument is malformed.");
+ vty_out (vty, "%% Argument is malformed.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
}
switch (ret)
{
case RMAP_RULE_MISSING:
- vty_outln (vty, "%% Can't find rule.");
+ vty_out (vty, "%% Can't find rule.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
- vty_outln (vty, "%% Argument is malformed.");
+ vty_out (vty, "%% Argument is malformed.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
return CMD_SUCCESS;
ret = str2sockunion (argv[0], &su);
if (ret < 0)
{
- vty_outln (vty, "%% Malformed next-hop address");
+ vty_out (vty, "%% Malformed next-hop address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return eigrp_route_set_add (vty, vty->index, "ip next-hop", argv[0]);
eigrp = eigrp_lookup ();
if (eigrp->AS != atoi (argv[3]->arg))
{
- vty_outln (vty,"%% Attempting to deconfigure non-existent AS");
+ vty_out (vty,"%% Attempting to deconfigure non-existent AS\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
eigrp_finish_final (eigrp);
if (ret == 0)
{
- vty_outln (vty, "There is already same network statement.");
+ vty_out (vty, "There is already same network statement.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
if (ret == 0)
{
- vty_outln (vty,"Can't find specified network configuration.");
+ vty_out (vty,"Can't find specified network configuration.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
if ((area->is_type & level) != level)
{
- vty_outln (vty, "Node is not a level-%d IS", level);
+ vty_out (vty, "Node is not a level-%d IS\n", level);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
metric = 0xffffffff;
if ((area->is_type & level) != level)
{
- vty_outln (vty, "Node is not a level-%d IS", level);
+ vty_out (vty, "Node is not a level-%d IS\n", level);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argc > idx_always && strmatch (argv[idx_always]->text, "always"))
if (! inet_aton (argv[idx_ipv4]->arg, &value))
{
- vty_outln (vty, "Please specify Router-Addr by A.B.C.D");
+ vty_out (vty, "Please specify Router-Addr by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
isisMplsTE.router_id.s_addr = value.s_addr;
if (circuit->state != C_STATE_CONF && circuit->state != C_STATE_UP)
{
- vty_outln (vty, "Couldn't bring up interface, please check log.");
+ vty_out (vty, "Couldn't bring up interface, please check log.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
secs = strtol(seconds_str, &ep, 10);
if (*ep != '\0' || secs < MIN_HOLDTIME || secs > MAX_HOLDTIME) {
- vty_outln (vty, "%% Invalid holdtime");
+ vty_out (vty, "%% Invalid holdtime\n");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
if (hello_type_str[0] == 'h')
secs = strtol(seconds_str, &ep, 10);
if (*ep != '\0' || secs < MIN_HELLO_INTERVAL ||
secs > MAX_HELLO_INTERVAL) {
- vty_outln (vty, "%% Invalid interval");
+ vty_out (vty, "%% Invalid interval\n");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
if (hello_type_str[0] == 'h')
if (inet_pton(AF_INET, lsr_id_str, &lsr_id) != 1 ||
bad_addr_v4(lsr_id)) {
- vty_outln (vty, "%% Malformed address");
+ vty_out (vty, "%% Malformed address\n");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
secs = strtol(seconds_str, &ep, 10);
if (inet_pton(af, addr_str, &addr) != 1 ||
bad_addr(af, &addr)) {
- vty_outln (vty, "%% Malformed address");
+ vty_out (vty, "%% Malformed address\n");
- 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");
+ vty_out (vty, "%% Address can not be link-local\n");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
tnbr = tnbr_find(vty_conf, af, &addr);
if (inet_pton(AF_INET, lsr_id_str, &lsr_id) != 1 ||
bad_addr_v4(lsr_id)) {
- vty_outln (vty, "%% Malformed address");
+ vty_out (vty, "%% Malformed address\n");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
nbrp = nbr_params_find(vty_conf, lsr_id);
if (inet_pton(AF_INET, lsr_id_str, &lsr_id) != 1 ||
bad_addr_v4(lsr_id)) {
- vty_outln (vty, "%% Malformed address");
+ vty_out (vty, "%% Malformed address\n");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
if (hops_str) {
mtu = strtol(mtu_str, &ep, 10);
if (*ep != '\0' || mtu < MIN_L2VPN_MTU || mtu > MAX_L2VPN_MTU) {
- vty_outln (vty, "%% Invalid MTU");
+ vty_out (vty, "%% Invalid MTU\n");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
if (disable)
if (ldp_get_address(addr_str, &af, &addr) == -1 ||
bad_addr(af, &addr)) {
- vty_outln (vty, "%% Malformed address");
+ vty_out (vty, "%% Malformed address\n");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
if (disable) {
if (inet_pton(AF_INET, lsr_id_str, &lsr_id) != 1 ||
bad_addr_v4(lsr_id)) {
- vty_outln (vty, "%% Malformed address");
+ vty_out (vty, "%% Malformed address\n");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
if (disable)
pwid = strtol(pwid_str, &ep, 10);
if (*ep != '\0' || pwid < MIN_PWID_ID || pwid > MAX_PWID_ID) {
- vty_outln (vty, "%% Invalid pw-id");
+ vty_out (vty, "%% Invalid pw-id\n");
- return (CMD_WARNING);
+ return (CMD_WARNING_CONFIG_FAILED);
}
if (disable)
"SNMP AgentX protocol settings\n")
{
if (!agentx_enabled) return CMD_SUCCESS;
- vty_outln (vty, "SNMP AgentX support cannot be disabled once enabled");
+ vty_out (vty, "SNMP AgentX support cannot be disabled once enabled\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
void
vty->node = CONFIG_NODE;
else
{
- vty_outln (vty, "VTY configuration is locked by other VTY");
+ vty_out (vty, "VTY configuration is locked by other VTY\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
if (!isalpha((int) word->arg[0]))
{
- vty_outln (vty, "Please specify string starting with alphabet");
+ vty_out (vty, "Please specify string starting with alphabet\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return cmd_hostname_set (word->arg);
if (!isalnum (argv[idx_8]->arg[0]))
{
- vty_outln (vty,
- "Please specify string starting with alphanumeric");
+ vty_out (vty,
+ "Please specify string starting with alphanumeric\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (host.password)
}
else
{
- vty_outln (vty, "Unknown encryption type.");
+ vty_out (vty, "Unknown encryption type.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
if (!isalnum (argv[idx_8]->arg[0]))
{
- vty_outln (vty,
- "Please specify string starting with alphanumeric");
+ vty_out (vty,
+ "Please specify string starting with alphanumeric\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (host.enable)
if (! ret)
{
- vty_outln (vty, "distribute list doesn't exist");
+ vty_out (vty, "distribute list doesn't exist\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
access = access_list_lookup (afi, name);
if (! access)
{
- vty_outln (vty, "%% access-list %s doesn't exist",name);
+ vty_out (vty, "%% access-list %s doesn't exist\n",name);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (access->remark)
type = FILTER_DENY;
else
{
- vty_outln (vty, "%% filter type must be permit or deny");
+ vty_out (vty, "%% filter type must be permit or deny\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = inet_aton (addr_str, &addr);
if (ret <= 0)
{
- vty_outln (vty,"%%Inconsistent address and mask");
+ vty_out (vty,"%%Inconsistent address and mask\n");
- 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");
+ vty_out (vty,"%%Inconsistent address and mask\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (extended)
ret = inet_aton (mask_str, &mask);
if (ret <= 0)
{
- vty_outln (vty,"%%Inconsistent address and mask");
+ vty_out (vty,"%%Inconsistent address and mask\n");
- 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");
+ vty_out (vty,"%%Inconsistent address and mask\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
if (strlen(name_str) > ACL_NAMSIZ)
{
- vty_outln (vty, "%% ACL name %s is invalid: length exceeds "
- "%d characters",
+ vty_out (vty, "%% ACL name %s is invalid: length exceeds "
+ "%d characters\n",
name_str, ACL_NAMSIZ);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check of filter type. */
type = FILTER_DENY;
else
{
- vty_outln (vty, "filter type must be [permit|deny]");
+ vty_out (vty, "filter type must be [permit|deny]\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check string format of prefix and prefixlen. */
ret = str2prefix_ipv4 (prefix_str, (struct prefix_ipv4 *)&p);
if (ret <= 0)
{
- vty_outln (vty,"IP address prefix/prefixlen is malformed");
+ vty_out (vty,"IP address prefix/prefixlen is malformed\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
else if (afi == AFI_IP6)
ret = str2prefix_ipv6 (prefix_str, (struct prefix_ipv6 *) &p);
if (ret <= 0)
{
- vty_outln (vty,"IPv6 address prefix/prefixlen is malformed");
+ vty_out (vty,"IPv6 address prefix/prefixlen is malformed\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
else
access = access_list_lookup (AFI_IP, argv[idx_acl]->arg);
if (access == NULL)
{
- vty_outln (vty, "%% access-list %s doesn't exist",argv[idx_acl]->arg);
+ vty_out (vty, "%% access-list %s doesn't exist\n",argv[idx_acl]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
master = access->master;
access = access_list_lookup (AFI_IP6, argv[idx_word]->arg);
if (access == NULL)
{
- vty_outln (vty, "%% access-list %s doesn't exist",argv[idx_word]->arg);
+ vty_out (vty, "%% access-list %s doesn't exist\n",argv[idx_word]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
master = access->master;
cnode = vector_slot (cmdvec, atoi (argv[2]->arg));
if (!cnode)
{
- vty_outln (vty, "%% no such node");
+ vty_out (vty, "%% no such node\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
- vty_outln (vty, "node %d", (int)cnode->node);
+ vty_out (vty, "node %d\n", (int)cnode->node);
nodegraph = cnode->cmdgraph;
return CMD_SUCCESS;
}
if ((sl = strlen(ifname)) > INTERFACE_NAMSIZ)
{
- vty_outln (vty, "%% Interface name %s is invalid: length exceeds "
- "%d characters",
+ vty_out (vty, "%% Interface name %s is invalid: length exceeds "
+ "%d characters\n",
ifname, INTERFACE_NAMSIZ);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*Pending: need proper vrf name based lookup/(possible creation of VRF)
if (!ifp)
{
- vty_outln (vty, "%% interface %s not in %s", ifname, vrfname);
+ vty_out (vty, "%% interface %s not in %s\n", ifname, vrfname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
VTY_PUSH_CONTEXT (INTERFACE_NODE, ifp);
if (ifp == NULL)
{
- vty_out (vty, "%% Interface %s does not exist%s", ifname, VTYNL);
+ vty_out (vty, "%% Interface %s does not exist\n", ifname);
- 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);
+ vty_out (vty, "%% Only inactive interfaces can be deleted\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if_delete(ifp);
type = IF_RMAP_OUT;
else
{
- vty_outln (vty, "route-map direction must be [in|out]");
+ vty_out (vty, "route-map direction must be [in|out]\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if_rmap_set (argv[idx_ifname]->arg, type, argv[idx_rmap_name]->arg);
type = IF_RMAP_OUT;
else
{
- vty_outln (vty, "route-map direction must be [in|out]");
+ vty_out (vty, "route-map direction must be [in|out]\n");
- 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");
+ vty_out (vty, "route-map doesn't exist\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
if (! keychain)
{
- vty_outln (vty, "Can't find keychain %s", argv[idx_word]->arg);
+ vty_out (vty, "Can't find keychain %s\n", argv[idx_word]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
keychain_delete (keychain);
key = key_lookup (keychain, index);
if (! key)
{
- vty_outln (vty, "Can't find key %d", index);
+ vty_out (vty, "Can't find key %d\n", index);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
key_delete (keychain, key);
time_start = key_str2time (stime_str, sday_str, smonth_str, syear_str);
if (time_start < 0)
{
- vty_outln (vty, "Malformed time value");
+ vty_out (vty, "Malformed time value\n");
- 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");
+ vty_out (vty, "Malformed time value\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (time_end <= time_start)
{
- vty_outln (vty, "Expire time is not later than start time");
+ vty_out (vty, "Expire time is not later than start time\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
krange->start = time_start;
time_start = key_str2time (stime_str, sday_str, smonth_str, syear_str);
if (time_start < 0)
{
- vty_outln (vty, "Malformed time value");
+ vty_out (vty, "Malformed time value\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
krange->start = time_start;
time_start = key_str2time (stime_str, sday_str, smonth_str, syear_str);
if (time_start < 0)
{
- vty_outln (vty, "Malformed time value");
+ vty_out (vty, "Malformed time value\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
krange->start = time_start;
if (ns->name && strcmp (ns->name, pathname) != 0)
{
- vty_out (vty, "NS %u is already configured with NETNS %s%s",
- ns->ns_id, ns->name, VTYNL);
+ vty_out (vty, "NS %u is already configured with NETNS %s\n",
+ ns->ns_id, ns->name);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!ns->name)
if (!ns_enable (ns))
{
- vty_out (vty, "Can not associate NS %u with NETNS %s%s",
- ns->ns_id, ns->name, VTYNL);
+ vty_out (vty, "Can not associate NS %u with NETNS %s\n",
+ ns->ns_id, ns->name);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
if (ns->name && strcmp (ns->name, pathname) != 0)
{
- vty_outln (vty, "Incorrect NETNS file name");
+ vty_out (vty, "Incorrect NETNS file name\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ns_disable (ns);
static int
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",
+ vty_out (vty, "%% Invalid prefix range for %s, make sure: len < ge-value <= le-value\n",
prefix);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
static int
type = PREFIX_DENY;
else
{
- vty_outln (vty, "%% prefix type must be permit or deny");
+ vty_out (vty, "%% prefix type must be permit or deny\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* "any" is special token for matching any IPv4 addresses. */
if (ret <= 0)
{
- vty_outln (vty, "%% Malformed IPv4 prefix");
+ vty_out (vty, "%% Malformed IPv4 prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make a copy to verify prefix matches mask length */
if (ret <= 0)
{
- vty_outln (vty, "%% Malformed IPv6 prefix");
+ vty_out (vty, "%% Malformed IPv6 prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* make a copy to verify prefix matches mask length */
break;
case AFI_L2VPN:
default:
- vty_outln (vty, "%% Unrecognized AFI (%d)", afi);
+ vty_out (vty, "%% Unrecognized AFI (%d)\n", afi);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
break;
}
plist = prefix_list_lookup (afi, name);
if (! plist)
{
- vty_outln (vty, "%% Can't find specified prefix-list");
+ vty_out (vty, "%% Can't find specified prefix-list\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Only prefix-list name specified, delete the entire prefix-list. */
/* We must have, at a minimum, both the type and prefix here */
if ((typestr == NULL) || (prefix == NULL))
{
- vty_outln (vty, "%% Both prefix and type required");
+ vty_out (vty, "%% Both prefix and type required\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check sequence number. */
type = PREFIX_DENY;
else
{
- vty_outln (vty, "%% prefix type must be permit or deny");
+ vty_out (vty, "%% prefix type must be permit or deny\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* "any" is special token for matching any IPv4 addresses. */
if (ret <= 0)
{
- vty_outln (vty, "%% Malformed IPv4 prefix");
+ vty_out (vty, "%% Malformed IPv4 prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
else if (afi == AFI_IP6)
if (ret <= 0)
{
- vty_outln (vty, "%% Malformed IPv6 prefix");
+ vty_out (vty, "%% Malformed IPv6 prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
if (pentry == NULL)
{
- vty_outln (vty, "%% Can't find specified prefix-list");
+ vty_out (vty, "%% Can't find specified prefix-list\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Install new filter to the access_list. */
plist = prefix_list_lookup (afi, name);
if (! plist)
{
- vty_outln (vty, "%% Can't find specified prefix-list");
+ vty_out (vty, "%% Can't find specified prefix-list\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (plist->desc)
switch (ret)
{
case RMAP_RULE_MISSING:
- vty_outln (vty, "%% [%s] Can't find rule.", frr_protonameinst);
+ vty_out (vty, "%% [%s] Can't find rule.\n", frr_protonameinst);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
- vty_outln (vty, "%% [%s] Argument form is unsupported or malformed.",
+ vty_out (vty, "%% [%s] Argument form is unsupported or malformed.\n",
frr_protonameinst);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
switch (ret)
{
case RMAP_RULE_MISSING:
- vty_outln (vty, "%% [%s] Can't find rule.", frr_protonameinst);
+ vty_out (vty, "%% [%s] Can't find rule.\n", frr_protonameinst);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
- vty_outln (vty, "%% [%s] Argument form is unsupported or malformed.",
+ vty_out (vty, "%% [%s] Argument form is unsupported or malformed.\n",
frr_protonameinst);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
return CMD_SUCCESS;
switch (ret)
{
case RMAP_RULE_MISSING:
- vty_outln (vty, "%% [%s] Can't find rule.", frr_protonameinst);
+ vty_out (vty, "%% [%s] Can't find rule.\n", frr_protonameinst);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
- vty_outln (vty, "%% [%s] Argument form is unsupported or malformed.",
+ vty_out (vty, "%% [%s] Argument form is unsupported or malformed.\n",
frr_protonameinst);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
return CMD_SUCCESS;
ret = str2sockunion (argv[idx_ipv4]->arg, &su);
if (ret < 0)
{
- vty_outln (vty, "%% Malformed nexthop address");
+ vty_out (vty, "%% Malformed nexthop address\n");
- 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");
+ vty_out (vty,
+ "%% nexthop address cannot be 0.0.0.0, multicast or reserved\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (rmap_match_set_hook.set_ip_nexthop)
ret = inet_pton (AF_INET6, argv[idx_ipv6]->arg, &addr);
if (!ret)
{
- vty_outln (vty, "%% Malformed nexthop address");
+ vty_out (vty, "%% Malformed nexthop address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!IN6_IS_ADDR_LINKLOCAL(&addr))
{
- vty_outln (vty, "%% Invalid link-local nexthop address");
+ vty_out (vty, "%% Invalid link-local nexthop address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (rmap_match_set_hook.set_ipv6_nexthop_local)
map = route_map_lookup_by_name (mapname);
if (map == NULL)
{
- vty_outln (vty, "%% Could not find route-map %s", mapname);
+ vty_out (vty, "%% Could not find route-map %s\n", mapname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
route_map_delete (map);
map = route_map_lookup_by_name (mapname);
if (map == NULL)
{
- vty_outln (vty, "%% Could not find route-map %s", mapname);
+ vty_out (vty, "%% Could not find route-map %s\n", mapname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Lookup route map index. */
index = route_map_index_lookup (map, permit, pref);
if (index == NULL)
{
- vty_outln (vty, "%% Could not find route-map entry %s %s",
+ vty_out (vty, "%% Could not find route-map entry %s %s\n",
mapname, prefstr);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Delete index from route map. */
if (index->type == RMAP_DENY)
{
/* 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");
+ vty_out (vty,"on-match next not supported under route-map deny\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
index->exitpolicy = RMAP_NEXT;
}
if (index->type == RMAP_DENY)
{
/* 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");
+ vty_out (vty,"on-match goto not supported under route-map deny\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (num)
if (d <= index->pref)
{
/* Can't allow you to do that, Dave */
- vty_outln (vty, "can't jump backwards in route-maps");
+ vty_out (vty, "can't jump backwards in route-maps\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
else
{
ret = smux_str2oid (oid_str, oid, &oid_len);
if (ret != 0)
{
- vty_out (vty, "object ID malformed%s", VTYNL);
+ vty_out (vty, "object ID malformed\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (smux_oid)
if (strlen(vrfname) > VRF_NAMSIZ)
{
vty_out (vty, "%% VRF name %s is invalid: length exceeds "
- "%d characters%s",
- vrfname, VRF_NAMSIZ, VTYNL);
+ "%d characters\n",
+ vrfname, VRF_NAMSIZ);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
vrfp = vrf_get (VRF_UNKNOWN, vrfname);
if (vrfp == NULL)
{
- vty_out (vty, "%% VRF %s does not exist%s", vrfname, VTYNL);
+ vty_out (vty, "%% VRF %s does not exist\n", vrfname);
- 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);
+ vty_out (vty, "%% Only inactive VRFs can be deleted\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
vrf_delete(vrfp);
const char *accesslist = (argc == 3) ? argv[idx_word]->arg : NULL;
if (! vty_accesslist_name || (argc == 3 && strcmp(vty_accesslist_name, accesslist)))
{
- vty_outln (vty,"Access-class is not currently applied to vty");
+ vty_out (vty,"Access-class is not currently applied to vty\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
XFREE(MTYPE_VTY, vty_accesslist_name);
if (! vty_ipv6_accesslist_name ||
(argc == 4 && strcmp(vty_ipv6_accesslist_name, accesslist)))
{
- vty_outln (vty,"IPv6 access-class is not currently applied to vty");
+ vty_out (vty,"IPv6 access-class is not currently applied to vty\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
XFREE(MTYPE_VTY, vty_ipv6_accesslist_name);
snprintf(buf, sizeof(buf), "Unknown error %d", ret);
}
- vty_outln (vty, "%% %s", str);
+ vty_out (vty, "%% %s\n", str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;;
}
static int toggle_flag(
return CMD_SUCCESS;
}
- vty_outln (vty, "%% Invalid value %s", name);
+ vty_out (vty, "%% Invalid value %s\n", name);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;;
}
#ifndef NO_DEBUG
if (!ospf6_area_stub_set (ospf6, area))
{
- vty_outln (vty,"First deconfigure all virtual link through this area");
+ vty_out (vty,"First deconfigure all virtual link through this area\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf6_area_no_summary_unset (ospf6, area);
if (!ospf6_area_stub_set (ospf6, area))
{
- vty_outln (vty,"First deconfigure all virtual link through this area");
+ vty_out (vty,"First deconfigure all virtual link through this area\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf6_area_no_summary_set (ospf6, area);
switch (ret)
{
case RMAP_RULE_MISSING:
- vty_out (vty, "OSPF6 Can't find rule.%s", VNL);
+ vty_out (vty, "OSPF6 Can't find rule.\n");
break;
case RMAP_COMPILE_ERROR:
- vty_out (vty, "OSPF6 Argument is malformed.%s", VNL);
+ vty_out (vty, "OSPF6 Argument is malformed.\n");
break;
default:
- vty_out (vty, "OSPF6 route-map add set failed.%s", VNL);
+ vty_out (vty, "OSPF6 route-map add set failed.\n");
break;
}
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* add "set metric-type" */
if (ifp->mtu6 != 0 && ifp->mtu6 < ifmtu)
{
- vty_out (vty, "%s's ospf6 ifmtu cannot go beyond physical mtu (%d)%s",
- ifp->name, ifp->mtu6, VNL);
+ vty_out (vty, "%s's ospf6 ifmtu cannot go beyond physical mtu (%d)\n",
+ ifp->name, ifp->mtu6);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (oi->ifmtu < ifmtu)
if (lcost > UINT32_MAX)
{
- vty_out (vty, "Cost %ld is out of range%s", lcost, VNL);
+ vty_out (vty, "Cost %ld is out of range\n", lcost);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (oi->cost == lcost)
refbw = strtol (argv[idx_number]->arg, NULL, 10);
if (refbw < 1 || refbw > 4294967)
{
- vty_outln (vty, "reference-bandwidth value is invalid");
+ vty_out (vty, "reference-bandwidth value is invalid\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* If reference bandwidth is changed. */
ret = str2prefix_ipv6 (ip_str, &p);
if (ret == 0)
{
- vty_outln (vty, "Malformed prefix");
+ vty_out (vty, "Malformed prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
distance = atoi (distance_str);
ret = str2prefix_ipv6 (ip_str, &p);
if (ret == 0)
{
- vty_outln (vty, "Malformed prefix");
+ vty_out (vty, "Malformed prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rn = route_node_lookup (o->distance_table, (struct prefix *) &p);
if (!rn)
{
- vty_outln (vty, "Can't find specified prefix");
+ vty_out (vty, "Cant't find specified prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
odistance = rn->info;
{
if (!inet_aton (area, &OspfRI.area_id))
{
- vty_outln (vty, "%% specified Area ID %s is invalid",
+ vty_out (vty, "%% specified Area ID %s is invalid\n",
area);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
scope = OSPF_OPAQUE_AREA_LSA;
}
if (!inet_aton (argv[idx_ipv4]->arg, &value))
{
- vty_outln (vty, "Please specify PCE Address by A.B.C.D");
+ vty_out (vty, "Please specify PCE Address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ntohs (pi->pce_address.header.type) == 0
if (sscanf (argv[idx_bitpattern]->arg, "0x%x", &scope) != 1)
{
- vty_outln (vty, "pce_path_scope: fscanf: %s",safe_strerror(errno));
+ vty_out (vty, "pce_path_scope: fscanf: %s\n",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ntohl (pi->pce_scope.header.type) == 0 || scope != pi->pce_scope.value)
if (sscanf (argv[idx_number]->arg, "%d", &as) != 1)
{
- vty_outln (vty, "pce_domain: fscanf: %s",safe_strerror(errno));
+ vty_out (vty, "pce_domain: fscanf: %s\n",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check if the domain is not already in the domain list */
if (sscanf (argv[idx_number]->arg, "%d", &as) != 1)
{
- vty_outln (vty, "no_pce_domain: fscanf: %s",safe_strerror(errno));
+ vty_out (vty, "no_pce_domain: fscanf: %s\n",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Unset corresponding PCE domain */
if (sscanf (argv[idx_number]->arg, "%d", &as) != 1)
{
- vty_outln (vty, "pce_neighbor: fscanf: %s",safe_strerror(errno));
+ vty_out (vty, "pce_neighbor: fscanf: %s\n",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check if the domain is not already in the domain list */
if (sscanf (argv[idx_number]->arg, "%d", &as) != 1)
{
- vty_outln (vty, "no_pce_neighbor: fscanf: %s",safe_strerror(errno));
+ vty_out (vty, "no_pce_neighbor: fscanf: %s\n",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Unset corresponding PCE domain */
if (sscanf (argv[idx_bitpattern]->arg, "0x%x", &cap) != 1)
{
- vty_outln (vty, "pce_cap_flag: fscanf: %s",safe_strerror(errno));
+ vty_out (vty, "pce_cap_flag: fscanf: %s\n",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ntohl (pce->pce_cap_flag.header.type) == 0
ospf = ospf_lookup();
if (!ospf)
{
- vty_out (vty, "There isn't active ospf instance %s", VTYNL);
+ vty_out (vty, "There isn't active ospf instance \n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argc > 2)
ret = inet_aton (argv[idx_ipv4]->arg, &router_id);
if (!ret)
{
- vty_out (vty, "Please specify Router ID by A.B.C.D%s", VTYNL);
+ vty_out (vty, "Please specify Router ID by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf->router_id_static = router_id;
ret = inet_aton (argv[idx_ipv4]->arg, &router_id);
if (!ret)
{
- vty_out (vty, "Please specify Router ID by A.B.C.D%s", VTYNL);
+ vty_out (vty, "Please specify Router ID by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf->router_id_static = router_id;
ret = inet_aton(argv[idx_ipv4]->arg, &addr);
if (!ret)
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
ret = inet_aton(argv[idx_ipv4]->arg, &addr);
if (!ret)
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
if (ospf->instance)
{
- vty_out (vty, "The network command is not supported in multi-instance ospf%s",
- VTYNL);
+ vty_out (vty, "The network command is not supported in multi-instance ospf\n");
- 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);
+ vty_out (vty, "Please remove all ip ospf area x.x.x.x commands first.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get network prefix and Area ID. */
ret = ospf_network_set (ospf, &p, area_id, format);
if (ret == 0)
{
- vty_out (vty, "There is already same network statement.%s", VTYNL);
+ vty_out (vty, "There is already same network statement.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
if (ospf->instance)
{
- vty_out (vty, "The network command is not supported in multi-instance ospf%s",
- VTYNL);
+ vty_out (vty, "The network command is not supported in multi-instance ospf\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get network prefix and Area ID. */
ret = ospf_network_unset (ospf, &p, area_id);
if (ret == 0)
{
- vty_out (vty, "Can't find specified network area configuration.%s",
- VTYNL);
+ vty_out (vty, "Can't find specified network area configuration.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
if (ospf_crypt_key_lookup (IF_DEF_PARAMS (ifp)->auth_crypt, vl_config->crypto_key_id)
!= NULL)
{
- vty_out (vty, "OSPF: Key %d already exists%s",
- vl_config->crypto_key_id, VTYNL);
+ vty_out (vty, "OSPF: Key %d already exists\n",
+ vl_config->crypto_key_id);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ck = ospf_crypt_key_new ();
ck->key_id = vl_config->crypto_key_id;
if (ospf_crypt_key_lookup (IF_DEF_PARAMS (ifp)->auth_crypt,
vl_config->crypto_key_id) == NULL)
{
- vty_out (vty, "OSPF: Key %d does not exist%s",
- vl_config->crypto_key_id, VTYNL);
+ vty_out (vty, "OSPF: Key %d does not exist\n",
+ vl_config->crypto_key_id);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf_crypt_key_delete (IF_DEF_PARAMS (ifp)->auth_crypt, vl_config->crypto_key_id);
&vl_config.area_id_fmt);
if (ret < 0)
{
- vty_out (vty, "OSPF area ID is invalid%s", VTYNL);
+ vty_out (vty, "OSPF area ID is invalid\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = inet_aton (argv[idx_ipv4]->arg, &vl_config.vl_peer);
if (! ret)
{
- vty_out (vty, "Please specify valid Router ID as a.b.c.d%s",
- VTYNL);
+ vty_out (vty, "Please specify valid Router ID as a.b.c.d\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argc <=4)
ret = str2area_id (argv[idx_ipv4_number]->arg, &vl_config.area_id, &format);
if (ret < 0)
{
- vty_out (vty, "OSPF area ID is invalid%s", VTYNL);
+ vty_out (vty, "OSPF area ID is invalid\n");
- 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);
+ vty_out (vty, "Area does not exist\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = inet_aton (argv[idx_ipv4]->arg, &vl_config.vl_peer);
if (! ret)
{
- vty_out (vty, "Please specify valid Router ID as a.b.c.d%s",
- VTYNL);
+ vty_out (vty, "Please specify valid Router ID as a.b.c.d\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argc <=5)
ret = str2area_id (area_id, &vl_config.area_id, &vl_config.area_id_fmt);
if (ret < 0)
{
- vty_out (vty, "OSPF area ID is invalid%s", VTYNL);
+ vty_out (vty, "OSPF area ID is invalid\n");
- 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);
+ vty_out (vty, "Please specify valid Router ID as a.b.c.d\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
for (int idx = 4; idx < argc; idx++)
ret = str2area_id (area_id, &vl_config.area_id, &vl_config.area_id_fmt);
if (ret < 0)
{
- vty_out (vty, "OSPF area ID is invalid%s", VTYNL);
+ vty_out (vty, "OSPF area ID is invalid\n");
- 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);
+ vty_out (vty, "Please specify valid Router ID as a.b.c.d\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
for (int idx = 5; idx < argc; idx++)
ospf_area_display_format_set (ospf, ospf_area_get (ospf, area_id), format);
if (ret == 0)
{
- vty_out (vty, "First deconfigure all virtual link through this area%s",
- VTYNL);
+ vty_out (vty, "First deconfigure all virtual link through this area\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf_area_no_summary_unset (ospf, area_id);
ospf_area_display_format_set (ospf, ospf_area_get (ospf, area_id), format);
if (ret == 0)
{
- vty_out (vty, "%% Area cannot be stub as it contains a virtual link%s",
- VTYNL);
+ vty_out (vty, "%% Area cannot be stub as it contains a virtual link\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf_area_no_summary_set (ospf, area_id);
ospf_area_display_format_set (ospf, ospf_area_get (ospf, area_id), format);
if (ret == 0)
{
- vty_out (vty, "%% Area cannot be nssa as it contains a virtual link%s",
- VTYNL);
+ vty_out (vty, "%% Area cannot be nssa as it contains a virtual link\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argc > 3)
if (area->external_routing == OSPF_AREA_DEFAULT)
{
- vty_out (vty, "The area is neither stub, nor NSSA%s", VTYNL);
+ vty_out (vty, "The area is neither stub, nor NSSA\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
area->default_cost = cost;
if (area->external_routing == OSPF_AREA_DEFAULT)
{
- vty_out (vty, "The area is neither stub, nor NSSA%s", VTYNL);
+ vty_out (vty, "The area is neither stub, nor NSSA\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
area->default_cost = 1;
if (argc < 5)
{
- vty_out (vty, "Insufficient arguments%s", VTYNL);
+ vty_out (vty, "Insufficient arguments\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
interval = strtoul(argv[idx_number]->arg, NULL, 10);
if (argc < 4)
{
- vty_out (vty, "Insufficient arguments%s", VTYNL);
+ vty_out (vty, "Insufficient arguments\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
arrival = strtoul(argv[idx_number]->arg, NULL, 10);
if (argc < 6)
{
- vty_out (vty, "Insufficient arguments%s", VTYNL);
+ vty_out (vty, "Insufficient arguments\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
delay = strtoul(argv[idx_number]->arg, NULL, 10);
if (argc < 4)
{
- vty_out (vty, "Insufficient number of arguments%s", VTYNL);
+ vty_out (vty, "Insufficient number of arguments\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
minarrival = strtoul(argv[idx_number]->arg, NULL, 10);
refbw = strtol (argv[idx_number]->arg, NULL, 10);
if (refbw < 1 || refbw > 4294967)
{
- vty_out (vty, "reference-bandwidth value is invalid%s", VTYNL);
+ vty_out (vty, "reference-bandwidth value is invalid\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* If reference bandwidth is changed. */
write_oi_count = strtol (argv[idx_number]->arg, NULL, 10);
if (write_oi_count < 1 || write_oi_count > 100)
{
- vty_out (vty, "write-multiplier value is invalid%s", VTYNL);
+ vty_out (vty, "write-multiplier value is invalid\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf->write_oi_count = write_oi_count;
ret = inet_aton(argv[idx_ipv4]->arg, &addr);
if (!ret)
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
return CMD_SUCCESS;
}
- vty_out (vty, "You shouldn't get here!%s", VTYNL);
+ vty_out (vty, "You shouldn't get here!\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (ip_ospf_authentication,
ret = inet_aton(argv[idx_ipv4]->arg, &addr);
if (!ret)
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
ret = inet_aton(argv[idx_ipv4]->arg, &addr);
if (!ret)
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- 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);
+ vty_out (vty, "Ip Address specified is unknown\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params->auth_type = OSPF_AUTH_NOTSET;
UNSET_IF_PARAM (params, auth_type);
}
else
{
- vty_out (vty, "Unexpected input encountered%s", VTYNL);
+ vty_out (vty, "Unexpected input encountered\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/*
* Here we have a case where the user has entered
ret = inet_aton(argv[idx_ipv4]->arg, &addr);
if (!ret)
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- 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);
+ vty_out (vty, "Ip Address specified is unknown\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params->auth_type = OSPF_AUTH_NOTSET;
{
if (!inet_aton(argv[idx]->arg, &addr))
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
{
if (!inet_aton(argv[idx]->arg, &addr))
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
{
if (!inet_aton(argv[idx]->arg, &addr))
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
key_id = strtol (keyid, NULL, 10);
if (ospf_crypt_key_lookup (params->auth_crypt, key_id) != NULL)
{
- vty_out (vty, "OSPF: Key %d already exists%s", key_id, VTYNL);
+ vty_out (vty, "OSPF: Key %d already exists\n", key_id);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ck = ospf_crypt_key_new ();
{
if (!inet_aton(argv[idx]->arg, &addr))
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
ck = ospf_crypt_key_lookup (params->auth_crypt, key_id);
if (ck == NULL)
{
- vty_out (vty, "OSPF: Key %d does not exist%s", key_id, VTYNL);
+ vty_out (vty, "OSPF: Key %d does not exist\n", key_id);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ospf_crypt_key_delete (params->auth_crypt, key_id);
{
if(!inet_aton(ifaddr, &addr))
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
{
if (!inet_aton(ifaddr, &addr))
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
ret = inet_aton(nbr_str, &addr);
if (!ret)
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
}
else
{
- vty_out (vty, "Please specify dead-interval or hello-multiplier%s",
- VTYNL);
+ vty_out (vty, "Please specify dead-interval or hello-multiplier\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
SET_IF_PARAM (params, v_wait);
ret = inet_aton(argv[idx_ipv4]->arg, &addr);
if (!ret)
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
{
if(!inet_aton(argv[idx]->arg, &addr))
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
{
if(!inet_aton(argv[idx]->arg, &addr))
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
if (old_type == OSPF_IFTYPE_LOOPBACK)
{
- vty_out (vty, "This is a loopback interface. Can't set network type.%s", VTYNL);
+ vty_out (vty, "This is a loopback interface. Can't set network type.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (argv_find (argv, argc, "broadcast", &idx))
{
if (!inet_aton(argv[idx]->arg, &addr))
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
{
if (!inet_aton(argv[idx]->arg, &addr))
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
{
if (!inet_aton(argv[idx]->arg, &addr))
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
{
if (!inet_aton(argv[idx]->arg, &addr))
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
{
if (!inet_aton(argv[idx]->arg, &addr))
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
{
if (!inet_aton(argv[idx]->arg, &addr))
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_lookup_if_params (ifp, addr);
ret = str2area_id (areaid, &area_id, &format);
if (ret < 0)
{
- vty_out (vty, "Please specify area by A.B.C.D|<0-4294967295>%s",
- VTYNL);
+ vty_out (vty, "Please specify area by A.B.C.D|<0-4294967295>\n");
- 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);
+ vty_out (vty, "Cannot enable OSPF on a virtual link.\n");
- 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(¶ms->if_area, &area_id))
{
vty_out (vty,
- "Must remove previous area config before changing ospf area %s",
- VTYNL);
+ "Must remove previous area config before changing ospf area \n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
// Check if we have an address arg and proccess it
{
if (rn->info != NULL)
{
- vty_out (vty, "Please remove all network commands first.%s", VTYNL);
+ vty_out (vty, "Please remove all network commands first.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
if (!OSPF_IF_PARAM_CONFIGURED(params, if_area))
{
- vty_outln (vty, "Can't find specified interface area configuration.");
+ vty_out (vty, "Can't find specified interface area configuration.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
UNSET_IF_PARAM (params, if_area);
if ((source == ZEBRA_ROUTE_OSPF) && !ospf->instance)
{
- vty_out (vty, "Instance redistribution in non-instanced OSPF not allowed%s",
- VTYNL);
+ vty_out (vty, "Instance redistribution in non-instanced OSPF not allowed\n");
- 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);
+ vty_out (vty, "Same instance OSPF redistribution not allowed\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get metric value. */
if ((source == ZEBRA_ROUTE_OSPF) && !ospf->instance)
{
- vty_out (vty, "Instance redistribution in non-instanced OSPF not allowed%s",
- VTYNL);
+ vty_out (vty, "Instance redistribution in non-instanced OSPF not allowed\n");
- 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);
+ vty_out (vty, "Same instance OSPF redistribution not allowed\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
red = ospf_redist_lookup(ospf, source, instance);
ret = inet_aton(argv[idx_ipv4]->arg, &addr);
if (!ret)
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
ospf_if_update_params (ifp, addr);
ret = inet_aton(argv[idx_ipv4]->arg, &addr);
if (!ret)
{
- vty_out (vty, "Please specify interface address by A.B.C.D%s",
- VTYNL);
+ vty_out (vty, "Please specify interface address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
params = ospf_get_if_params (ifp, addr);
ospf_if_update_params (ifp, addr);
ret = str2prefix_ipv4 (ip_str, &p);
if (ret == 0)
{
- vty_outln (vty, "Malformed prefix");
+ vty_out (vty, "Malformed prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
distance = atoi (distance_str);
ret = str2prefix_ipv4 (ip_str, &p);
if (ret == 0)
{
- vty_outln (vty, "Malformed prefix");
+ vty_out (vty, "Malformed prefix\n");
- 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");
+ vty_out (vty, "Can't find specified prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
odistance = rn->info;
if (result == PIM_MALLOC_FAIL)
{
- vty_outln (vty, "%% Out of memory");
+ vty_out (vty, "%% Out of memory\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (result == PIM_GROUP_BAD_ADDRESS)
{
- vty_outln (vty, "%% Bad group address specified: %s", group);
+ vty_out (vty, "%% Bad group address specified: %s\n", group);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (result == PIM_RP_BAD_ADDRESS)
{
- vty_outln (vty, "%% Bad RP address specified: %s", rp);
+ vty_out (vty, "%% Bad RP address specified: %s\n", 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);
+ vty_out (vty, "%% No Path to RP address specified: %s\n", rp);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (result == PIM_GROUP_OVERLAP)
{
- vty_outln (vty, "%% Group range specified cannot overlap");
+ vty_out (vty, "%% Group range specified cannot overlap\n");
- 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");
+ vty_out (vty,
+ "%% This group is already covered by a RP prefix-list\n");
- 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");
+ vty_out (vty,
+ "%% The same prefix-list cannot be applied to multiple RPs\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
if (result == PIM_GROUP_BAD_ADDRESS)
{
- vty_outln (vty, "%% Bad group address specified: %s", group);
+ vty_out (vty, "%% Bad group address specified: %s\n", group);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (result == PIM_RP_BAD_ADDRESS)
{
- vty_outln (vty, "%% Bad RP address specified: %s", rp);
+ vty_out (vty, "%% Bad RP address specified: %s\n", rp);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (result == PIM_RP_NOT_FOUND)
{
- vty_outln (vty, "%% Unable to find specified RP");
+ vty_out (vty, "%% Unable to find specified RP\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
switch (result)
{
case PIM_SSM_ERR_NO_VRF:
- vty_outln (vty, "%% VRF doesn't exist");
+ vty_out (vty, "%% VRF doesn't exist\n");
break;
case PIM_SSM_ERR_DUP:
- vty_outln (vty, "%% duplicate config");
+ vty_out (vty, "%% duplicate config\n");
break;
default:
- vty_outln (vty, "%% ssm range config failed");
+ vty_out (vty, "%% ssm range config failed\n");
}
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (ip_pim_ssm_prefix_list,
if (ssm->plist_name && !strcmp(ssm->plist_name, argv[0]->arg))
return pim_ssm_cmd_worker (vty, NULL);
- vty_outln (vty, "%% pim ssm prefix-list %s doesn't exist",
+ vty_out (vty, "%% pim ssm prefix-list %s doesn't exist\n",
argv[0]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
static void
result = inet_pton(AF_INET, source_str, &source_addr);
if (result <= 0) {
- vty_outln (vty, "%% Bad source address %s: errno=%d: %s",
+ vty_out (vty, "%% Bad source address %s: errno=%d: %s\n",
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",
+ vty_out (vty, "%% Failure starting ssmpingd for source %s: %d\n",
source_str, result);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
result = inet_pton(AF_INET, source_str, &source_addr);
if (result <= 0) {
- vty_outln (vty, "%% Bad source address %s: errno=%d: %s",
+ vty_out (vty, "%% Bad source address %s: errno=%d: %s\n",
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",
+ vty_out (vty, "%% Failure stopping ssmpingd for source %s: %d\n",
source_str, result);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
pim_ifp = pim_if_new(ifp, 1 /* igmp=true */, 0 /* pim=false */);
if (!pim_ifp)
{
- vty_outln (vty, "Could not enable IGMP on interface %s",
+ vty_out (vty, "Could not enable IGMP on interface %s\n",
ifp->name);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
need_startup = 1;
}
group_str = argv[idx_ipv4]->arg;
result = inet_pton(AF_INET, group_str, &group_addr);
if (result <= 0) {
- vty_outln (vty, "Bad group address %s: errno=%d: %s",
+ vty_out (vty, "Bad group address %s: errno=%d: %s\n",
group_str, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Source address */
source_str = argv[idx_ipv4_2]->arg;
result = inet_pton(AF_INET, source_str, &source_addr);
if (result <= 0) {
- vty_outln (vty, "Bad source address %s: errno=%d: %s",
+ vty_out (vty, "Bad source address %s: errno=%d: %s\n",
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",
+ vty_out (vty, "%% Failure joining IGMP group %s source %s on interface %s: %d\n",
group_str, source_str, ifp->name, result);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
group_str = argv[idx_ipv4]->arg;
result = inet_pton(AF_INET, group_str, &group_addr);
if (result <= 0) {
- vty_outln (vty, "Bad group address %s: errno=%d: %s",
+ vty_out (vty, "Bad group address %s: errno=%d: %s\n",
group_str, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Source address */
source_str = argv[idx_ipv4_2]->arg;
result = inet_pton(AF_INET, source_str, &source_addr);
if (result <= 0) {
- vty_outln (vty, "Bad source address %s: errno=%d: %s",
+ vty_out (vty, "Bad source address %s: errno=%d: %s\n",
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",
+ vty_out (vty, "%% Failure leaving IGMP group %s source %s on interface %s: %d\n",
group_str, source_str, ifp->name, result);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
already, but we verify them anyway for extra safety.
*/
if (query_interval < IGMP_QUERY_INTERVAL_MIN) {
- vty_outln (vty, "General query interval %d lower than minimum %d",
+ vty_out (vty, "General query interval %d lower than minimum %d\n",
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",
+ vty_out (vty, "General query interval %d higher than maximum %d\n",
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.",
+ vty_out (vty,
+ "Can't set general query interval %d dsec <= query max response time %d dsec.\n",
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);
default_query_interval_dsec = IGMP_GENERAL_QUERY_INTERVAL * 10;
if (default_query_interval_dsec <= pim_ifp->igmp_query_max_response_time_dsec) {
- vty_outln (vty,
- "Can't set default general query interval %d dsec <= query max response time %d dsec.",
+ vty_out (vty,
+ "Can't set default general query interval %d dsec <= query max response time %d dsec.\n",
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);
query_max_response_time = atoi(argv[3]->arg);
if (query_max_response_time >= pim_ifp->igmp_default_query_interval * 10) {
- vty_outln (vty,
- "Can't set query max response time %d sec >= general query interval %d sec",
+ vty_out (vty,
+ "Can't set query max response time %d sec >= general query interval %d sec\n",
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);
default_query_interval_dsec = 10 * pim_ifp->igmp_default_query_interval;
if (query_max_response_time_dsec >= default_query_interval_dsec) {
- vty_outln (vty,
- "Can't set query max response time %d dsec >= general query interval %d dsec",
+ vty_out (vty,
+ "Can't set query max response time %d dsec >= general query interval %d dsec\n",
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);
uint32_t old_dr_prio;
if (!pim_ifp) {
- vty_outln (vty, "Please enable PIM on interface, first");
+ vty_out (vty, "Please enable PIM on interface, first\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
old_dr_prio = pim_ifp->pim_dr_priority;
struct pim_interface *pim_ifp = ifp->info;
if (!pim_ifp) {
- vty_outln (vty, "Pim not enabled on this interface");
+ vty_out (vty, "Pim not enabled on this interface\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (pim_ifp->pim_dr_priority != PIM_DEFAULT_DR_PRIORITY) {
VTY_DECLVAR_CONTEXT(interface, ifp);
if (!pim_cmd_interface_add(ifp)) {
- vty_outln (vty, "Could not enable PIM SM on interface");
+ vty_out (vty, "Could not enable PIM SM on interface\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
- vty_outln(vty, "WARN: Enabled PIM SM on interface; configure PIM SSM "
- "range if needed");
+ vty_out(vty, "WARN: Enabled PIM SM on interface; configure PIM SSM "
+ "range if needed\n");
return CMD_SUCCESS;
}
{
VTY_DECLVAR_CONTEXT(interface, ifp);
if (!pim_cmd_interface_add(ifp)) {
- vty_outln (vty, "Could not enable PIM SM on interface");
+ vty_out (vty, "Could not enable PIM SM on interface\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
pim_if_create_pimreg();
{
VTY_DECLVAR_CONTEXT(interface, ifp);
if (!pim_cmd_interface_delete(ifp)) {
- vty_outln (vty, "Unable to delete interface information");
+ vty_out (vty, "Unable to delete interface information\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
{
VTY_DECLVAR_CONTEXT(interface, ifp);
if (!pim_cmd_interface_delete(ifp)) {
- vty_outln (vty, "Unable to delete interface information");
+ vty_out (vty, "Unable to delete interface information\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
oifname = argv[idx_interface]->arg;
oif = if_lookup_by_name(oifname, VRF_DEFAULT);
if (!oif) {
- vty_outln (vty, "No such interface name %s",
+ vty_out (vty, "No such interface name %s\n",
oifname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
grp_str = argv[idx_ipv4]->arg;
result = inet_pton(AF_INET, grp_str, &grp_addr);
if (result <= 0) {
- vty_outln (vty, "Bad group address %s: errno=%d: %s",
+ vty_out (vty, "Bad group address %s: errno=%d: %s\n",
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");
+ vty_out (vty, "Failed to add route\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
oifname = argv[idx_interface]->arg;
oif = if_lookup_by_name(oifname, VRF_DEFAULT);
if (!oif) {
- vty_outln (vty, "No such interface name %s",
+ vty_out (vty, "No such interface name %s\n",
oifname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
grp_str = argv[idx_ipv4]->arg;
result = inet_pton(AF_INET, grp_str, &grp_addr);
if (result <= 0) {
- vty_outln (vty, "Bad group address %s: errno=%d: %s",
+ vty_out (vty, "Bad group address %s: errno=%d: %s\n",
grp_str, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
src_str = argv[idx_ipv4_2]->arg;
result = inet_pton(AF_INET, src_str, &src_addr);
if (result <= 0) {
- vty_outln (vty, "Bad source address %s: errno=%d: %s",
+ vty_out (vty, "Bad source address %s: errno=%d: %s\n",
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");
+ vty_out (vty, "Failed to add route\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
oifname = argv[idx_interface]->arg;
oif = if_lookup_by_name(oifname, VRF_DEFAULT);
if (!oif) {
- vty_outln (vty, "No such interface name %s",
+ vty_out (vty, "No such interface name %s\n",
oifname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
grp_str = argv[idx_ipv4]->arg;
result = inet_pton(AF_INET, grp_str, &grp_addr);
if (result <= 0) {
- vty_outln (vty, "Bad group address %s: errno=%d: %s",
+ vty_out (vty, "Bad group address %s: errno=%d: %s\n",
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");
+ vty_out (vty, "Failed to remove route\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
oifname = argv[idx_interface]->arg;
oif = if_lookup_by_name(oifname, VRF_DEFAULT);
if (!oif) {
- vty_outln (vty, "No such interface name %s",
+ vty_out (vty, "No such interface name %s\n",
oifname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
grp_str = argv[idx_ipv4]->arg;
result = inet_pton(AF_INET, grp_str, &grp_addr);
if (result <= 0) {
- vty_outln (vty, "Bad group address %s: errno=%d: %s",
+ vty_out (vty, "Bad group address %s: errno=%d: %s\n",
grp_str, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
src_str = argv[idx_ipv4_2]->arg;
result = inet_pton(AF_INET, src_str, &src_addr);
if (result <= 0) {
- vty_outln (vty, "Bad source address %s: errno=%d: %s",
+ vty_out (vty, "Bad source address %s: errno=%d: %s\n",
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");
+ vty_out (vty, "Failed to remove route\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
{
if (!pim_cmd_interface_add(ifp))
{
- vty_outln (vty, "Could not enable PIM SM on interface");
+ vty_out (vty, "Could not enable PIM SM on interface\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
struct pim_interface *pim_ifp = ifp->info;
if (!pim_ifp) {
- vty_outln (vty, "Pim not enabled on this interface");
+ vty_out (vty, "Pim not enabled on this interface\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
pim_ifp->pim_hello_period = PIM_DEFAULT_HELLO_PERIOD;
result = inet_pton(AF_INET, source, &source_addr);
if (result <= 0) {
- vty_outln (vty, "%% Bad source address %s: errno=%d: %s",
+ vty_out (vty, "%% Bad source address %s: errno=%d: %s\n",
source, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
result = pim_update_source_set(ifp, source_addr);
case PIM_SUCCESS:
break;
case PIM_IFACE_NOT_FOUND:
- vty_outln (vty, "Pim not enabled on this interface");
+ vty_out (vty, "Pim not enabled on this interface\n");
break;
case PIM_UPDATE_SOURCE_DUP:
- vty_outln (vty, "%% Source already set to %s", source);
+ vty_out (vty, "%% Source already set to %s\n", source);
break;
default:
- vty_outln (vty, "%% Source set failed");
+ vty_out (vty, "%% Source set failed\n");
}
- return result?CMD_WARNING:CMD_SUCCESS;
+ return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
}
DEFUN (interface_pim_use_source,
result = inet_pton(AF_INET, peer, &peer_addr);
if (result <= 0) {
- vty_outln (vty, "%% Bad peer address %s: errno=%d: %s",
+ vty_out (vty, "%% Bad peer address %s: errno=%d: %s\n",
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",
+ vty_out (vty, "%% Bad source address %s: errno=%d: %s\n",
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 */);
case PIM_MSDP_ERR_NONE:
break;
case PIM_MSDP_ERR_OOM:
- vty_outln (vty, "%% Out of memory");
+ vty_out (vty, "%% Out of memory\n");
break;
case PIM_MSDP_ERR_PEER_EXISTS:
- vty_outln (vty, "%% Peer exists");
+ vty_out (vty, "%% Peer exists\n");
break;
case PIM_MSDP_ERR_MAX_MESH_GROUPS:
- vty_outln (vty, "%% Only one mesh-group allowed currently");
+ vty_out (vty, "%% Only one mesh-group allowed currently\n");
break;
default:
- vty_outln (vty, "%% peer add failed");
+ vty_out (vty, "%% peer add failed\n");
}
- return result?CMD_WARNING:CMD_SUCCESS;
+ return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
}
DEFUN_HIDDEN (ip_msdp_peer,
result = inet_pton(AF_INET, peer, &peer_addr);
if (result <= 0) {
- vty_outln (vty, "%% Bad peer address %s: errno=%d: %s",
+ vty_out (vty, "%% Bad peer address %s: errno=%d: %s\n",
peer, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
result = pim_msdp_peer_del(peer_addr);
case PIM_MSDP_ERR_NONE:
break;
case PIM_MSDP_ERR_NO_PEER:
- vty_outln (vty, "%% Peer does not exist");
+ vty_out (vty, "%% Peer does not exist\n");
break;
default:
- vty_outln (vty, "%% peer del failed");
+ vty_out (vty, "%% peer del failed\n");
}
- return result?CMD_WARNING:CMD_SUCCESS;
+ return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
}
DEFUN_HIDDEN (no_ip_msdp_peer,
result = inet_pton(AF_INET, mbr, &mbr_ip);
if (result <= 0) {
- vty_outln (vty, "%% Bad member address %s: errno=%d: %s",
+ vty_out (vty, "%% Bad member address %s: errno=%d: %s\n",
mbr, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
result = pim_msdp_mg_mbr_add(mg, mbr_ip);
case PIM_MSDP_ERR_NONE:
break;
case PIM_MSDP_ERR_OOM:
- vty_outln (vty, "%% Out of memory");
+ vty_out (vty, "%% Out of memory\n");
break;
case PIM_MSDP_ERR_MG_MBR_EXISTS:
- vty_outln (vty, "%% mesh-group member exists");
+ vty_out (vty, "%% mesh-group member exists\n");
break;
case PIM_MSDP_ERR_MAX_MESH_GROUPS:
- vty_outln (vty, "%% Only one mesh-group allowed currently");
+ vty_out (vty, "%% Only one mesh-group allowed currently\n");
break;
default:
- vty_outln (vty, "%% member add failed");
+ vty_out (vty, "%% member add failed\n");
}
- return result?CMD_WARNING:CMD_SUCCESS;
+ return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
}
DEFUN (ip_msdp_mesh_group_member,
result = inet_pton(AF_INET, mbr, &mbr_ip);
if (result <= 0) {
- vty_outln (vty, "%% Bad member address %s: errno=%d: %s",
+ vty_out (vty, "%% Bad member address %s: errno=%d: %s\n",
mbr, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
result = pim_msdp_mg_mbr_del(mg, mbr_ip);
case PIM_MSDP_ERR_NONE:
break;
case PIM_MSDP_ERR_NO_MG:
- vty_outln (vty, "%% mesh-group does not exist");
+ vty_out (vty, "%% mesh-group does not exist\n");
break;
case PIM_MSDP_ERR_NO_MG_MBR:
- vty_outln (vty, "%% mesh-group member does not exist");
+ vty_out (vty, "%% mesh-group member does not exist\n");
break;
default:
- vty_outln (vty, "%% mesh-group member del failed");
+ vty_out (vty, "%% mesh-group member del failed\n");
}
- 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,
result = inet_pton(AF_INET, src, &src_ip);
if (result <= 0) {
- vty_outln (vty, "%% Bad source address %s: errno=%d: %s",
+ vty_out (vty, "%% Bad source address %s: errno=%d: %s\n",
src, errno, safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
result = pim_msdp_mg_src_add(mg, src_ip);
case PIM_MSDP_ERR_NONE:
break;
case PIM_MSDP_ERR_OOM:
- vty_outln (vty, "%% Out of memory");
+ vty_out (vty, "%% Out of memory\n");
break;
case PIM_MSDP_ERR_MAX_MESH_GROUPS:
- vty_outln (vty, "%% Only one mesh-group allowed currently");
+ vty_out (vty, "%% Only one mesh-group allowed currently\n");
break;
default:
- vty_outln (vty, "%% source add failed");
+ vty_out (vty, "%% source add failed\n");
}
- return result?CMD_WARNING:CMD_SUCCESS;
+ return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
}
case PIM_MSDP_ERR_NONE:
break;
case PIM_MSDP_ERR_NO_MG:
- vty_outln (vty, "%% mesh-group does not exist");
+ vty_out (vty, "%% mesh-group does not exist\n");
break;
default:
- vty_outln (vty, "%% mesh-group source del failed");
+ vty_out (vty, "%% mesh-group source del failed\n");
}
- return result?CMD_WARNING:CMD_SUCCESS;
+ return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
}
static int
case PIM_MSDP_ERR_NONE:
break;
case PIM_MSDP_ERR_NO_MG:
- vty_outln (vty, "%% mesh-group does not exist");
+ vty_out (vty, "%% mesh-group does not exist\n");
break;
default:
- vty_outln (vty, "%% mesh-group source del failed");
+ vty_out (vty, "%% mesh-group source del failed\n");
}
- return result ? CMD_WARNING : CMD_SUCCESS;
+ return result ? CMD_WARNING_CONFIG_FAILED : CMD_SUCCESS;
}
DEFUN (no_ip_msdp_mesh_group_source,
if (ret < 0)
{
- vty_outln (vty, "There is a same network configuration %s",
+ vty_out (vty, "There is a same network configuration %s\n",
argv[idx_ipv4_word]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
if (ret < 0)
{
- vty_outln (vty, "Can't find network configuration %s",
+ vty_out (vty, "Can't find network configuration %s\n",
argv[idx_ipv4_word]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
if (ret <= 0)
{
- vty_outln (vty, "Please specify address by A.B.C.D");
+ vty_out (vty, "Please specify address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rip_neighbor_add (&p);
if (ret <= 0)
{
- vty_outln (vty, "Please specify address by A.B.C.D");
+ vty_out (vty, "Please specify address by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rip_neighbor_delete (&p);
{
if (auth_type != RIP_AUTH_MD5)
{
- vty_outln (vty, "auth length argument only valid for md5");
+ vty_out (vty, "auth length argument only valid for md5\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (strmatch ("rfc", authlen))
ri->md5_auth_len = RIP_AUTH_MD5_SIZE;
if (strlen (argv[idx_line]->arg) > 16)
{
- vty_outln (vty,
- "%% RIPv2 authentication string must be shorter than 16");
+ vty_out (vty,
+ "%% RIPv2 authentication string must be shorter than 16\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ri->key_chain)
{
- vty_outln (vty, "%% key-chain configuration exists");
+ vty_out (vty, "%% key-chain configuration exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ri->auth_str)
if (ri->auth_str)
{
- vty_outln (vty,"%% authentication string configuration exists");
+ vty_out (vty,"%% authentication string configuration exists\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ri->key_chain)
direct = RIP_OFFSET_LIST_OUT;
else
{
- vty_outln (vty, "Invalid direction: %s", direct_str);
+ vty_out (vty, "Invalid direction: %s\n", direct_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check metric. */
metric = atoi (metric_str);
if (metric < 0 || metric > 16)
{
- vty_outln (vty, "Invalid metric: %s", metric_str);
+ vty_out (vty, "Invalid metric: %s\n", metric_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get offset-list structure with interface name. */
direct = RIP_OFFSET_LIST_OUT;
else
{
- vty_outln (vty, "Invalid direction: %s", direct_str);
+ vty_out (vty, "Invalid direction: %s\n", direct_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check metric. */
metric = atoi (metric_str);
if (metric < 0 || metric > 16)
{
- vty_outln (vty, "Invalid metric: %s", metric_str);
+ vty_out (vty, "Invalid metric: %s\n", metric_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get offset-list structure with interface name. */
}
else
{
- vty_outln (vty, "Can't find offset-list");
+ vty_out (vty, "Can't find offset-list\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
}
}
- vty_outln (vty, "Invalid type %s",argv[1]->arg);
+ vty_out (vty, "Invalid type %s\n",argv[1]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (no_rip_redistribute_type,
}
}
- vty_outln (vty, "Invalid type %s",argv[2]->arg);
+ vty_out (vty, "Invalid type %s\n",argv[2]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (rip_redistribute_type_routemap,
}
}
- vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
+ vty_out (vty, "Invalid type %s\n", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (no_rip_redistribute_type_routemap,
}
}
- vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
+ vty_out (vty, "Invalid type %s\n", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (rip_redistribute_type_metric,
}
}
- vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
+ vty_out (vty, "Invalid type %s\n", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (no_rip_redistribute_type_metric,
}
}
- vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
+ vty_out (vty, "Invalid type %s\n", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
DEFUN (rip_redistribute_type_metric_routemap,
}
}
- vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
+ vty_out (vty, "Invalid type %s\n", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
}
- vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
+ vty_out (vty, "Invalid type %s\n", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Default information originate. */
version = atoi (argv[idx_number]->arg);
if (version != RIPv1 && version != RIPv2)
{
- vty_outln (vty, "invalid rip version %d",version);
+ vty_out (vty, "invalid rip version %d\n",version);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rip->version_send = version;
rip->version_recv = version;
ret = str2prefix_ipv4 (argv[idx_ipv4_prefixlen]->arg, &p);
if (ret < 0)
{
- vty_outln (vty, "Malformed address");
+ vty_out (vty, "Malformed address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask_ipv4 (&p);
if (node->info)
{
- vty_outln (vty, "There is already same static route.");
+ vty_out (vty, "There is already same static route.\n");
route_unlock_node (node);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
node->info = (void *)1;
ret = str2prefix_ipv4 (argv[idx_ipv4_prefixlen]->arg, &p);
if (ret < 0)
{
- vty_outln (vty, "Malformed address");
+ vty_out (vty, "Malformed address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask_ipv4 (&p);
node = route_node_lookup (rip->route, (struct prefix *) &p);
if (! node)
{
- vty_outln (vty, "Can't find route %s.",argv[idx_ipv4_prefixlen]->arg);
+ vty_out (vty, "Can't find route %s.\n",argv[idx_ipv4_prefixlen]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rip_redistribute_delete (ZEBRA_ROUTE_RIP, RIP_ROUTE_STATIC, &p, 0);
update = strtoul (argv[idx_number]->arg, &endptr, 10);
if (update > RIP_TIMER_MAX || update < RIP_TIMER_MIN || *endptr != '\0')
{
- vty_outln (vty, "update timer value error");
+ vty_out (vty, "update timer value error\n");
- 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");
+ vty_out (vty, "timeout timer value error\n");
- 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");
+ vty_out (vty, "garbage timer value error\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Set each timer value. */
ret = str2prefix_ipv4 (ip_str, &p);
if (ret == 0)
{
- vty_outln (vty, "Malformed prefix");
+ vty_out (vty, "Malformed prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
distance = atoi (distance_str);
ret = str2prefix_ipv4 (ip_str, &p);
if (ret == 0)
{
- vty_outln (vty, "Malformed prefix");
+ vty_out (vty, "Malformed prefix\n");
- 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");
+ vty_out (vty, "Can't find specified prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rdistance = rn->info;
{
if (rip->ecmp)
{
- vty_outln (vty, "ECMP is already enabled.");
+ vty_out (vty, "ECMP is already enabled.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rip->ecmp = 1;
{
if (!rip->ecmp)
{
- vty_outln (vty, "ECMP is already disabled.");
+ vty_out (vty, "ECMP is already disabled.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rip->ecmp = 0;
if (ret < 0)
{
- vty_outln (vty, "There is same network configuration %s",
+ vty_out (vty, "There is same network configuration %s\n",
argv[idx_if_or_addr]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
if (ret < 0)
{
- vty_outln (vty, "can't find network %s",argv[idx_if_or_addr]->arg);
+ vty_out (vty, "can't find network %s\n",argv[idx_if_or_addr]->arg);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
direct = RIPNG_OFFSET_LIST_OUT;
else
{
- vty_outln (vty, "Invalid direction: %s", direct_str);
+ vty_out (vty, "Invalid direction: %s\n", direct_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check metric. */
metric = atoi (metric_str);
if (metric < 0 || metric > 16)
{
- vty_outln (vty, "Invalid metric: %s", metric_str);
+ vty_out (vty, "Invalid metric: %s\n", metric_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get offset-list structure with interface name. */
direct = RIPNG_OFFSET_LIST_OUT;
else
{
- vty_outln (vty, "Invalid direction: %s", direct_str);
+ vty_out (vty, "Invalid direction: %s\n", direct_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check metric. */
metric = atoi (metric_str);
if (metric < 0 || metric > 16)
{
- vty_outln (vty, "Invalid metric: %s", metric_str);
+ vty_out (vty, "Invalid metric: %s\n", metric_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Get offset-list structure with interface name. */
}
else
{
- vty_outln (vty, "Can't find offset-list");
+ vty_out (vty, "Can't find offset-list\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
}
if (type < 0)
{
- vty_outln (vty, "Invalid type %s", proto);
+ vty_out (vty, "Invalid type %s\n", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
zclient_redistribute (ZEBRA_REDISTRIBUTE_ADD, zclient, AFI_IP6, type, 0, VRF_DEFAULT);
if (type < 0)
{
- vty_outln (vty, "Invalid type %s", proto);
+ vty_out (vty, "Invalid type %s\n", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng_redistribute_metric_unset (type);
if (type < 0)
{
- vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
+ vty_out (vty, "Invalid type %s\n", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng_redistribute_metric_set (type, metric);
if (type < 0)
{
- vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
+ vty_out (vty, "Invalid type %s\n", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng_redistribute_routemap_set (type, argv[idx_word]->text);
if (type < 0)
{
- vty_outln (vty, "Invalid type %s", argv[idx_protocol]->text);
+ vty_out (vty, "Invalid type %s\n", argv[idx_protocol]->text);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng_redistribute_metric_set (type, metric);
ret = str2prefix_ipv6 (argv[idx_ipv6addr]->arg, (struct prefix_ipv6 *)&p);
if (ret <= 0)
{
- vty_outln (vty, "Malformed address");
+ vty_out (vty, "Malformed address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask_ipv6 (&p);
rp = route_node_get (ripng->route, (struct prefix *) &p);
if (rp->info)
{
- vty_outln (vty, "There is already same static route.");
+ vty_out (vty, "There is already same static route.\n");
route_unlock_node (rp);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
rp->info = (void *)1;
ret = str2prefix_ipv6 (argv[idx_ipv6addr]->arg, (struct prefix_ipv6 *)&p);
if (ret <= 0)
{
- vty_outln (vty, "Malformed address");
+ vty_out (vty, "Malformed address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask_ipv6 (&p);
rp = route_node_lookup (ripng->route, (struct prefix *) &p);
if (! rp)
{
- vty_outln (vty, "Can't find static route.");
+ vty_out (vty, "Can't find static route.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng_redistribute_delete (ZEBRA_ROUTE_RIPNG, RIPNG_ROUTE_STATIC, &p, 0);
ret = str2prefix_ipv6 (argv[idx_ipv6_prefixlen]->arg, (struct prefix_ipv6 *)&p);
if (ret <= 0)
{
- vty_outln (vty, "Malformed address");
+ vty_out (vty, "Malformed address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check aggregate alredy exist or not. */
node = route_node_get (ripng->aggregate, &p);
if (node->info)
{
- vty_outln (vty, "There is already same aggregate route.");
+ vty_out (vty, "There is already same aggregate route.\n");
route_unlock_node (node);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
node->info = (void *)1;
ret = str2prefix_ipv6 (argv[idx_ipv6_prefixlen]->arg, (struct prefix_ipv6 *) &p);
if (ret <= 0)
{
- vty_outln (vty, "Malformed address");
+ vty_out (vty, "Malformed address\n");
- 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.");
+ vty_out (vty, "Can't find aggregate route.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
route_unlock_node (rn);
rn->info = NULL;
update = strtoul (argv[0], &endptr, 10);
if (update == ULONG_MAX || *endptr != '\0')
{
- vty_out (vty, "update timer value error%s", VTYNL);
+ vty_out (vty, "update timer value error\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng->update_time = update;
timeout = strtoul (argv[0], &endptr, 10);
if (timeout == ULONG_MAX || *endptr != '\0')
{
- vty_out (vty, "timeout timer value error%s", VTYNL);
+ vty_out (vty, "timeout timer value error\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng->timeout_time = timeout;
garbage = strtoul (argv[0], &endptr, 10);
if (garbage == ULONG_MAX || *endptr != '\0')
{
- vty_out (vty, "garbage timer value error%s", VTYNL);
+ vty_out (vty, "garbage timer value error\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng->garbage_time = garbage;
{
if (ripng->ecmp)
{
- vty_outln (vty, "ECMP is already enabled.");
+ vty_out (vty, "ECMP is already enabled.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng->ecmp = 1;
{
if (!ripng->ecmp)
{
- vty_outln (vty, "ECMP is already disabled.");
+ vty_out (vty, "ECMP is already disabled.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ripng->ecmp = 0;
ret = if_set_flags (ifp, IFF_MULTICAST);
if (ret < 0)
{
- vty_outln (vty, "Can't set multicast flag");
+ vty_out (vty, "Can't set multicast flag\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if_refresh (ifp);
}
ret = if_unset_flags (ifp, IFF_MULTICAST);
if (ret < 0)
{
- vty_outln (vty, "Can't unset multicast flag");
+ vty_out (vty, "Can't unset multicast flag\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if_refresh (ifp);
}
ret = if_unset_flags (ifp, IFF_UP);
if (ret < 0)
{
- vty_outln (vty, "Can't shutdown interface");
+ vty_out (vty, "Can't shutdown interface\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if_refresh (ifp);
}
ret = if_set_flags (ifp, IFF_UP | IFF_RUNNING);
if (ret < 0)
{
- vty_outln (vty, "Can't up interface");
+ vty_out (vty, "Can't up interface\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if_refresh (ifp);
/* bandwidth range is <1-100000> */
if (bandwidth < 1 || bandwidth > 100000)
{
- vty_outln (vty, "Bandwidth is invalid");
+ vty_out (vty, "Bandwidth is invalid\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ifp->bandwidth = bandwidth;
if (sscanf (argv[idx_bandwidth]->arg, "%g", &bw) != 1)
{
- vty_outln (vty, "link_params_maxbw: fscanf: %s",safe_strerror(errno));
+ vty_out (vty, "link_params_maxbw: fscanf: %s\n",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check that Maximum bandwidth is not lower than other bandwidth parameters */
|| (bw <= iflp->res_bw)
|| (bw <= iflp->use_bw))
{
- vty_outln (vty,
- "Maximum Bandwidth could not be lower than others bandwidth");
+ vty_out (vty,
+ "Maximum Bandwidth could not be lower than others bandwidth\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update Maximum Bandwidth if needed */
if (sscanf (argv[idx_bandwidth]->arg, "%g", &bw) != 1)
{
- vty_outln (vty, "link_params_max_rsv_bw: fscanf: %s",
+ vty_out (vty, "link_params_max_rsv_bw: fscanf: %s\n",
safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check that bandwidth is not greater than maximum bandwidth parameter */
if (bw > iflp->max_bw)
{
- vty_outln (vty,
- "Maximum Reservable Bandwidth could not be greater than Maximum Bandwidth (%g)",
+ vty_out (vty,
+ "Maximum Reservable Bandwidth could not be greater than Maximum Bandwidth (%g)\n",
iflp->max_bw);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update Maximum Reservable Bandwidth if needed */
/* We don't have to consider about range check here. */
if (sscanf (argv[idx_number]->arg, "%d", &priority) != 1)
{
- vty_outln (vty, "link_params_unrsv_bw: fscanf: %s",
+ vty_out (vty, "link_params_unrsv_bw: fscanf: %s\n",
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",
+ vty_out (vty, "link_params_unrsv_bw: fscanf: %s\n",
safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check that bandwidth is not greater than maximum bandwidth parameter */
if (bw > iflp->max_bw)
{
- vty_outln (vty,
- "UnReserved Bandwidth could not be greater than Maximum Bandwidth (%g)",
+ vty_out (vty,
+ "UnReserved Bandwidth could not be greater than Maximum Bandwidth (%g)\n",
iflp->max_bw);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update Unreserved Bandwidth if needed */
if (sscanf (argv[idx_bitpattern]->arg, "0x%lx", &value) != 1)
{
- vty_outln (vty, "link_params_admin_grp: fscanf: %s",
+ vty_out (vty, "link_params_admin_grp: fscanf: %s\n",
safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update Administrative Group if needed */
if (!inet_aton (argv[idx_ipv4]->arg, &addr))
{
- vty_outln (vty, "Please specify Router-Addr by A.B.C.D");
+ vty_out (vty, "Please specify Router-Addr by A.B.C.D\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
as = strtoul(argv[idx_number]->arg, NULL, 10);
if (IS_PARAM_SET(iflp, LP_MM_DELAY)
&& (delay <= iflp->min_delay || delay >= iflp->max_delay))
{
- vty_outln (vty, "Average delay should be comprise between Min (%d) and Max (%d) delay",
+ vty_out (vty, "Average delay should be comprise between Min (%d) and Max (%d) delay\n",
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)
/* Check new delays value coherency */
if (delay <= low || delay >= high)
{
- vty_outln (vty, "Average delay should be comprise between Min (%d) and Max (%d) delay",
+ vty_out (vty, "Average delay should be comprise between Min (%d) and Max (%d) delay\n",
low, high);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update Delays if needed */
if (IS_PARAM_UNSET(iflp, LP_DELAY)
if (sscanf (argv[idx_percentage]->arg, "%g", &fval) != 1)
{
- vty_outln (vty, "link_params_pkt_loss: fscanf: %s",
+ vty_out (vty, "link_params_pkt_loss: fscanf: %s\n",
safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (fval > MAX_PKT_LOSS)
if (sscanf (argv[idx_bandwidth]->arg, "%g", &bw) != 1)
{
- vty_outln (vty, "link_params_res_bw: fscanf: %s",safe_strerror(errno));
+ vty_out (vty, "link_params_res_bw: fscanf: %s\n",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check that bandwidth is not greater than maximum bandwidth parameter */
if (bw > iflp->max_bw)
{
- vty_outln (vty,
- "Residual Bandwidth could not be greater than Maximum Bandwidth (%g)",
+ vty_out (vty,
+ "Residual Bandwidth could not be greater than Maximum Bandwidth (%g)\n",
iflp->max_bw);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update Residual Bandwidth if needed */
if (sscanf (argv[idx_bandwidth]->arg, "%g", &bw) != 1)
{
- vty_outln (vty, "link_params_ava_bw: fscanf: %s",safe_strerror(errno));
+ vty_out (vty, "link_params_ava_bw: fscanf: %s\n",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check that bandwidth is not greater than maximum bandwidth parameter */
if (bw > iflp->max_bw)
{
- vty_outln (vty,
- "Available Bandwidth could not be greater than Maximum Bandwidth (%g)",
+ vty_out (vty,
+ "Available Bandwidth could not be greater than Maximum Bandwidth (%g)\n",
iflp->max_bw);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update Residual Bandwidth if needed */
if (sscanf (argv[idx_bandwidth]->arg, "%g", &bw) != 1)
{
- vty_outln (vty, "link_params_use_bw: fscanf: %s",safe_strerror(errno));
+ vty_out (vty, "link_params_use_bw: fscanf: %s\n",safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check that bandwidth is not greater than maximum bandwidth parameter */
if (bw > iflp->max_bw)
{
- vty_outln (vty,
- "Utilised Bandwidth could not be greater than Maximum Bandwidth (%g)",
+ vty_out (vty,
+ "Utilised Bandwidth could not be greater than Maximum Bandwidth (%g)\n",
iflp->max_bw);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Update Utilized Bandwidth if needed */
ret = str2prefix_ipv4 (addr_str, &cp);
if (ret <= 0)
{
- vty_outln (vty, "%% Malformed address ");
+ vty_out (vty, "%% Malformed address \n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ipv4_martian(&cp.prefix))
{
- vty_outln (vty, "%% Invalid address");
+ vty_out (vty, "%% Invalid address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ifc = connected_check (ifp, (struct prefix *) &cp);
ret = if_set_prefix (ifp, ifc);
if (ret < 0)
{
- vty_outln (vty, "%% Can't set interface IP address: %s.",
+ vty_out (vty, "%% Can't set interface IP address: %s.\n",
safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
SET_FLAG (ifc->conf, ZEBRA_IFC_QUEUED);
ret = str2prefix_ipv4 (addr_str, &cp);
if (ret <= 0)
{
- vty_outln (vty, "%% Malformed address ");
+ vty_out (vty, "%% Malformed address \n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check current interface address. */
ifc = connected_check (ifp, (struct prefix *) &cp);
if (! ifc)
{
- vty_outln (vty, "%% Can't find address");
+ vty_out (vty, "%% Can't find address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* This is not configured address. */
ret = if_unset_prefix (ifp, ifc);
if (ret < 0)
{
- vty_outln (vty, "%% Can't unset interface IP address: %s.",
+ vty_out (vty, "%% Can't unset interface IP address: %s.\n",
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.
ret = str2prefix_ipv6 (addr_str, &cp);
if (ret <= 0)
{
- vty_outln (vty, "%% Malformed address ");
+ vty_out (vty, "%% Malformed address \n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (ipv6_martian(&cp.prefix))
{
- vty_outln (vty, "%% Invalid address");
+ vty_out (vty, "%% Invalid address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ifc = connected_check (ifp, (struct prefix *) &cp);
if (ret < 0)
{
- vty_outln (vty, "%% Can't set interface IP address: %s.",
+ vty_out (vty, "%% Can't set interface IP address: %s.\n",
safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
SET_FLAG (ifc->conf, ZEBRA_IFC_QUEUED);
ret = str2prefix_ipv6 (addr_str, &cp);
if (ret <= 0)
{
- vty_outln (vty, "%% Malformed address ");
+ vty_out (vty, "%% Malformed address \n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Check current interface address. */
ifc = connected_check (ifp, (struct prefix *) &cp);
if (! ifc)
{
- vty_outln (vty, "%% Can't find address");
+ vty_out (vty, "%% Can't find address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* This is not configured address. */
ret = if_prefix_delete_ipv6 (ifp, ifc);
if (ret < 0)
{
- vty_outln (vty, "%% Can't unset interface IP address: %s.",
+ vty_out (vty, "%% Can't unset interface IP address: %s.\n",
safe_strerror(errno));
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
UNSET_FLAG (ifc->conf, ZEBRA_IFC_QUEUED);
return CMD_SUCCESS;
}
else {
- vty_outln (vty, "%% MinAdvertInterval must be less than or equal to "
- "MaxAdvertInterval");
+ vty_out (vty, "%% MinAdvertInterval must be less than or equal to "
+ "MaxAdvertInterval\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
return CMD_SUCCESS;
}
else {
- vty_outln (vty, "%% MaxAdvertInterval must be greater than or equal to "
- "MinAdvertInterval");
+ vty_out (vty, "%% MaxAdvertInterval must be greater than or equal to "
+ "MinAdvertInterval\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
if (if_is_loopback (ifp) ||
CHECK_FLAG(ifp->status, ZEBRA_INTERFACE_VRF_LOOPBACK))
{
- vty_outln (vty,
- "Cannot configure IPv6 Router Advertisements on this interface");
+ vty_out (vty,
+ "Cannot configure IPv6 Router Advertisements on this interface\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ipv6_nd_suppress_ra_set (ifp, RA_SUPPRESS);
if (if_is_loopback (ifp) ||
CHECK_FLAG(ifp->status, ZEBRA_INTERFACE_VRF_LOOPBACK))
{
- vty_outln (vty,
- "Cannot configure IPv6 Router Advertisements on this interface");
+ vty_out (vty,
+ "Cannot configure IPv6 Router Advertisements on this interface\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ipv6_nd_suppress_ra_set (ifp, RA_ENABLE);
interval = strtoul(argv[idx_number]->arg, NULL, 10);
if ((zif->rtadv.AdvDefaultLifetime != -1 && interval > (unsigned)zif->rtadv.AdvDefaultLifetime * 1000))
{
- vty_outln (vty,
- "This ra-interval would conflict with configured ra-lifetime!");
+ vty_out (vty,
+ "This ra-interval would conflict with configured ra-lifetime!\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (zif->rtadv.MaxRtrAdvInterval % 1000)
interval = strtoul(argv[idx_number]->arg, NULL, 10);
if ((zif->rtadv.AdvDefaultLifetime != -1 && interval > (unsigned)zif->rtadv.AdvDefaultLifetime))
{
- vty_outln (vty,
- "This ra-interval would conflict with configured ra-lifetime!");
+ vty_out (vty,
+ "This ra-interval would conflict with configured ra-lifetime!\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (zif->rtadv.MaxRtrAdvInterval % 1000)
* MaxRtrAdvInterval and 9000 seconds. -- RFC4861, 6.2.1 */
if ((lifetime != 0 && lifetime * 1000 < zif->rtadv.MaxRtrAdvInterval))
{
- vty_outln (vty,
- "This ra-lifetime would conflict with configured ra-interval");
+ vty_out (vty,
+ "This ra-lifetime would conflict with configured ra-interval\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
zif->rtadv.AdvDefaultLifetime = lifetime;
ret = str2prefix_ipv6 (prefix, &rp.prefix);
if (!ret)
{
- vty_outln (vty, "Malformed IPv6 prefix");
+ vty_out (vty, "Malformed IPv6 prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask_ipv6 (&rp.prefix); /* RFC4861 4.6.2 */
rp.AdvOnLinkFlag = !offlink;
rp.AdvPreferredLifetime = strmatch (preflifetime, "infinite") ? UINT32_MAX : strtoll (preflifetime, NULL, 10);
if (rp.AdvPreferredLifetime > rp.AdvValidLifetime)
{
- vty_outln (vty, "Invalid preferred lifetime");
+ vty_out (vty, "Invalid preferred lifetime\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
ret = str2prefix_ipv6 (prefix, &rp.prefix);
if (!ret)
{
- vty_outln (vty, "Malformed IPv6 prefix");
+ vty_out (vty, "Malformed IPv6 prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
apply_mask_ipv6 (&rp.prefix); /* RFC4861 4.6.2 */
ret = rtadv_prefix_reset (zebra_if, &rp);
if (!ret)
{
- vty_outln (vty, "Non-existant IPv6 prefix");
+ vty_out (vty, "Non-existant IPv6 prefix\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
if (!mpls_enabled)
{
- vty_outln (vty,"%% MPLS not turned on in kernel, ignoring command");
+ vty_out (vty,"%% MPLS not turned on in kernel, ignoring command\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
zvrf = vrf_info_lookup(VRF_DEFAULT);
if (!zvrf)
{
- vty_outln (vty, "%% Default VRF does not exist");
+ vty_out (vty, "%% Default VRF does not exist\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!inlabel_str)
{
- vty_outln (vty, "%% No Label Information");
+ vty_out (vty, "%% No Label Information\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
out_label = MPLS_IMP_NULL_LABEL; /* as initialization */
label = atoi(inlabel_str);
if (!IS_MPLS_UNRESERVED_LABEL(label))
{
- vty_outln (vty, "%% Invalid label");
+ vty_out (vty, "%% Invalid label\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (add_cmd)
{
if (!gate_str)
{
- vty_outln (vty, "%% No Nexthop Information");
+ vty_out (vty, "%% No Nexthop Information\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!outlabel_str)
{
- vty_outln (vty, "%% No Outgoing label Information");
+ vty_out (vty, "%% No Outgoing label Information\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
gtype = NEXTHOP_TYPE_IPV4;
else
{
- vty_outln (vty, "%% Invalid nexthop");
+ vty_out (vty, "%% Invalid nexthop\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
}
if (!zebra_mpls_lsp_label_consistent (zvrf, in_label, out_label, gtype,
&gate, 0))
{
- vty_outln (vty,"%% Label value not consistent");
+ vty_out (vty,"%% Label value not consistent\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
#endif /* HAVE_CUMULUS */
if (ret)
{
- vty_outln (vty, "%% LSP cannot be %s",
+ vty_out (vty, "%% LSP cannot be %s\n",
add_cmd ? "added" : "deleted");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
zvrf = vrf_info_lookup(VRF_DEFAULT);
if (!zvrf)
{
- vty_outln (vty, "%% Default VRF does not exist");
+ vty_out (vty, "%% Default VRF does not exist\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
memset(&p, 0, sizeof(struct prefix));
ret = str2prefix(prefix, &p);
if (ret <= 0)
{
- vty_outln (vty, "%% Malformed address");
+ vty_out (vty, "%% Malformed address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (add_cmd)
{
if (!label_str)
{
- vty_outln (vty, "%% No label binding specified");
+ vty_out (vty, "%% No label binding specified\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!strcmp(label_str, "implicit-null"))
label = atoi(label_str);
if (!IS_MPLS_UNRESERVED_LABEL(label))
{
- vty_outln (vty, "%% Invalid label");
+ vty_out (vty, "%% Invalid label\n");
- 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");
+ vty_out (vty,"%% Label already bound to a FEC\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
if (ret)
{
- vty_outln (vty, "%% FEC to label binding cannot be %s",
+ vty_out (vty, "%% FEC to label binding cannot be %s\n",
add_cmd ? "added" : "deleted");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
zvrf = zebra_vrf_lookup_by_id(VRF_DEFAULT);
if (!zvrf)
{
- vty_outln (vty, "%% Default VRF does not exist");
+ vty_out (vty, "%% Default VRF does not exist\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (add_cmd)
{
if (!start_label_str || !end_label_str)
{
- vty_outln (vty, "%% Labels not specified");
+ vty_out (vty, "%% Labels not specified\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
start_label = atoi(start_label_str);
if (!IS_MPLS_UNRESERVED_LABEL(start_label) ||
!IS_MPLS_UNRESERVED_LABEL(end_label))
{
- vty_outln (vty, "%% Invalid label");
+ vty_out (vty, "%% Invalid label\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (end_label < start_label)
{
- vty_outln (vty,"%% End label is less than Start label");
+ vty_out (vty,"%% End label is less than Start label\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ret = zebra_mpls_label_block_add (zvrf, start_label, end_label);
if (ret)
{
- vty_outln (vty, "%% Global label block could not be %s",
+ vty_out (vty, "%% Global label block could not be %s\n",
add_cmd ? "added" : "deleted");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
switch (ret)
{
case RMAP_RULE_MISSING:
- vty_outln (vty, "%% Zebra Can't find rule.");
+ vty_out (vty, "%% Zebra Can't find rule.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
- vty_outln (vty, "%% Zebra Argument is malformed.");
+ vty_out (vty, "%% Zebra Argument is malformed.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
switch (ret)
{
case RMAP_RULE_MISSING:
- vty_outln (vty, "%% Zebra Can't find rule.");
+ vty_out (vty, "%% Zebra Can't find rule.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
case RMAP_COMPILE_ERROR:
- vty_outln (vty, "%% Zebra Argument is malformed.");
+ vty_out (vty, "%% Zebra Argument is malformed.\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
i = proto_name2num(proto);
if (i < 0)
{
- vty_outln (vty, "invalid protocol name \"%s\"", proto);
+ vty_out (vty, "invalid protocol name \"%s\"\n", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return zebra_route_match_add (vty, "source-protocol", proto, RMAP_EVENT_MATCH_ADDED);
}
{
if (inet_pton(AF_INET6, argv[idx_ip]->arg, &src.ipv6) != 1)
{
- vty_outln (vty, "%% not a valid IPv4/v6 address");
+ vty_out (vty, "%% not a valid IPv4/v6 address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
p.family = family = AF_INET6;
if (!zebra_check_addr(&p))
{
- vty_outln (vty, "%% not a valid source IPv4/v6 address");
+ vty_out (vty, "%% not a valid source IPv4/v6 address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
RB_FOREACH (vrf, vrf_id_head, &vrfs_by_id)
if (!pif)
{
- vty_outln (vty, "%% not a local address");
+ vty_out (vty, "%% not a local address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
VTY_DECLVAR_CONTEXT (route_map_index, index);
i = proto_name2num(proto);
if (i < 0)
{
- vty_outln (vty, "invalid protocol name \"%s\"", proto);
+ vty_out (vty, "invalid protocol name \"%s\"\n", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (proto_rm[AFI_IP][i])
{
if (i < 0)
{
- vty_outln (vty, "invalid protocol name \"%s\"", proto);
+ vty_out (vty, "invalid protocol name \"%s\"\n", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!proto_rm[AFI_IP][i])
i = proto_name2num(proto);
if (i < 0)
{
- vty_outln (vty, "invalid protocol name \"%s\"", proto);
+ vty_out (vty, "invalid protocol name \"%s\"\n", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (proto_rm[AFI_IP6][i])
{
i = proto_name2num(proto);
if (i < 0)
{
- vty_outln (vty, "invalid protocol name \"%s\"", proto);
+ vty_out (vty, "invalid protocol name \"%s\"\n", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!proto_rm[AFI_IP6][i])
return CMD_SUCCESS;
i = proto_name2num(proto);
if (i < 0)
{
- vty_outln (vty, "invalid protocol name \"%s\"", proto);
+ vty_out (vty, "invalid protocol name \"%s\"\n", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (nht_rm[AFI_IP][i])
{
if (i < 0)
{
- vty_outln (vty, "invalid protocol name \"%s\"", proto);
+ vty_out (vty, "invalid protocol name \"%s\"\n", proto);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (!nht_rm[AFI_IP][i])
i = proto_name2num(proto);
if (i < 0)
{
- vty_outln (vty, "invalid protocol name \"%s\"", proto);
+ vty_out (vty, "invalid protocol name \"%s\"\n", 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]);
i = proto_name2num(proto);
if (i < 0)
{
- vty_outln (vty, "invalid protocol name \"%s\"", proto);
+ vty_out (vty, "invalid protocol name \"%s\"\n", 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);
+ vty_out (vty, "invalid route-map \"%s\"\n", rmap);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (nht_rm[AFI_IP6][i])
ret = str2prefix (dest_str, &p);
if (ret <= 0)
{
- vty_outln (vty, "%% Malformed address");
+ vty_out (vty, "%% Malformed address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Cisco like mask notation. */
ret = inet_aton (mask_str, &mask);
if (ret == 0)
{
- vty_outln (vty, "%% Malformed address");
+ vty_out (vty, "%% Malformed address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
p.prefixlen = ip_masklen (mask);
}
if (!zvrf)
{
- vty_outln (vty, "%% vrf %s is not defined", vrf_id_str);
+ vty_out (vty, "%% vrf %s is not defined\n", vrf_id_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Labels */
{
if (!mpls_enabled)
{
- vty_outln (vty,
- "%% MPLS not turned on in kernel, ignoring command");
+ vty_out (vty,
+ "%% MPLS not turned on in kernel, ignoring command\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
int rc = mpls_str2label (label_str, &snh_label.num_labels,
snh_label.label);
{
if (flag_str)
{
- vty_outln (vty, "%% can not have flag %s with Null0", flag_str);
+ vty_out (vty, "%% can not have flag %s with Null0\n", 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,
SET_FLAG (flag, ZEBRA_FLAG_BLACKHOLE);
break;
default:
- vty_outln (vty, "%% Malformed flag %s ", flag_str);
+ vty_out (vty, "%% Malformed flag %s \n", flag_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
multicast_mode_ipv4_set (MCAST_MIX_PFXLEN);
else
{
- vty_outln (vty, "Invalid mode specified");
+ vty_out (vty, "Invalid mode specified\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
ret = str2prefix (dest_str, &p);
if (ret <= 0)
{
- vty_outln (vty, "%% Malformed address");
+ vty_out (vty, "%% Malformed address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
if (src_str)
ret = str2prefix (src_str, &src);
if (ret <= 0 || src.family != AF_INET6)
{
- vty_outln (vty, "%% Malformed source address");
+ vty_out (vty, "%% Malformed source address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
src_p = (struct prefix_ipv6*)&src;
}
if (!zvrf)
{
- vty_outln (vty, "%% vrf %s is not defined", vrf_id_str);
+ vty_out (vty, "%% vrf %s is not defined\n", vrf_id_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
/* Labels */
{
if (!mpls_enabled)
{
- vty_outln (vty,
- "%% MPLS not turned on in kernel, ignoring command");
+ vty_out (vty,
+ "%% MPLS not turned on in kernel, ignoring command\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
int rc = mpls_str2label (label_str, &snh_label.num_labels,
snh_label.label);
{
if (flag_str)
{
- vty_outln (vty, "%% can not have flag %s with Null0", flag_str);
+ vty_out (vty, "%% can not have flag %s with Null0\n", 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,
SET_FLAG (flag, ZEBRA_FLAG_BLACKHOLE);
break;
default:
- vty_outln (vty, "%% Malformed flag %s ", flag_str);
+ vty_out (vty, "%% Malformed flag %s \n", flag_str);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
}
address. */
if (ret != 1)
{
- vty_outln (vty, "%% Malformed address");
+ vty_out (vty, "%% Malformed address\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
type = STATIC_IPV6_GATEWAY_IFINDEX;
gate = &gate_addr;
ifp = if_lookup_by_name (ifname, zvrf_id (zvrf));
if (!ifp)
{
- vty_outln (vty, "%% Malformed Interface name %s", ifname);
+ vty_out (vty, "%% Malformed Interface name %s\n", ifname);
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
ifindex = ifp->ifindex;
}
if (ret == 0)
{
- vty_outln (vty, "Can't turn on IP forwarding");
+ vty_out (vty, "Can't turn on IP forwarding\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
if (ret != 0)
{
- vty_outln (vty, "Can't turn off IP forwarding");
+ vty_out (vty, "Can't turn off IP forwarding\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
if (ret == 0)
{
- vty_outln (vty, "Can't turn on IPv6 forwarding");
+ vty_out (vty, "Can't turn on IPv6 forwarding\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;
if (ret != 0)
{
- vty_outln (vty, "Can't turn off IPv6 forwarding");
+ vty_out (vty, "Can't turn off IPv6 forwarding\n");
- return CMD_WARNING;
+ return CMD_WARNING_CONFIG_FAILED;
}
return CMD_SUCCESS;