From 594b136eee1d83da723cf92c9b1a25ba8bb27a12 Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Tue, 22 Jun 2021 21:56:05 +0000 Subject: [PATCH] Changes #7 Fixes --- orchagent/portsorch.cpp | 6 ++++-- orchagent/vxlanorch.cpp | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/orchagent/portsorch.cpp b/orchagent/portsorch.cpp index 0c8d4d65ba..611ea3bb1e 100755 --- a/orchagent/portsorch.cpp +++ b/orchagent/portsorch.cpp @@ -4153,11 +4153,12 @@ bool PortsOrch::addVlanFloodGroups(Port &vlan, Port &port, string end_point_ip) } } vlan.m_vlan_info.l2mc_group_id = l2mc_group_id; + m_portList[vlan.m_alias] = vlan; } vector attrs; attr.id = SAI_L2MC_GROUP_MEMBER_ATTR_L2MC_GROUP_ID; - attr.value.oid = l2mc_group_id; + attr.value.oid = vlan.m_vlan_info.l2mc_group_id; attrs.push_back(attr); attr.id = SAI_L2MC_GROUP_MEMBER_ATTR_L2MC_OUTPUT_ID; @@ -4184,13 +4185,14 @@ bool PortsOrch::addVlanFloodGroups(Port &vlan, Port &port, string end_point_ip) status = sai_l2mc_group_api->create_l2mc_group_member(&l2mc_group_member, gSwitchId, static_cast(attrs.size()), attrs.data()); - if (status != SAI_STATUS_FAILURE) + if (status != SAI_STATUS_SUCCESS) { SWSS_LOG_ERROR("Failed to create l2mc group member for adding tunnel %s to vlan %hu", end_point_ip.c_str(), vlan.m_vlan_info.vlan_id); return false; } vlan.m_vlan_info.l2mc_members[end_point_ip] = l2mc_group_member; + m_portList[vlan.m_alias] = vlan; return true; } diff --git a/orchagent/vxlanorch.cpp b/orchagent/vxlanorch.cpp index e2fc8b2a7a..bef43fde7f 100644 --- a/orchagent/vxlanorch.cpp +++ b/orchagent/vxlanorch.cpp @@ -1749,9 +1749,10 @@ bool VxlanTunnelMapOrch::addOperation(const Request& request) TUNNELMAP_SET_VRF(mapper_list); tunnel_obj->createTunnelHw(mapper_list,TUNNEL_MAP_USE_DEDICATED_ENCAP_DECAP); Port tunPort; - if (!tunnel_orch->getTunnelPort(tunnel_name, tunPort, true)) + auto src_vtep = tunnel_obj->getSrcIP().to_string(); + if (!tunnel_orch->getTunnelPort(src_vtep, tunPort, true)) { - auto port_tunnel_name = tunnel_orch->getTunnelPortName(tunnel_name, true); + auto port_tunnel_name = tunnel_orch->getTunnelPortName(src_vtep, true); gPortsOrch->addTunnel(port_tunnel_name, tunnel_obj->getTunnelId(), false); gPortsOrch->getPort(port_tunnel_name,tunPort); gPortsOrch->addBridgePort(tunPort); @@ -1847,7 +1848,8 @@ bool VxlanTunnelMapOrch::delOperation(const Request& request) if (tunnel_obj->getDipTunnelCnt() == 0) { Port tunnelPort; - auto port_tunnel_name = tunnel_orch->getTunnelPortName(tunnel_name, true); + auto src_vtep = tunnel_obj->getSrcIP().to_string(); + auto port_tunnel_name = tunnel_orch->getTunnelPortName(src_vtep, true); bool ret; ret = gPortsOrch->getPort(port_tunnel_name,tunnelPort);