Page MenuHomeFreeBSD

netlink: convert to IfAPI.
ClosedPublic

Authored by melifaro on Jun 16 2023, 2:02 PM.
Tags
None
Referenced Files
F154890166: D40577.id.diff
Wed, Apr 29, 7:40 PM
F154721760: D40577.id123337.diff
Wed, Apr 29, 7:33 AM
F154719784: D40577.id123337.diff
Wed, Apr 29, 7:28 AM
Unknown Object (File)
Tue, Apr 28, 7:40 PM
Unknown Object (File)
Tue, Apr 28, 7:31 PM
Unknown Object (File)
Tue, Apr 28, 11:12 AM
Unknown Object (File)
Mon, Apr 27, 10:37 PM
Unknown Object (File)
Mon, Apr 27, 10:13 AM
Subscribers

Details

Summary

Convert to IfAPI everything except IF_AFDATA_WLOCK usage in neigh.c.

I don't think it's a good idea to to expose locking as function-based API. I'd prefer to leave neigh.c with access to a private header for some time.
I two options here: 1) move actual LLE insertion code inside if_lltable.c

  1. refactoring IF_AFDATA locking in general to have per-af lock instead of a global one.

Currently I'm leaning for the first option, which is fairly simple.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

I agree with option 1, moving the LLE insertion code to if_llatbl.c

sys/netlink/route/neigh.c
43

I'm fine with including the private header for now, let's make sure "for now" doesn't become "forever", though :)

This revision is now accepted and ready to land.Jun 16 2023, 3:36 PM

I agree with option 1, moving the LLE insertion code to if_llatbl.c

Yep. I drafted something, but I need to think about the desired KPI a bit more, as I want to accommodate child LLE inclusion (IPv4 over IPv6 LLEs ATM). Probably I'll come up with something in the next couple of days.

sys/netlink/route/neigh.c
43

Sure. I'd really love to reduce the if_private.h inclusion to the bare minimum everywhere.

This revision was automatically updated to reflect the committed changes.