bisdn / basebox

A tiny OpenFlow controller for OF-DPA switches.
Mozilla Public License 2.0
45 stars 9 forks source link

nl_l3: properly handle layer 3 neighbors on bridges #322

Closed KanjiMonster closed 3 years ago

KanjiMonster commented 3 years ago

Fix various issues with layer 3 neighbor handling on bridges.

Description

Currently multiple codepaths related to updating and deleting layer 3 neighbors were not handling those on bridges due to a port id requirement for the interface, which bridge interfaces don't have.

Fix this by adding the appropriate resolution through the fdb to figure out the physical port, and allow any switch related port for updates.

Motivation and Context

This fixes the issue that l3 neighbors that were learned in failed state were never updated once they became reachable, were never triggering layer 3 interface creation and therefore no routing in hardware would be setup.

How Has This Been Tested?

Test pipeline has been run on as4610, all tests passed.