Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion common/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ EXTRA_DIST = \
consumer_state_table_pops.lua \
consumer_table_pops.lua \
producer_state_table_apply_view.lua \
table_dump.lua
table_dump.lua \
fdb_flush.lua

swssdir = $(datadir)/swss

Expand Down
25 changes: 25 additions & 0 deletions common/fdb_flush.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
local keys = redis.call('KEYS', KEYS[1])
local n = table.getn(keys)

for i = 1, n do
if KEYS[2] == "" and KEYS[3] == "1" then
redis.call('DEL', keys[i])
elseif KEYS[2] == "" and KEYS[3] == "0" then
local type = redis.call('HGET', keys[i], "SAI_FDB_ENTRY_ATTR_TYPE");
if type == "SAI_FDB_ENTRY_TYPE_DYNAMIC" then
redis.call('DEL', keys[i])
end
elseif KEYS[2] ~= "" then
local bridge_port = redis.call('HGET', keys[i], "SAI_FDB_ENTRY_ATTR_BRIDGE_PORT_ID");
if bridge_port == KEYS[2] then
if KEYS[3] == "1" then
redis.call('DEL', keys[i])
else
local type = redis.call('HGET', keys[i], "SAI_FDB_ENTRY_ATTR_TYPE");
if type == "SAI_FDB_ENTRY_TYPE_DYNAMIC" then
redis.call('DEL', keys[i])
end
end
end
end
end
2 changes: 2 additions & 0 deletions common/schema.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ namespace swss {
/***** COUNTER DATABASE *****/

#define COUNTERS_PORT_NAME_MAP "COUNTERS_PORT_NAME_MAP"
#define COUNTERS_LAG_NAME_MAP "COUNTERS_LAG_NAME_MAP"
#define COUNTERS_TABLE "COUNTERS"
#define COUNTERS_QUEUE_NAME_MAP "COUNTERS_QUEUE_NAME_MAP"
#define COUNTERS_QUEUE_PORT_MAP "COUNTERS_QUEUE_PORT_MAP"
Expand Down Expand Up @@ -136,6 +137,7 @@ namespace swss {
#define CFG_LAG_MEMBER_TABLE_NAME "PORTCHANNEL_MEMBER"
#define CFG_VLAN_TABLE_NAME "VLAN"
#define CFG_VLAN_MEMBER_TABLE_NAME "VLAN_MEMBER"
#define CFG_FDB_TABLE_NAME "FDB"
#define CFG_SWITCH_TABLE_NAME "SWITCH"
#define CFG_VRF_TABLE_NAME "VRF"
#define CFG_CRM_TABLE_NAME "CRM"
Expand Down