Page MenuHomeFreeBSD

netlink: convert to IfAPI.
ClosedPublic

Authored by melifaro on Jun 16 2023, 2:02 PM.
Tags
None
Referenced Files
F120118976: D40577.diff
Sun, Jun 15, 6:37 AM
Unknown Object (File)
Fri, Jun 13, 8:28 PM
Unknown Object (File)
Mon, Jun 2, 4:24 AM
Unknown Object (File)
Sun, Jun 1, 9:09 PM
Unknown Object (File)
Thu, May 29, 3:58 AM
Unknown Object (File)
Thu, May 22, 4:48 PM
Unknown Object (File)
May 15 2025, 6:12 AM
Unknown Object (File)
Apr 26 2025, 1:29 PM
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.