Skip to content

Commit 11e3ebc

Browse files
UbuntuNdancejic
authored andcommitted
[muxorch] return true if the nbr IP is in the skip_neighbors list
Orchagent was not programming neighbor IP to h/w L3 host table during initialization because they were set as Standby. When the links became active, SoC IPs were added to the skip_neighbors_ list and never programmed. fix: - Added public method MuxCable::getSkipNeighborsSet() - check if nbr is in skip_neighbors_ when checking if cable is Active Signed-off-by: Nikola Dancejic <[email protected]>
1 parent dc477fb commit 11e3ebc

2 files changed

Lines changed: 8 additions & 0 deletions

File tree

orchagent/muxorch.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -962,6 +962,10 @@ bool MuxOrch::isNeighborActive(const IpAddress& nbr, const MacAddress& mac, stri
962962

963963
if (ptr)
964964
{
965+
if (ptr->getSkipNeighborsSet().find(nbr) != ptr->getSkipNeighborsSet().end())
966+
{
967+
return true;
968+
}
965969
return ptr->isActive();
966970
}
967971

orchagent/muxorch.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,10 @@ class MuxCable
9797
{
9898
return nbr_handler_->getNextHopId(nh);
9999
}
100+
std::set<IpAddress> getSkipNeighborsSet()
101+
{
102+
return skip_neighbors_;
103+
}
100104

101105
private:
102106
bool stateActive();

0 commit comments

Comments
 (0)