mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-11-03 17:52:44 +00:00
Merge pull request #754 from qlyoung/fix-argv-arg
use argv->text where appropriate
This commit is contained in:
commit
0bc44f61c9
@ -629,9 +629,9 @@ DEFUN_HIDDEN (neighbor_bfd_type,
|
||||
if (!peer)
|
||||
return CMD_WARNING;
|
||||
|
||||
if (!strcmp(argv[idx_hop]->arg, "singlehop"))
|
||||
if (strmatch(argv[idx_hop]->text, "singlehop"))
|
||||
type = BFD_TYPE_SINGLEHOP;
|
||||
else if (!strcmp(argv[idx_hop]->arg, "multihop"))
|
||||
else if (strmatch(argv[idx_hop]->text, "multihop"))
|
||||
type = BFD_TYPE_MULTIHOP;
|
||||
else
|
||||
return CMD_WARNING;
|
||||
|
||||
@ -753,7 +753,7 @@ DEFUN (dump_bgp_all,
|
||||
const struct bgp_dump_type_map *map = NULL;
|
||||
|
||||
for (map = bgp_dump_type_map; map->str; map++)
|
||||
if (strcmp(argv[idx_dump_routes]->arg, map->str) == 0)
|
||||
if (strmatch(argv[idx_dump_routes]->text, map->str))
|
||||
bgp_dump_type = map->type;
|
||||
|
||||
switch (bgp_dump_type)
|
||||
@ -800,7 +800,7 @@ DEFUN (no_dump_bgp_all,
|
||||
struct bgp_dump *bgp_dump_struct = NULL;
|
||||
|
||||
for (map = bgp_dump_type_map; map->str; map++)
|
||||
if (strcmp(argv[idx_dump_routes]->arg, map->str) == 0)
|
||||
if (strmatch(argv[idx_dump_routes]->text, map->str))
|
||||
bgp_dump_type = map->type;
|
||||
|
||||
switch (bgp_dump_type)
|
||||
|
||||
@ -8463,7 +8463,7 @@ DEFUN (show_ip_bgp_large_community_list,
|
||||
{
|
||||
afi = strmatch(argv[idx]->text, "ipv6") ? AFI_IP6 : AFI_IP;
|
||||
if (argv_find (argv, argc, "unicast", &idx) || argv_find (argv, argc, "multicast", &idx))
|
||||
safi = bgp_vty_safi_from_arg (argv[idx]->text);
|
||||
safi = bgp_vty_safi_from_str (argv[idx]->text);
|
||||
}
|
||||
|
||||
int uj = use_json (argc, argv);
|
||||
@ -8508,7 +8508,7 @@ DEFUN (show_ip_bgp_large_community,
|
||||
{
|
||||
afi = strmatch(argv[idx]->text, "ipv6") ? AFI_IP6 : AFI_IP;
|
||||
if (argv_find (argv, argc, "unicast", &idx) || argv_find (argv, argc, "multicast", &idx))
|
||||
safi = bgp_vty_safi_from_arg (argv[idx]->text);
|
||||
safi = bgp_vty_safi_from_str (argv[idx]->text);
|
||||
}
|
||||
|
||||
int uj = use_json (argc, argv);
|
||||
@ -8867,7 +8867,7 @@ bgp_show_community (struct vty *vty, struct bgp *bgp, int argc,
|
||||
buffer_putc (b, ' ');
|
||||
else
|
||||
{
|
||||
if ((strcmp (argv[i]->arg, "unicast") == 0) || (strcmp (argv[i]->arg, "multicast") == 0))
|
||||
if (strmatch(argv[i]->text, "unicast") || strmatch(argv[i]->text, "multicast"))
|
||||
continue;
|
||||
first = 1;
|
||||
}
|
||||
|
||||
263
bgpd/bgp_vty.c
263
bgpd/bgp_vty.c
@ -166,33 +166,25 @@ bgp_node_safi (struct vty *vty)
|
||||
return safi;
|
||||
}
|
||||
|
||||
/* supports <ipv4|ipv6> */
|
||||
/**
|
||||
* Converts an AFI in string form to afi_t
|
||||
*
|
||||
* @param afi string, one of
|
||||
* - "ipv4"
|
||||
* - "ipv6"
|
||||
* @return the corresponding afi_t
|
||||
*/
|
||||
afi_t
|
||||
bgp_vty_afi_from_arg(const char *afi_str)
|
||||
bgp_vty_afi_from_str(const char *afi_str)
|
||||
{
|
||||
afi_t afi = AFI_MAX; /* unknown */
|
||||
if (!strcmp(afi_str, "ipv4")) {
|
||||
afi_t afi = AFI_MAX; /* unknown */
|
||||
if (strmatch(afi_str, "ipv4"))
|
||||
afi = AFI_IP;
|
||||
}
|
||||
else if (!strcmp(afi_str, "ipv6")) {
|
||||
else if (strmatch(afi_str, "ipv6"))
|
||||
afi = AFI_IP6;
|
||||
}
|
||||
else if (!strcmp(afi_str, "l2vpn")) {
|
||||
afi = AFI_L2VPN;
|
||||
}
|
||||
return afi;
|
||||
}
|
||||
|
||||
int
|
||||
bgp_parse_afi(const char *str, afi_t *afi)
|
||||
{
|
||||
*afi = bgp_vty_afi_from_arg(str);
|
||||
if (*afi != AFI_MAX)
|
||||
return 0;
|
||||
else
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
argv_find_and_parse_afi(struct cmd_token **argv, int argc, int *index, afi_t *afi)
|
||||
{
|
||||
@ -214,16 +206,16 @@ argv_find_and_parse_afi(struct cmd_token **argv, int argc, int *index, afi_t *af
|
||||
|
||||
/* supports <unicast|multicast|vpn|labeled-unicast> */
|
||||
safi_t
|
||||
bgp_vty_safi_from_arg(const char *safi_str)
|
||||
bgp_vty_safi_from_str(const char *safi_str)
|
||||
{
|
||||
safi_t safi = SAFI_MAX; /* unknown */
|
||||
if (strncmp (safi_str, "m", 1) == 0)
|
||||
if (strmatch (safi_str, "multicast"))
|
||||
safi = SAFI_MULTICAST;
|
||||
else if (strncmp (safi_str, "u", 1) == 0)
|
||||
else if (strmatch (safi_str, "unicast"))
|
||||
safi = SAFI_UNICAST;
|
||||
else if (strncmp (safi_str, "v", 1) == 0)
|
||||
else if (strmatch (safi_str, "vpn"))
|
||||
safi = SAFI_MPLS_VPN;
|
||||
else if (strncmp (safi_str, "l", 1) == 0)
|
||||
else if (strmatch (safi_str, "labeled-unicast"))
|
||||
safi = SAFI_LABELED_UNICAST;
|
||||
return safi;
|
||||
}
|
||||
@ -256,12 +248,6 @@ argv_find_and_parse_safi (struct cmd_token **argv, int argc, int *index, safi_t
|
||||
if (safi)
|
||||
*safi = SAFI_MPLS_VPN;
|
||||
}
|
||||
else if (argv_find (argv, argc, "evpn", index))
|
||||
{
|
||||
ret = 1;
|
||||
if (safi)
|
||||
*safi = SAFI_EVPN;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -819,8 +805,8 @@ DEFUN (bgp_config_type,
|
||||
"cisco\n"
|
||||
"zebra\n")
|
||||
{
|
||||
int idx_vendor = 2;
|
||||
if (strncmp (argv[idx_vendor]->arg, "c", 1) == 0)
|
||||
int idx = 0;
|
||||
if (argv_find (argv, argc, "cisco", &idx))
|
||||
bgp_option_set (BGP_OPT_CONFIG_CISCO);
|
||||
else
|
||||
bgp_option_unset (BGP_OPT_CONFIG_CISCO);
|
||||
@ -3684,11 +3670,11 @@ DEFUN (neighbor_capability_orf_prefix,
|
||||
int idx_send_recv = 5;
|
||||
u_int16_t flag = 0;
|
||||
|
||||
if (strncmp (argv[idx_send_recv]->arg, "s", 1) == 0)
|
||||
if (strmatch (argv[idx_send_recv]->text, "send"))
|
||||
flag = PEER_FLAG_ORF_PREFIX_SM;
|
||||
else if (strncmp (argv[idx_send_recv]->arg, "r", 1) == 0)
|
||||
else if (strmatch (argv[idx_send_recv]->text, "receive"))
|
||||
flag = PEER_FLAG_ORF_PREFIX_RM;
|
||||
else if (strncmp (argv[idx_send_recv]->arg, "b", 1) == 0)
|
||||
else if (strmatch (argv[idx_send_recv]->text, "both"))
|
||||
flag = PEER_FLAG_ORF_PREFIX_SM|PEER_FLAG_ORF_PREFIX_RM;
|
||||
else
|
||||
return CMD_WARNING;
|
||||
@ -3726,11 +3712,11 @@ DEFUN (no_neighbor_capability_orf_prefix,
|
||||
int idx_send_recv = 6;
|
||||
u_int16_t flag = 0;
|
||||
|
||||
if (strncmp (argv[idx_send_recv]->arg, "s", 1) == 0)
|
||||
if (strmatch (argv[idx_send_recv]->text, "send"))
|
||||
flag = PEER_FLAG_ORF_PREFIX_SM;
|
||||
else if (strncmp (argv[idx_send_recv]->arg, "r", 1) == 0)
|
||||
else if (strmatch (argv[idx_send_recv]->text, "receive"))
|
||||
flag = PEER_FLAG_ORF_PREFIX_RM;
|
||||
else if (strncmp (argv[idx_send_recv]->arg, "b", 1) == 0)
|
||||
else if (strmatch (argv[idx_send_recv]->text, "both"))
|
||||
flag = PEER_FLAG_ORF_PREFIX_SM|PEER_FLAG_ORF_PREFIX_RM;
|
||||
else
|
||||
return CMD_WARNING;
|
||||
@ -4178,25 +4164,28 @@ DEFUN (no_neighbor_send_community_type,
|
||||
"Send Large Community attributes\n")
|
||||
{
|
||||
int idx_peer = 2;
|
||||
int idx_type = 4;
|
||||
if (strncmp (argv[idx_type]->arg, "s", 1) == 0)
|
||||
|
||||
const char *type = argv[argc - 1]->text;
|
||||
|
||||
if (strmatch (type, "standard"))
|
||||
return peer_af_flag_unset_vty (vty, argv[idx_peer]->arg, bgp_node_afi (vty),
|
||||
bgp_node_safi (vty),
|
||||
PEER_FLAG_SEND_COMMUNITY);
|
||||
if (strncmp (argv[idx_type]->arg, "e", 1) == 0)
|
||||
if (strmatch (type, "extended"))
|
||||
return peer_af_flag_unset_vty (vty, argv[idx_peer]->arg, bgp_node_afi (vty),
|
||||
bgp_node_safi (vty),
|
||||
PEER_FLAG_SEND_EXT_COMMUNITY);
|
||||
if (strncmp (argv[idx_type]->arg, "l", 1) == 0)
|
||||
if (strmatch (type, "large"))
|
||||
return peer_af_flag_unset_vty (vty, argv[idx_peer]->arg, bgp_node_afi (vty),
|
||||
bgp_node_safi (vty),
|
||||
PEER_FLAG_SEND_LARGE_COMMUNITY);
|
||||
if (strncmp (argv[idx_type]->arg, "b", 1) == 0)
|
||||
if (strmatch (type, "both"))
|
||||
return peer_af_flag_unset_vty (vty, argv[idx_peer]->arg, bgp_node_afi (vty),
|
||||
bgp_node_safi (vty),
|
||||
PEER_FLAG_SEND_COMMUNITY |
|
||||
PEER_FLAG_SEND_EXT_COMMUNITY);
|
||||
|
||||
/* if (strmatch (type, "all")) */
|
||||
return peer_af_flag_unset_vty (vty, argv[idx_peer]->arg, bgp_node_afi (vty),
|
||||
bgp_node_safi (vty),
|
||||
(PEER_FLAG_SEND_COMMUNITY |
|
||||
@ -4392,30 +4381,13 @@ DEFUN (no_neighbor_nexthop_local_unchanged,
|
||||
|
||||
DEFUN (neighbor_attr_unchanged,
|
||||
neighbor_attr_unchanged_cmd,
|
||||
"neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged\
|
||||
[<\
|
||||
as-path [<next-hop [med]|med [next-hop]>]|\
|
||||
next-hop [<as-path [med]|med [as-path]>]|\
|
||||
med [<as-path [next-hop]|next-hop [as-path]>]\
|
||||
>]",
|
||||
"neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged [{as-path|next-hop|med}]",
|
||||
NEIGHBOR_STR
|
||||
NEIGHBOR_ADDR_STR2
|
||||
"BGP attribute is propagated unchanged to this neighbor\n"
|
||||
"As-path attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"Med attribute\n"
|
||||
"Med attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"As-path attribute\n"
|
||||
"Med attribute\n"
|
||||
"Med attribute\n"
|
||||
"As-path attribute\n"
|
||||
"Med attribute\n"
|
||||
"As-path attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"As-path attribute\n")
|
||||
"Med attribute\n")
|
||||
{
|
||||
int idx = 0;
|
||||
char *peer = argv[1]->arg;
|
||||
@ -4442,58 +4414,24 @@ DEFUN (neighbor_attr_unchanged,
|
||||
|
||||
ALIAS_HIDDEN (neighbor_attr_unchanged,
|
||||
neighbor_attr_unchanged_hidden_cmd,
|
||||
"neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged\
|
||||
[<\
|
||||
as-path [<next-hop [med]|med [next-hop]>]|\
|
||||
next-hop [<as-path [med]|med [as-path]>]|\
|
||||
med [<as-path [next-hop]|next-hop [as-path]>]\
|
||||
>]",
|
||||
"neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged [{as-path|next-hop|med}]",
|
||||
NEIGHBOR_STR
|
||||
NEIGHBOR_ADDR_STR2
|
||||
"BGP attribute is propagated unchanged to this neighbor\n"
|
||||
"As-path attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"Med attribute\n"
|
||||
"Med attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"As-path attribute\n"
|
||||
"Med attribute\n"
|
||||
"Med attribute\n"
|
||||
"As-path attribute\n"
|
||||
"Med attribute\n"
|
||||
"As-path attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"As-path attribute\n")
|
||||
"Med attribute\n")
|
||||
|
||||
DEFUN (no_neighbor_attr_unchanged,
|
||||
no_neighbor_attr_unchanged_cmd,
|
||||
"no neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged\
|
||||
[<\
|
||||
as-path [<next-hop [med]|med [next-hop]>]|\
|
||||
next-hop [<as-path [med]|med [as-path]>]|\
|
||||
med [<as-path [next-hop]|next-hop [as-path]>]\
|
||||
>]",
|
||||
"no neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged [{as-path|next-hop|med}]",
|
||||
NO_STR
|
||||
NEIGHBOR_STR
|
||||
NEIGHBOR_ADDR_STR2
|
||||
"BGP attribute is propagated unchanged to this neighbor\n"
|
||||
"As-path attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"Med attribute\n"
|
||||
"Med attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"As-path attribute\n"
|
||||
"Med attribute\n"
|
||||
"Med attribute\n"
|
||||
"As-path attribute\n"
|
||||
"Med attribute\n"
|
||||
"As-path attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"As-path attribute\n")
|
||||
"Med attribute\n")
|
||||
{
|
||||
int idx = 0;
|
||||
char *peer = argv[2]->arg;
|
||||
@ -4520,32 +4458,14 @@ DEFUN (no_neighbor_attr_unchanged,
|
||||
|
||||
ALIAS_HIDDEN (no_neighbor_attr_unchanged,
|
||||
no_neighbor_attr_unchanged_hidden_cmd,
|
||||
"no neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged\
|
||||
[<\
|
||||
as-path [<next-hop [med]|med [next-hop]>]|\
|
||||
next-hop [<as-path [med]|med [as-path]>]|\
|
||||
med [<as-path [next-hop]|next-hop [as-path]>]\
|
||||
>]",
|
||||
"no neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged [{as-path|next-hop|med}]",
|
||||
NO_STR
|
||||
NEIGHBOR_STR
|
||||
NEIGHBOR_ADDR_STR2
|
||||
"BGP attribute is propagated unchanged to this neighbor\n"
|
||||
"As-path attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"Med attribute\n"
|
||||
"Med attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"As-path attribute\n"
|
||||
"Med attribute\n"
|
||||
"Med attribute\n"
|
||||
"As-path attribute\n"
|
||||
"Med attribute\n"
|
||||
"As-path attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"Nexthop attribute\n"
|
||||
"As-path attribute\n")
|
||||
|
||||
"Med attribute\n")
|
||||
|
||||
/* EBGP multihop configuration. */
|
||||
static int
|
||||
@ -5312,54 +5232,6 @@ DEFUN (no_neighbor_interface,
|
||||
return peer_interface_vty (vty, argv[idx_peer]->arg, NULL);
|
||||
}
|
||||
|
||||
/* Set distribute list to the peer. */
|
||||
static int
|
||||
peer_distribute_set_vty (struct vty *vty, const char *ip_str,
|
||||
afi_t afi, safi_t safi,
|
||||
const char *name_str, const char *direct_str)
|
||||
{
|
||||
int ret;
|
||||
struct peer *peer;
|
||||
int direct = FILTER_IN;
|
||||
|
||||
peer = peer_and_group_lookup_vty (vty, ip_str);
|
||||
if (! peer)
|
||||
return CMD_WARNING;
|
||||
|
||||
/* Check filter direction. */
|
||||
if (strncmp (direct_str, "i", 1) == 0)
|
||||
direct = FILTER_IN;
|
||||
else if (strncmp (direct_str, "o", 1) == 0)
|
||||
direct = FILTER_OUT;
|
||||
|
||||
ret = peer_distribute_set (peer, afi, safi, direct, name_str);
|
||||
|
||||
return bgp_vty_return (vty, ret);
|
||||
}
|
||||
|
||||
static int
|
||||
peer_distribute_unset_vty (struct vty *vty, const char *ip_str, afi_t afi,
|
||||
safi_t safi, const char *direct_str)
|
||||
{
|
||||
int ret;
|
||||
struct peer *peer;
|
||||
int direct = FILTER_IN;
|
||||
|
||||
peer = peer_and_group_lookup_vty (vty, ip_str);
|
||||
if (! peer)
|
||||
return CMD_WARNING;
|
||||
|
||||
/* Check filter direction. */
|
||||
if (strncmp (direct_str, "i", 1) == 0)
|
||||
direct = FILTER_IN;
|
||||
else if (strncmp (direct_str, "o", 1) == 0)
|
||||
direct = FILTER_OUT;
|
||||
|
||||
ret = peer_distribute_unset (peer, afi, safi, direct);
|
||||
|
||||
return bgp_vty_return (vty, ret);
|
||||
}
|
||||
|
||||
DEFUN (neighbor_distribute_list,
|
||||
neighbor_distribute_list_cmd,
|
||||
"neighbor <A.B.C.D|X:X::X:X|WORD> distribute-list <(1-199)|(1300-2699)|WORD> <in|out>",
|
||||
@ -5374,9 +5246,22 @@ DEFUN (neighbor_distribute_list,
|
||||
{
|
||||
int idx_peer = 1;
|
||||
int idx_acl = 3;
|
||||
int idx_in_out = 4;
|
||||
return peer_distribute_set_vty (vty, argv[idx_peer]->arg, bgp_node_afi (vty),
|
||||
bgp_node_safi (vty), argv[idx_acl]->arg, argv[idx_in_out]->arg);
|
||||
int direct, ret;
|
||||
struct peer *peer;
|
||||
|
||||
const char *pstr = argv[idx_peer]->arg;
|
||||
const char *acl = argv[idx_acl]->arg;
|
||||
const char *inout = argv[argc-1]->text;
|
||||
|
||||
peer = peer_and_group_lookup_vty (vty, pstr);
|
||||
if (! peer)
|
||||
return CMD_WARNING;
|
||||
|
||||
/* Check filter direction. */
|
||||
direct = strmatch (inout, "in") ? FILTER_IN : FILTER_OUT;
|
||||
ret = peer_distribute_set (peer, bgp_node_afi (vty), bgp_node_safi (vty), direct, acl);
|
||||
|
||||
return bgp_vty_return (vty, ret);
|
||||
}
|
||||
|
||||
ALIAS_HIDDEN (neighbor_distribute_list,
|
||||
@ -5405,9 +5290,21 @@ DEFUN (no_neighbor_distribute_list,
|
||||
"Filter outgoing updates\n")
|
||||
{
|
||||
int idx_peer = 2;
|
||||
int idx_in_out = 5;
|
||||
return peer_distribute_unset_vty (vty, argv[idx_peer]->arg, bgp_node_afi (vty),
|
||||
bgp_node_safi (vty), argv[idx_in_out]->arg);
|
||||
int direct, ret;
|
||||
struct peer *peer;
|
||||
|
||||
const char *pstr = argv[idx_peer]->arg;
|
||||
const char *inout = argv[argc-1]->text;
|
||||
|
||||
peer = peer_and_group_lookup_vty (vty, pstr);
|
||||
if (! peer)
|
||||
return CMD_WARNING;
|
||||
|
||||
/* Check filter direction. */
|
||||
direct = strmatch (inout, "in") ? FILTER_IN : FILTER_OUT;
|
||||
ret = peer_distribute_unset (peer, bgp_node_afi (vty), bgp_node_safi (vty), direct);
|
||||
|
||||
return bgp_vty_return (vty, ret);
|
||||
}
|
||||
|
||||
ALIAS_HIDDEN (no_neighbor_distribute_list,
|
||||
@ -6290,7 +6187,7 @@ DEFUN_NOSH (address_family_ipv4_safi,
|
||||
|
||||
if (argc == 3)
|
||||
{
|
||||
safi_t safi = bgp_vty_safi_from_arg(argv[2]->arg);
|
||||
safi_t safi = bgp_vty_safi_from_str (argv[2]->text);
|
||||
vty->node = bgp_node_type(AFI_IP, safi);
|
||||
}
|
||||
else
|
||||
@ -6308,7 +6205,7 @@ DEFUN_NOSH (address_family_ipv6_safi,
|
||||
{
|
||||
if (argc == 3)
|
||||
{
|
||||
safi_t safi = bgp_vty_safi_from_arg(argv[2]->arg);
|
||||
safi_t safi = bgp_vty_safi_from_str (argv[2]->text);
|
||||
vty->node = bgp_node_type(AFI_IP6, safi);
|
||||
}
|
||||
else
|
||||
@ -6596,7 +6493,7 @@ DEFUN (clear_bgp_ipv6_safi_prefix,
|
||||
int idx_safi = 3;
|
||||
int idx_ipv6_prefixlen = 5;
|
||||
return bgp_clear_prefix (vty, NULL, argv[idx_ipv6_prefixlen]->arg, AFI_IP6,
|
||||
bgp_vty_safi_from_arg(argv[idx_safi]->arg), NULL);
|
||||
bgp_vty_safi_from_str(argv[idx_safi]->text), NULL);
|
||||
}
|
||||
|
||||
DEFUN (clear_bgp_instance_ipv6_safi_prefix,
|
||||
@ -6615,7 +6512,7 @@ DEFUN (clear_bgp_instance_ipv6_safi_prefix,
|
||||
int idx_safi = 5;
|
||||
int idx_ipv6_prefixlen = 7;
|
||||
return bgp_clear_prefix (vty, argv[idx_word]->arg, argv[idx_ipv6_prefixlen]->arg, AFI_IP6,
|
||||
bgp_vty_safi_from_arg(argv[idx_safi]->arg), NULL);
|
||||
bgp_vty_safi_from_str(argv[idx_safi]->text), NULL);
|
||||
}
|
||||
|
||||
DEFUN (show_bgp_views,
|
||||
@ -9730,8 +9627,8 @@ DEFUN (show_bgp_updgrps_afi_adj,
|
||||
int idx_safi = 3;
|
||||
int idx_type = 5;
|
||||
show_bgp_updgrps_adj_info_aux(vty, NULL,
|
||||
bgp_vty_afi_from_arg(argv[idx_afi]->arg),
|
||||
bgp_vty_safi_from_arg(argv[idx_safi]->arg),
|
||||
bgp_vty_afi_from_str(argv[idx_afi]->text),
|
||||
bgp_vty_safi_from_str(argv[idx_safi]->text),
|
||||
argv[idx_type]->arg, 0);
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
@ -9841,8 +9738,8 @@ DEFUN (show_bgp_updgrps_afi_adj_s,
|
||||
subgrp_id = strtoull(argv[idx_subgroup_id]->arg, NULL, 10);
|
||||
|
||||
show_bgp_updgrps_adj_info_aux(vty, NULL,
|
||||
bgp_vty_afi_from_arg(argv[idx_afi]->arg),
|
||||
bgp_vty_safi_from_arg(argv[idx_safi]->arg),
|
||||
bgp_vty_afi_from_str(argv[idx_afi]->text),
|
||||
bgp_vty_safi_from_str(argv[idx_safi]->text),
|
||||
argv[idx_type]->arg, subgrp_id);
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
@ -48,14 +48,11 @@ extern int bgp_vty_return (struct vty *vty, int ret);
|
||||
extern struct peer *
|
||||
peer_and_group_lookup_vty (struct vty *vty, const char *peer_str);
|
||||
|
||||
extern int
|
||||
bgp_parse_afi(const char *str, afi_t *afi);
|
||||
|
||||
extern afi_t
|
||||
bgp_vty_afi_from_arg(const char *afi_str);
|
||||
bgp_vty_afi_from_str(const char *afi_str);
|
||||
|
||||
extern safi_t
|
||||
bgp_vty_safi_from_arg(const char *safi_str);
|
||||
bgp_vty_safi_from_str(const char *safi_str);
|
||||
|
||||
extern int
|
||||
argv_find_and_parse_afi(struct cmd_token **argv, int argc, int *index, afi_t *afi);
|
||||
|
||||
@ -479,7 +479,7 @@ DEFUN (vnc_defaults_l2rd,
|
||||
VTY_DECLVAR_CONTEXT(bgp, bgp);
|
||||
uint8_t value = 0;
|
||||
|
||||
if (!strcmp (argv[1]->arg, "auto-vn"))
|
||||
if (strmatch(argv[1]->text, "auto-vn"))
|
||||
{
|
||||
value = 0;
|
||||
}
|
||||
@ -539,7 +539,7 @@ DEFUN (vnc_defaults_responselifetime,
|
||||
if (!h)
|
||||
return CMD_WARNING;
|
||||
|
||||
if (!strcmp (argv[1]->arg, "infinite"))
|
||||
if (strmatch(argv[1]->text, "infinite"))
|
||||
{
|
||||
rspint = RFAPI_INFINITE_LIFETIME;
|
||||
}
|
||||
@ -1102,7 +1102,7 @@ DEFUN (vnc_redistribute_lifetime,
|
||||
|
||||
vnc_redistribute_prechange (bgp);
|
||||
|
||||
if (!strcmp (argv[3]->arg, "infinite"))
|
||||
if (strmatch(argv[3]->text, "infinite"))
|
||||
{
|
||||
bgp->rfapi_cfg->redist_lifetime = RFAPI_INFINITE_LIFETIME;
|
||||
}
|
||||
@ -1140,7 +1140,7 @@ DEFUN (vnc_redist_bgpdirect_no_prefixlist,
|
||||
return CMD_WARNING;
|
||||
}
|
||||
|
||||
if (!strcmp (argv[3]->arg, "bgp-direct"))
|
||||
if (strmatch(argv[3]->text, "bgp-direct"))
|
||||
{
|
||||
route_type = ZEBRA_ROUTE_BGP_DIRECT;
|
||||
}
|
||||
@ -1149,7 +1149,7 @@ DEFUN (vnc_redist_bgpdirect_no_prefixlist,
|
||||
route_type = ZEBRA_ROUTE_BGP_DIRECT_EXT;
|
||||
}
|
||||
|
||||
if (!strcmp (argv[4]->arg, "ipv4"))
|
||||
if (strmatch(argv[4]->text, "ipv4"))
|
||||
{
|
||||
afi = AFI_IP;
|
||||
}
|
||||
@ -1193,7 +1193,7 @@ DEFUN (vnc_redist_bgpdirect_prefixlist,
|
||||
return CMD_WARNING;
|
||||
}
|
||||
|
||||
if (!strcmp (argv[2]->arg, "bgp-direct"))
|
||||
if (strmatch(argv[2]->text, "bgp-direct"))
|
||||
{
|
||||
route_type = ZEBRA_ROUTE_BGP_DIRECT;
|
||||
}
|
||||
@ -1202,7 +1202,7 @@ DEFUN (vnc_redist_bgpdirect_prefixlist,
|
||||
route_type = ZEBRA_ROUTE_BGP_DIRECT_EXT;
|
||||
}
|
||||
|
||||
if (!strcmp (argv[3]->arg, "ipv4"))
|
||||
if (strmatch(argv[3]->text, "ipv4"))
|
||||
{
|
||||
afi = AFI_IP;
|
||||
}
|
||||
@ -1243,7 +1243,7 @@ DEFUN (vnc_redist_bgpdirect_no_routemap,
|
||||
return CMD_WARNING;
|
||||
}
|
||||
|
||||
if (!strcmp (argv[3]->arg, "bgp-direct"))
|
||||
if (strmatch(argv[3]->text, "bgp-direct"))
|
||||
{
|
||||
route_type = ZEBRA_ROUTE_BGP_DIRECT;
|
||||
}
|
||||
@ -1283,7 +1283,7 @@ DEFUN (vnc_redist_bgpdirect_routemap,
|
||||
return CMD_WARNING;
|
||||
}
|
||||
|
||||
if (!strcmp (argv[2]->arg, "bgp-direct"))
|
||||
if (strmatch(argv[2]->text, "bgp-direct"))
|
||||
{
|
||||
route_type = ZEBRA_ROUTE_BGP_DIRECT;
|
||||
}
|
||||
@ -1336,7 +1336,7 @@ DEFUN (vnc_nve_group_redist_bgpdirect_no_prefixlist,
|
||||
return CMD_WARNING;
|
||||
}
|
||||
|
||||
if (!strcmp (argv[3]->arg, "ipv4"))
|
||||
if (strmatch(argv[3]->text, "ipv4"))
|
||||
{
|
||||
afi = AFI_IP;
|
||||
}
|
||||
@ -1385,7 +1385,7 @@ DEFUN (vnc_nve_group_redist_bgpdirect_prefixlist,
|
||||
return CMD_WARNING;
|
||||
}
|
||||
|
||||
if (!strcmp (argv[2]->arg, "ipv4"))
|
||||
if (strmatch(argv[2]->text, "ipv4"))
|
||||
{
|
||||
afi = AFI_IP;
|
||||
}
|
||||
@ -1803,7 +1803,7 @@ DEFUN (vnc_nve_group_export_no_prefixlist,
|
||||
return CMD_WARNING;
|
||||
}
|
||||
|
||||
if (!strcmp (argv[3]->arg, "ipv4"))
|
||||
if (strmatch(argv[3]->text, "ipv4"))
|
||||
{
|
||||
afi = AFI_IP;
|
||||
}
|
||||
@ -1815,7 +1815,7 @@ DEFUN (vnc_nve_group_export_no_prefixlist,
|
||||
if (argv[2]->arg[0] == 'b')
|
||||
{
|
||||
if (((argc > 5)
|
||||
&& !strcmp (argv[5]->arg, rfg->plist_export_bgp_name[afi]))
|
||||
&& strmatch(argv[5]->text, rfg->plist_export_bgp_name[afi]))
|
||||
|| (argc <= 5))
|
||||
{
|
||||
|
||||
@ -1830,7 +1830,7 @@ DEFUN (vnc_nve_group_export_no_prefixlist,
|
||||
else
|
||||
{
|
||||
if (((argc > 5)
|
||||
&& !strcmp (argv[5]->arg, rfg->plist_export_zebra_name[afi]))
|
||||
&& strmatch(argv[5]->text, rfg->plist_export_zebra_name[afi]))
|
||||
|| (argc <= 5))
|
||||
{
|
||||
if (rfg->plist_export_zebra_name[afi])
|
||||
@ -1872,7 +1872,7 @@ DEFUN (vnc_nve_group_export_prefixlist,
|
||||
return CMD_WARNING;
|
||||
}
|
||||
|
||||
if (!strcmp (argv[2]->arg, "ipv4"))
|
||||
if (strmatch(argv[2]->text, "ipv4"))
|
||||
{
|
||||
afi = AFI_IP;
|
||||
}
|
||||
@ -1932,7 +1932,7 @@ DEFUN (vnc_nve_group_export_no_routemap,
|
||||
if (argv[2]->arg[0] == 'b')
|
||||
{
|
||||
if (((argc > 4)
|
||||
&& !strcmp (argv[4]->arg, rfg->routemap_export_bgp_name))
|
||||
&& strmatch(argv[4]->text, rfg->routemap_export_bgp_name))
|
||||
|| (argc <= 4))
|
||||
{
|
||||
|
||||
@ -1948,7 +1948,7 @@ DEFUN (vnc_nve_group_export_no_routemap,
|
||||
else
|
||||
{
|
||||
if (((argc > 4)
|
||||
&& !strcmp (argv[4]->arg, rfg->routemap_export_zebra_name))
|
||||
&& strmatch(argv[4]->text, rfg->routemap_export_zebra_name))
|
||||
|| (argc <= 4))
|
||||
{
|
||||
if (rfg->routemap_export_zebra_name)
|
||||
@ -2031,7 +2031,7 @@ DEFUN (vnc_nve_export_no_prefixlist,
|
||||
return CMD_WARNING;
|
||||
}
|
||||
|
||||
if (!strcmp (argv[4]->arg, "ipv4"))
|
||||
if (strmatch(argv[4]->text, "ipv4"))
|
||||
{
|
||||
afi = AFI_IP;
|
||||
}
|
||||
@ -2044,7 +2044,7 @@ DEFUN (vnc_nve_export_no_prefixlist,
|
||||
{
|
||||
if (((argc > 6)
|
||||
&& hc->plist_export_bgp_name[afi]
|
||||
&& !strcmp (argv[6]->arg, hc->plist_export_bgp_name[afi]))
|
||||
&& strmatch(argv[6]->text, hc->plist_export_bgp_name[afi]))
|
||||
|| (argc <= 6))
|
||||
{
|
||||
|
||||
@ -2058,7 +2058,7 @@ DEFUN (vnc_nve_export_no_prefixlist,
|
||||
{
|
||||
if (((argc > 6)
|
||||
&& hc->plist_export_zebra_name[afi]
|
||||
&& !strcmp (argv[6]->arg, hc->plist_export_zebra_name[afi]))
|
||||
&& strmatch(argv[6]->text, hc->plist_export_zebra_name[afi]))
|
||||
|| (argc <= 6))
|
||||
{
|
||||
|
||||
@ -2093,7 +2093,7 @@ DEFUN (vnc_nve_export_prefixlist,
|
||||
return CMD_WARNING;
|
||||
}
|
||||
|
||||
if (!strcmp (argv[3]->arg, "ipv4"))
|
||||
if (strmatch(argv[3]->text, "ipv4"))
|
||||
{
|
||||
afi = AFI_IP;
|
||||
}
|
||||
@ -2144,7 +2144,7 @@ DEFUN (vnc_nve_export_no_routemap,
|
||||
{
|
||||
if (((argc > 5)
|
||||
&& hc->routemap_export_bgp_name
|
||||
&& !strcmp (argv[5]->arg, hc->routemap_export_bgp_name))
|
||||
&& strmatch(argv[5]->text, hc->routemap_export_bgp_name))
|
||||
|| (argc <= 5))
|
||||
{
|
||||
|
||||
@ -2159,7 +2159,7 @@ DEFUN (vnc_nve_export_no_routemap,
|
||||
{
|
||||
if (((argc > 5)
|
||||
&& hc->routemap_export_zebra_name
|
||||
&& !strcmp (argv[5]->arg, hc->routemap_export_zebra_name))
|
||||
&& strmatch(argv[5]->text, hc->routemap_export_zebra_name))
|
||||
|| (argc <= 5))
|
||||
{
|
||||
|
||||
@ -3049,7 +3049,7 @@ DEFUN (vnc_nve_group_l2rd,
|
||||
return CMD_WARNING;
|
||||
}
|
||||
|
||||
if (!strcmp (argv[1]->arg, "auto:vn"))
|
||||
if (strmatch(argv[1]->text, "auto:vn"))
|
||||
{
|
||||
rfg->l2rd = 0;
|
||||
}
|
||||
@ -3198,7 +3198,7 @@ DEFUN (vnc_nve_group_responselifetime,
|
||||
return CMD_WARNING;
|
||||
}
|
||||
|
||||
if (!strcmp (argv[1]->arg, "infinite"))
|
||||
if (strmatch(argv[1]->text, "infinite"))
|
||||
{
|
||||
rspint = RFAPI_INFINITE_LIFETIME;
|
||||
}
|
||||
|
||||
@ -3333,7 +3333,7 @@ DEFUN (debug_rfapi_register_vn_un,
|
||||
}
|
||||
rfapiQprefix2Rprefix (&pfx, &hpfx);
|
||||
|
||||
if (!strcmp (argv[10]->arg, "infinite"))
|
||||
if (strmatch(argv[10]->text, "infinite"))
|
||||
{
|
||||
lifetime = RFAPI_INFINITE_LIFETIME;
|
||||
}
|
||||
@ -3422,7 +3422,7 @@ DEFUN (debug_rfapi_register_vn_un_l2o,
|
||||
}
|
||||
rfapiQprefix2Rprefix (&pfx, &hpfx);
|
||||
|
||||
if (!strcmp (argv[10]->arg, "infinite"))
|
||||
if (strmatch(argv[10]->text, "infinite"))
|
||||
{
|
||||
lifetime = RFAPI_INFINITE_LIFETIME;
|
||||
}
|
||||
@ -3931,7 +3931,7 @@ DEFUN (debug_rfapi_response_omit_self,
|
||||
return CMD_WARNING;
|
||||
}
|
||||
|
||||
if (!strcmp (argv[3]->arg, "on"))
|
||||
if (strmatch(argv[3]->text, "on"))
|
||||
SET_FLAG (bgp->rfapi_cfg->flags, BGP_VNC_CONFIG_FILTER_SELF_FROM_RSP);
|
||||
else
|
||||
UNSET_FLAG (bgp->rfapi_cfg->flags, BGP_VNC_CONFIG_FILTER_SELF_FROM_RSP);
|
||||
|
||||
@ -2236,7 +2236,7 @@ register_add (
|
||||
|
||||
for (; argc; --argc, ++argv)
|
||||
{
|
||||
if (!strcmp (argv[0]->arg, "local-next-hop"))
|
||||
if (strmatch(argv[0]->text, "local-next-hop"))
|
||||
{
|
||||
if (arg_lnh)
|
||||
{
|
||||
@ -2253,7 +2253,7 @@ register_add (
|
||||
++argv, --argc;
|
||||
arg_lnh = argv[0]->arg;
|
||||
}
|
||||
if (!strcmp (argv[0]->arg, "local-cost"))
|
||||
if (strmatch(argv[0]->text, "local-cost"))
|
||||
{
|
||||
if (arg_lnh_cost)
|
||||
{
|
||||
|
||||
@ -69,7 +69,7 @@ DEFUN (debug_bgp_vnc,
|
||||
|
||||
for (i = 0; i < (sizeof(vncdebug) / sizeof(struct vnc_debug)); ++i)
|
||||
{
|
||||
if (!strcmp(argv[3]->arg, vncdebug[i].name))
|
||||
if (strmatch(argv[3]->text, vncdebug[i].name))
|
||||
{
|
||||
if (vty->node == CONFIG_NODE)
|
||||
{
|
||||
@ -104,11 +104,11 @@ DEFUN (no_debug_bgp_vnc,
|
||||
{
|
||||
size_t i;
|
||||
|
||||
if (!strcmp(argv[0]->arg, "no"))
|
||||
if (strmatch(argv[0]->text, "no"))
|
||||
argc--, argv++;
|
||||
for (i = 0; i < (sizeof(vncdebug) / sizeof(struct vnc_debug)); ++i)
|
||||
{
|
||||
if (!strcmp(argv[3]->arg, vncdebug[i].name))
|
||||
if (strmatch(argv[3]->text, vncdebug[i].name))
|
||||
{
|
||||
if (vty->node == CONFIG_NODE)
|
||||
{
|
||||
|
||||
@ -1386,7 +1386,7 @@ DEFUN (show_isis_topology,
|
||||
|
||||
if (argc < 4)
|
||||
levels = ISIS_LEVEL1|ISIS_LEVEL2;
|
||||
else if (!strcmp(argv[3]->arg, "level-1"))
|
||||
else if (strmatch(argv[3]->text, "level-1"))
|
||||
levels = ISIS_LEVEL1;
|
||||
else
|
||||
levels = ISIS_LEVEL2;
|
||||
|
||||
@ -1534,8 +1534,8 @@ DEFUN (config_write,
|
||||
struct stat conf_stat;
|
||||
|
||||
// if command was 'write terminal' or 'show running-config'
|
||||
if (argc == 2 && (!strcmp(argv[idx_type]->text, "terminal") ||
|
||||
!strcmp(argv[0]->text, "show")))
|
||||
if (argc == 2 && (strmatch(argv[idx_type]->text, "terminal") ||
|
||||
strmatch(argv[0]->text, "show")))
|
||||
{
|
||||
vty_write_config (vty);
|
||||
return CMD_SUCCESS;
|
||||
|
||||
@ -494,7 +494,7 @@ DEFUN(if_nhrp_map, if_nhrp_map_cmd,
|
||||
return nhrp_vty_return(vty, NHRP_ERR_FAIL);
|
||||
|
||||
c->map = 1;
|
||||
if (strcmp(argv[4]->text, "local") == 0) {
|
||||
if (strmatch(argv[4]->text, "local")) {
|
||||
nhrp_cache_update_binding(c, NHRP_CACHE_LOCAL, 0, NULL, 0, NULL);
|
||||
} else{
|
||||
if (str2sockunion(argv[4]->arg, &nbma_addr) < 0)
|
||||
|
||||
@ -850,11 +850,11 @@ DEFUN (debug_ospf6_lsa_type,
|
||||
|
||||
if (argc == 5)
|
||||
{
|
||||
if (! strcmp (argv[idx_type]->text, "originate"))
|
||||
if (strmatch(argv[idx_type]->text, "originate"))
|
||||
SET_FLAG (handler->debug, OSPF6_LSA_DEBUG_ORIGINATE);
|
||||
else if (! strcmp (argv[idx_type]->text, "examine"))
|
||||
else if (strmatch(argv[idx_type]->text, "examine"))
|
||||
SET_FLAG (handler->debug, OSPF6_LSA_DEBUG_EXAMIN);
|
||||
else if (! strcmp (argv[idx_type]->text, "flooding"))
|
||||
else if (strmatch(argv[idx_type]->text, "flooding"))
|
||||
SET_FLAG (handler->debug, OSPF6_LSA_DEBUG_FLOOD);
|
||||
}
|
||||
else
|
||||
@ -903,11 +903,11 @@ DEFUN (no_debug_ospf6_lsa_type,
|
||||
|
||||
if (argc == 6)
|
||||
{
|
||||
if (! strcmp (argv[idx_type]->text, "originate"))
|
||||
if (strmatch(argv[idx_type]->text, "originate"))
|
||||
UNSET_FLAG (handler->debug, OSPF6_LSA_DEBUG_ORIGINATE);
|
||||
if (! strcmp (argv[idx_type]->text, "examine"))
|
||||
if (strmatch(argv[idx_type]->text, "examine"))
|
||||
UNSET_FLAG (handler->debug, OSPF6_LSA_DEBUG_EXAMIN);
|
||||
if (! strcmp (argv[idx_type]->text, "flooding"))
|
||||
if (strmatch(argv[idx_type]->text, "flooding"))
|
||||
UNSET_FLAG (handler->debug, OSPF6_LSA_DEBUG_FLOOD);
|
||||
}
|
||||
else
|
||||
|
||||
@ -1313,43 +1313,43 @@ ospf6_route_table_show (struct vty *vty, int argc_start, int argc, struct cmd_to
|
||||
|
||||
for (i = argc_start; i < argc; i++)
|
||||
{
|
||||
if (! strcmp (argv[i]->arg, "summary"))
|
||||
if (strmatch(argv[i]->text, "summary"))
|
||||
{
|
||||
summary++;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (! strcmp (argv[i]->arg, "intra-area"))
|
||||
if (strmatch(argv[i]->text, "intra-area"))
|
||||
{
|
||||
type = OSPF6_PATH_TYPE_INTRA;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (! strcmp (argv[i]->arg, "inter-area"))
|
||||
if (strmatch(argv[i]->text, "inter-area"))
|
||||
{
|
||||
type = OSPF6_PATH_TYPE_INTER;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (! strcmp (argv[i]->arg, "external-1"))
|
||||
if (strmatch(argv[i]->text, "external-1"))
|
||||
{
|
||||
type = OSPF6_PATH_TYPE_EXTERNAL1;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (! strcmp (argv[i]->arg, "external-2"))
|
||||
if (strmatch(argv[i]->text, "external-2"))
|
||||
{
|
||||
type = OSPF6_PATH_TYPE_EXTERNAL2;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (! strcmp (argv[i]->arg, "detail"))
|
||||
if (strmatch(argv[i]->text, "detail"))
|
||||
{
|
||||
detail++;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (! strcmp (argv[i]->arg, "match"))
|
||||
if (strmatch(argv[i]->text, "match"))
|
||||
{
|
||||
match++;
|
||||
continue;
|
||||
@ -1488,7 +1488,7 @@ ospf6_linkstate_table_show (struct vty *vty, int idx_ipv4, int argc,
|
||||
|
||||
for (i = idx_ipv4; i < argc; i++)
|
||||
{
|
||||
if (! strcmp (argv[i]->arg, "detail"))
|
||||
if (strmatch(argv[i]->text, "detail"))
|
||||
{
|
||||
detail++;
|
||||
continue;
|
||||
|
||||
@ -374,7 +374,7 @@ DEFUN (ospf_passive_interface,
|
||||
struct ospf_if_params *params;
|
||||
struct route_node *rn;
|
||||
|
||||
if (strcmp (argv[1]->text, "default") == 0)
|
||||
if (strmatch(argv[1]->text, "default"))
|
||||
{
|
||||
ospf_passive_interface_default (ospf, OSPF_IF_PASSIVE);
|
||||
return CMD_SUCCESS;
|
||||
@ -444,7 +444,7 @@ DEFUN (no_ospf_passive_interface,
|
||||
int ret;
|
||||
struct route_node *rn;
|
||||
|
||||
if (strcmp (argv[2]->text, "default") == 0)
|
||||
if (strmatch(argv[2]->text, "default"))
|
||||
{
|
||||
ospf_passive_interface_default (ospf, OSPF_IF_ACTIVE);
|
||||
return CMD_SUCCESS;
|
||||
@ -1090,7 +1090,7 @@ DEFUN (ospf_area_vlink,
|
||||
i++;
|
||||
}
|
||||
else if (strncmp (argv[i+1]->arg, "m", 1) == 0
|
||||
&& strcmp (argv[i+1]->arg, "message-digest-") != 0)
|
||||
&& !strmatch(argv[i + 1]->text, "message-digest-"))
|
||||
{
|
||||
/* "authentication message-digest" */
|
||||
vl_config.auth_type = OSPF_AUTH_CRYPTOGRAPHIC;
|
||||
|
||||
@ -2185,7 +2185,7 @@ DEFUN (ipv6_route,
|
||||
int idx_curr;
|
||||
char *src, *tag, *distance, *vrf;
|
||||
|
||||
if (!strcmp(argv[3]->text, "from"))
|
||||
if (strmatch(argv[3]->text, "from"))
|
||||
{
|
||||
src = argv[4]->arg;
|
||||
idx_ipv6_ifname = 5;
|
||||
@ -2233,7 +2233,7 @@ DEFUN (ipv6_route_flags,
|
||||
int idx_curr;
|
||||
char *src, *tag, *distance, *vrf;
|
||||
|
||||
if (!strcmp(argv[3]->text, "from"))
|
||||
if (strmatch(argv[3]->text, "from"))
|
||||
{
|
||||
src = argv[4]->arg;
|
||||
idx_ipv6_ifname = 5;
|
||||
@ -2282,7 +2282,7 @@ DEFUN (ipv6_route_ifname,
|
||||
int idx_curr = 5;
|
||||
char *src, *tag, *distance, *vrf;
|
||||
|
||||
if (!strcmp(argv[3]->text, "from"))
|
||||
if (strmatch(argv[3]->text, "from"))
|
||||
{
|
||||
src = argv[4]->arg;
|
||||
idx_ipv6 = 5;
|
||||
@ -2334,7 +2334,7 @@ DEFUN (ipv6_route_ifname_flags,
|
||||
int idx_curr;
|
||||
char *src, *tag, *distance, *vrf;
|
||||
|
||||
if (!strcmp(argv[3]->text, "from"))
|
||||
if (strmatch(argv[3]->text, "from"))
|
||||
{
|
||||
src = argv[4]->arg;
|
||||
idx_ipv6 = 5;
|
||||
@ -2386,7 +2386,7 @@ DEFUN (no_ipv6_route,
|
||||
int idx_curr;
|
||||
char *src, *tag, *distance, *vrf;
|
||||
|
||||
if (!strcmp(argv[4]->text, "from"))
|
||||
if (strmatch(argv[4]->text, "from"))
|
||||
{
|
||||
src = argv[5]->arg;
|
||||
idx_ipv6_ifname = 6;
|
||||
@ -2435,7 +2435,7 @@ DEFUN (no_ipv6_route_flags,
|
||||
int idx_curr;
|
||||
char *src, *tag, *distance, *vrf;
|
||||
|
||||
if (!strcmp(argv[4]->text, "from"))
|
||||
if (strmatch(argv[4]->text, "from"))
|
||||
{
|
||||
src = argv[5]->arg;
|
||||
idx_ipv6_ifname = 6;
|
||||
@ -2485,7 +2485,7 @@ DEFUN (no_ipv6_route_ifname,
|
||||
int idx_curr;
|
||||
char *src, *tag, *distance, *vrf;
|
||||
|
||||
if (!strcmp(argv[4]->text, "from"))
|
||||
if (strmatch(argv[4]->text, "from"))
|
||||
{
|
||||
src = argv[5]->arg;
|
||||
idx_ipv6 = 6;
|
||||
@ -2538,7 +2538,7 @@ DEFUN (no_ipv6_route_ifname_flags,
|
||||
int idx_curr;
|
||||
char *src, *tag, *distance, *vrf;
|
||||
|
||||
if (!strcmp(argv[4]->text, "from"))
|
||||
if (strmatch(argv[4]->text, "from"))
|
||||
{
|
||||
src = argv[5]->arg;
|
||||
idx_ipv6 = 6;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user