Page MenuHomeFreeBSD

Add rib subscription API.
ClosedPublic

Authored by melifaro on May 30 2020, 2:47 PM.
Tags
None
Referenced Files
F81590588: D25070.id72468.diff
Thu, Apr 18, 2:57 PM
Unknown Object (File)
Mar 7 2024, 11:29 PM
Unknown Object (File)
Feb 11 2024, 6:56 AM
Unknown Object (File)
Feb 9 2024, 5:35 AM
Unknown Object (File)
Feb 4 2024, 10:56 PM
Unknown Object (File)
Dec 28 2023, 5:22 PM
Unknown Object (File)
Dec 24 2023, 3:19 PM
Unknown Object (File)
Dec 20 2023, 2:48 AM
Subscribers

Details

Reviewers
ae
Group Reviewers
network
Commits
rS361708: Add rib subscription API.
Summary

Currently there is no easy way of subscribing for the routing table changes. The only existing way is to set ifa_rtrequest callback in the each protocol ifaddr, which is not convenient or extandable.

This change provides generic notification subscription mechanism, that will replace current ifa_rtrequest one and allow other applications such as accelerated routing lookup modules subscribe for the changes.

In particular, this change provides 2 hooks: 1) synchronous one (RIB_NOTIFY_IMMEDIATE), called under RIB_WLOCK, which ensures exact ordering of the changes and 2) async one, (RIB_NOTIFY_DELAYED) that is called after the change w/o holding locks. The latter one does not provide any notification ordering guarantee.

This change depends on D25067.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 31403
Build 29026: arc lint + arc unit

Event Timeline

melifaro added reviewers: network, ae.
melifaro edited the summary of this revision. (Show Details)

Add forgottech epoch reclamation.

How many subscribers do you expect? I think you will replace some existing. Maybe it would be better to have separate list for each subscription type?

In D25070#552529, @ae wrote:

How many subscribers do you expect? I think you will replace some existing. Maybe it would be better to have separate list for each subscription type?

Currently there is only one - ND6 default route checker. With the modular lookup engine, there will be 1 more for rtables where lookup engine is attached.
With that in mind, idea is to start with the simplest implementation and then enhance it if/when needed.

This revision was not accepted when it landed; it landed in state Needs Review.Jun 1 2020, 9:52 PM
Closed by commit rS361708: Add rib subscription API. (authored by melifaro). · Explain Why
This revision was automatically updated to reflect the committed changes.