From 592c2511531d5f0127faa8f1f17d941eb518798e Mon Sep 17 00:00:00 2001 From: Jipan Yang Date: Tue, 15 Jan 2019 19:12:33 -0800 Subject: [PATCH] [fdborch] Store vlan id of FDB entry instead of port pvid into stateDB FDB table. Signed-off-by: Jipan Yang --- orchagent/fdborch.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/orchagent/fdborch.cpp b/orchagent/fdborch.cpp index 68fec2f655c..0e534be5c21 100644 --- a/orchagent/fdborch.cpp +++ b/orchagent/fdborch.cpp @@ -57,12 +57,18 @@ bool FdbOrch::storeFdbEntryState(const FdbUpdate& update) { const FdbEntry& entry = update.entry; const Port& port = update.port; - sai_vlan_id_t vlan_id = port.m_port_vlan_id; const MacAddress& mac = entry.mac; string portName = port.m_alias; + Port vlan; + + if (!m_portsOrch->getPort(entry.bv_id, vlan)) + { + SWSS_LOG_NOTICE("FdbOrch notification: Failed to locate vlan port from bv_id 0x%lx", entry.bv_id); + return false; + } // ref: https://github.com/Azure/sonic-swss/blob/master/doc/swss-schema.md#fdb_table - string key = "Vlan" + to_string(vlan_id) + ":" + mac.to_string(); + string key = "Vlan" + to_string(vlan.m_vlan_info.vlan_id) + ":" + mac.to_string(); if (update.add) {