diff --git a/orchagent/vnetorch.cpp b/orchagent/vnetorch.cpp index 9155d3169396..d45c44f315a5 100644 --- a/orchagent/vnetorch.cpp +++ b/orchagent/vnetorch.cpp @@ -791,6 +791,12 @@ bool VNetBitmapObject::addTunnelRoute(IpPrefix& ipPrefix, tunnelEndpoint& endp) sai_ip_address_t underlayAddr; copy(underlayAddr, endp.ip); + if (tunnelRouteMap_.find(ipPrefix) != tunnelRouteMap_.end()) + { + SWSS_LOG_WARN("VNET tunnel route %s exists", ipPrefix.to_string().c_str()); + return true; + } + VNetOrch* vnet_orch = gDirectory.get(); for (auto peer : peer_list) { @@ -1093,6 +1099,12 @@ bool VNetBitmapObject::addRoute(IpPrefix& ipPrefix, nextHop& nh) Port port; RouteInfo routeInfo; + if (routeMap_.find(ipPrefix) != routeMap_.end()) + { + SWSS_LOG_WARN("VNET route %s exists", ipPrefix.to_string().c_str()); + return true; + } + bool is_subnet = (!nh.ips.getSize() || nh.ips.contains("0.0.0.0")) ? true : false; if (is_subnet && (!gPortsOrch->getPort(nh.ifname, port) || (port.m_rif_id == SAI_NULL_OBJECT_ID)))