Skip to content

Commit

Permalink
[muxorch] return true if the nbr IP is in the skip_neighbors list (#2407
Browse files Browse the repository at this point in the history
)

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 <ndancejic@microsoft.com>

Co-authored-by: Ubuntu <dancejic@dancejic-vm.tmcjvzftiwdebn3deov5sqribb.xx.internal.cloudapp.net>
  • Loading branch information
2 people authored and yxieca committed Aug 9, 2022
1 parent a3ac275 commit d772a70
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
4 changes: 4 additions & 0 deletions orchagent/muxorch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -962,6 +962,10 @@ bool MuxOrch::isNeighborActive(const IpAddress& nbr, const MacAddress& mac, stri

if (ptr)
{
if (ptr->getSkipNeighborsSet().find(nbr) != ptr->getSkipNeighborsSet().end())
{
return true;
}
return ptr->isActive();
}

Expand Down
4 changes: 4 additions & 0 deletions orchagent/muxorch.h
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,10 @@ class MuxCable
{
return nbr_handler_->getNextHopId(nh);
}
std::set<IpAddress> getSkipNeighborsSet()
{
return skip_neighbors_;
}

private:
bool stateActive();
Expand Down

0 comments on commit d772a70

Please sign in to comment.