]> git.puffer.fish Git - matthieu/frr.git/commitdiff
zebra: Handle change to VxLAN tunnel (local) IP address for L3 VNI similar to what...
authorMitesh Kanjariya <mitesh@marvel-07.cumulusnetworks.com>
Tue, 23 Jan 2018 02:12:13 +0000 (18:12 -0800)
committermitesh <mitesh@cumulusnetworks.com>
Fri, 9 Feb 2018 07:06:30 +0000 (23:06 -0800)
Ticket: CM-19195
Review: CCR-7122
Test: Manual

Signed-of-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
zebra/zebra_vxlan.c

index 850ee509694937f0ee59a51facf4e1b8c721bb22..01d5e16556da297f9e3e19c46295ddddf19fbbab 100644 (file)
@@ -6301,14 +6301,21 @@ int zebra_vxlan_if_update(struct interface *ifp, u_int16_t chgflags)
                                zebra_vxlan_process_l3vni_oper_down(zl3vni);
                                zl3vni->svi_if = NULL;
                                zl3vni->svi_if = zl3vni_map_to_svi_if(zl3vni);
+                               zl3vni->local_vtep_ip = vxl->vtep_ip;
                                if (is_l3vni_oper_up(zl3vni))
                                        zebra_vxlan_process_l3vni_oper_up(
                                                                        zl3vni);
                        }
                }
 
-               /* if we have a valid new master, process l3-vni oper up */
-               if (chgflags & ZEBRA_VXLIF_MASTER_CHANGE) {
+               /* Update local tunnel IP. */
+               zl3vni->local_vtep_ip = vxl->vtep_ip;
+
+               /* if we have a valid new master or there is a change to the tunnel IP,
+                * process l3-vni oper up
+                */
+               if (chgflags
+                   & (ZEBRA_VXLIF_MASTER_CHANGE | ZEBRA_VXLIF_LOCAL_IP_CHANGE)) {
                        if (is_l3vni_oper_up(zl3vni))
                                zebra_vxlan_process_l3vni_oper_up(zl3vni);
                }