Page MenuHomeFreeBSD

netlink: convert to IfAPI.
ClosedPublic

Authored by melifaro on Jun 16 2023, 2:02 PM.
Tags
None
Referenced Files
F82653866: D40577.id123337.diff
Wed, May 1, 6:02 AM
Unknown Object (File)
Sat, Apr 27, 6:05 AM
Unknown Object (File)
Fri, Apr 26, 12:51 AM
Unknown Object (File)
Mon, Apr 22, 12:27 AM
Unknown Object (File)
Sun, Apr 21, 10:22 AM
Unknown Object (File)
Feb 3 2024, 4:55 PM
Unknown Object (File)
Jan 9 2024, 9:07 PM
Unknown Object (File)
Jan 2 2024, 5:48 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.