]> git.puffer.fish Git - matthieu/frr.git/commitdiff
Zebra: Fix IPv6 static route config in a VRF
authorvivek <vivek@cumulusnetworks.com>
Wed, 30 Mar 2016 00:41:59 +0000 (17:41 -0700)
committervivek <vivek@cumulusnetworks.com>
Wed, 30 Mar 2016 00:41:59 +0000 (17:41 -0700)
When configuring an IPv6 static route with the nexthop as a link-local
IPv6 address, the associated interface has to be looked up in the correct
VRF.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Ticket: CM-10169
Reviewed By: CCR-4382
Testing Done: Manual

zebra/zebra_vty.c

index 35d7baeba5e7429598ab0d6dc66ad4086185db81..5edafbdbccfa845bc058487c93d302a5df2d7f5c 100644 (file)
@@ -3401,6 +3401,10 @@ static_ipv6_func (struct vty *vty, int add_cmd, const char *dest_str,
      nexthop address other case gate is treated as interface name. */
   ret = inet_pton (AF_INET6, gate_str, &gate_addr);
 
+  /* VRF id */
+  if (vrf_id_str)
+    VRF_GET_ID (vrf_id, vrf_id_str);
+
   if (ifname)
     {
       /* When ifname is specified.  It must be come with gateway
@@ -3440,10 +3444,6 @@ static_ipv6_func (struct vty *vty, int add_cmd, const char *dest_str,
        }
     }
 
-  /* VRF id */
-  if (vrf_id_str)
-    VRF_GET_ID (vrf_id, vrf_id_str);
-
   if (add_cmd)
     static_add_ipv6 (&p, type, gate, ifindex, flag, tag, distance, vrf_id);
   else