Skip to content

Error message displayed on deleting vlan member "Failed to get port by bridge port ID" #6936

Closed
@allas-nvidia

Description

@allas-nvidia

Description:

When we remove vlan member from vlan we can see error in log:

ERR swss#orchagent: :- update: Failed to get port by bridge port ID ...

It seems there is a race which can cause the scenario, when we receive notifications about FDB FLUSH on port which was already removed.

removeBridgePort (portsorch.cpp) called as a result of "remove vlan member" command, will call flushFDBEntries and at the end of this function ( removeBridgePort ) will set port.m_bridge_port_id = SAI_NULL_OBJECT_ID;
As a result of flushFDBEntries sai will notify FdbOrch with attr oid which will be passed to the function FdbOrch::update( fdborch.cpp) as bridge_port_id.
However, the function getPortByBridgePortId will return false - as m_bridge_port_id was set to SAI_NULL_OBJECT_ID at the end of the function removeBridgePort and the error "Failed to get port by bridge port ID" will appear in log.

Steps to reproduce the issue:

  1. sudo config vlan add 3
  2. sudo config vlan member add 3 Ethernet8
  3. sudo config vlan member del 3 Ethernet8

Describe the results you received:

Error in log: "Failed to get port by bridge port ID"

Describe the results you expected:

No error in log

Output of show version:

(paste your output here)

Additional information you deem important (e.g. issue happens only occasionally):

Metadata

Metadata

Assignees

Labels

Triagedthis issue has been triaged

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions