Page MenuHomeFreeBSD

netlink: convert to IfAPI.
ClosedPublic

Authored by melifaro on Jun 16 2023, 2:02 PM.
Tags
None
Referenced Files
Unknown Object (File)
Oct 10 2024, 6:27 AM
Unknown Object (File)
Oct 6 2024, 3:03 PM
Unknown Object (File)
Sep 21 2024, 10:45 AM
Unknown Object (File)
Sep 15 2024, 9:43 AM
Unknown Object (File)
Sep 14 2024, 10:40 PM
Unknown Object (File)
Sep 7 2024, 4:39 AM
Unknown Object (File)
Sep 5 2024, 1:09 PM
Unknown Object (File)
Sep 2 2024, 8:57 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.