Page MenuHomeFreeBSD

netlink: convert to IfAPI.
ClosedPublic

Authored by melifaro on Jun 16 2023, 2:02 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, May 19, 12:54 PM
Unknown Object (File)
Sun, May 19, 9:01 AM
Unknown Object (File)
Sat, May 18, 12:03 AM
Unknown Object (File)
Thu, May 16, 12:23 AM
Unknown Object (File)
Mon, May 13, 3:43 PM
Unknown Object (File)
Sun, May 5, 5:09 PM
Unknown Object (File)
Thu, May 2, 2:47 AM
Unknown Object (File)
Wed, May 1, 6:02 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 Passed
Unit
No Test Coverage
Build Status
Buildable 52103
Build 48994: arc lint + arc unit

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.