Page MenuHomeFreeBSD

ifnet: merge ifindex_alloc(), ifnet_setbyindex(), if_grow() and call magic
ClosedPublic

Authored by glebius on Dec 4 2021, 9:16 PM.
Tags
None
Referenced Files
F160986699: D33262.diff
Mon, Jun 29, 3:34 PM
F160930348: D33262.id99450.diff
Mon, Jun 29, 4:27 AM
Unknown Object (File)
Sun, Jun 21, 1:51 PM
Unknown Object (File)
Fri, Jun 19, 1:14 PM
Unknown Object (File)
May 20 2026, 10:26 PM
Unknown Object (File)
Apr 26 2026, 3:52 PM
Unknown Object (File)
Apr 22 2026, 2:33 PM
Unknown Object (File)
Apr 20 2026, 9:43 PM
Subscribers

Details

Summary

Now it is possible to just merge all this complexity into single
linear function. Note that IFNET_WLOCK() is a sleepable lock, so
we can M_WAITOK and epoch_wait_preempt().

Diff Detail

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

Event Timeline

This revision is now accepted and ready to land.Dec 4 2021, 10:44 PM
bz added inline comments.
sys/net/if.c
390–400

Do we still need these to be double pointers? We are not returning any of these values to a caller anymore.

sys/net/if.c
390–400

I think stylistically correct to keep them double pointers, since we allocate/free an array of pointers. And V_ifindex_table is of the same type and we assign V_ifindex_table to new, and assign old to V_ifindex_table.

kp added inline comments.
sys/net/if.c
393

I dislike spelling * 2 as << 1, but won't hold up the review over it.