bisdn / basebox

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

nl_l3: update Link Layer Egress Entries #298

Closed rubensfig closed 3 years ago

rubensfig commented 3 years ago

Description

This PR deals with updating L3 egress entries. There are L3 egress entries being removed on IPv6 Link Layer addresses neigh removal. This is a mismatch since we are not refcounting ipv6 ll addresses.

Additionally, we have to track nexthop changes, more specifically updating routes over a nexthop when it turns unreachable. This is done via registering a route and its nexthop on addition, and waiting on this object until the corresponding nexthop gets deleted via del_l3_neigh. We then rewrite the route to controller, which is a mismatch to Linux state. Linux "wipes" the route from the kernel state, but we do not receive a specific notification for this event.

How Has This Been Tested?

Internal static-route test on the 4610.

KanjiMonster commented 3 years ago

Please provide a proper description of the issue and why your commit fixes it

hilmarm commented 3 years ago

lgtm