int first = 1;
vrf_id_t vrf_id = VRF_DEFAULT;
- if (strmatch(argv[3]->text, "vrf"))
- {
- type = proto_redistnum (AFI_IP, argv[5]->arg);
- VRF_GET_ID (vrf_id, argv[4]->arg);
- }
- else
- {
- type = proto_redistnum (AFI_IP, argv[3]->arg);
- }
+ int idx = 0;
+ if (argv_find (argv, argc, "NAME", &idx))
+ VRF_GET_ID (vrf_id, argv[idx]->arg);
+
+ char *proto = argv[argc - 1]->text;
+ type = proto_redistnum (AFI_IP, proto);
if (type < 0)
{
int first = 1;
int vrf_header = 1;
- type = proto_redistnum (AFI_IP, argv[6]->arg);
+ char *proto = argv[argc - 1]->text;
+ type = proto_redistnum (AFI_IP, proto);
+
if (type < 0)
{
vty_out (vty, "Unknown route type%s", VTY_NEWLINE);
int first = 1;
vrf_id_t vrf_id = VRF_DEFAULT;
- char *vrfname = (argc == 6) ? argv[4]->arg : NULL;
- char *proto = argv[argc - 1]->text;
+ int idx = 0;
+ if (argv_find (argv, argc, "NAME", &idx))
+ VRF_GET_ID (vrf_id, argv[idx]->arg);
- if (vrfname)
- {
- VRF_GET_ID (vrf_id, vrfname);
- type = proto_redistnum (AFI_IP6, proto);
- }
- else
- type = proto_redistnum (AFI_IP6, proto);
+ char *proto = argv[argc - 1]->text;
+ type = proto_redistnum (AFI_IP, proto);
if (type < 0)
{
VRF_ALL_CMD_HELP_STR
FRR_IP6_REDIST_HELP_STR_ZEBRA)
{
- int idx_protocol = 5;
int type;
struct route_table *table;
struct route_node *rn;
int first = 1;
int vrf_header = 1;
- type = proto_redistnum (AFI_IP6, argv[idx_protocol]->arg);
+ char *proto = argv[argc - 1]->text;
+ type = proto_redistnum (AFI_IP, proto);
+
if (type < 0)
{
vty_out (vty, "Unknown route type%s", VTY_NEWLINE);