{
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);
{
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);
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)
{
/* 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 (strmatch (safi_str, "multicast"))
if (safi)
*safi = SAFI_MPLS_VPN;
}
- else if (argv_find (argv, argc, "evpn", index))
- {
- ret = 1;
- if (safi)
- *safi = SAFI_EVPN;
- }
return ret;
}
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
{
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
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,
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,
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;
}
VTY_GET_ULL("subgroup-id", subgrp_id, argv[idx_subgroup_id]->arg);
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;
}