]> git.puffer.fish Git - mirror/frr.git/commitdiff
zebra: Extend unknown vrf to vrf part of ip route 1889/head
authorDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 16 Mar 2018 22:45:29 +0000 (18:45 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 16 Mar 2018 22:45:29 +0000 (18:45 -0400)
When specifying a ip route:

ip route 4.3.2.0/24 192.168.201.1 vrf DONNA

Accept DONNA even if it has not been created yet.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
zebra/zebra_vty.c

index d0e2529924debc9bbb9464979c333e54f715c26b..9ae60e011c664c7c6b1ce86ffa6afb7807ce516d 100644 (file)
@@ -798,7 +798,7 @@ DEFPY(ip_route_address_interface,
                ifname = NULL;
        }
 
-       zvrf = zebra_vrf_lookup_by_name(vrf);
+       zvrf = zebra_vty_get_unknown_vrf(vty, vrf);
        if (!zvrf) {
                vty_out(vty, "%% vrf %s is not defined\n", vrf);
                return CMD_WARNING_CONFIG_FAILED;
@@ -905,7 +905,7 @@ DEFPY(ip_route,
                ifname = NULL;
        }
 
-       zvrf = zebra_vrf_lookup_by_name(vrf);
+       zvrf = zebra_vty_get_unknown_vrf(vty, vrf);
        if (!zvrf) {
                vty_out(vty, "%% vrf %s is not defined\n", vrf);
                return CMD_WARNING_CONFIG_FAILED;
@@ -2409,7 +2409,7 @@ DEFPY(ipv6_route_address_interface,
        struct zebra_vrf *zvrf;
        struct zebra_vrf *nh_zvrf;
 
-       zvrf = zebra_vrf_lookup_by_name(vrf);
+       zvrf = zebra_vty_get_unknown_vrf(vty, vrf);
        if (!zvrf) {
                vty_out(vty, "%% vrf %s is not defined\n", vrf);
                return CMD_WARNING_CONFIG_FAILED;
@@ -2503,7 +2503,7 @@ DEFPY(ipv6_route,
        struct zebra_vrf *zvrf;
        struct zebra_vrf *nh_zvrf;
 
-       zvrf = zebra_vrf_lookup_by_name(vrf);
+       zvrf = zebra_vty_get_unknown_vrf(vty, vrf);
        if (!zvrf) {
                vty_out(vty, "%% vrf %s is not defined\n", vrf);
                return CMD_WARNING_CONFIG_FAILED;