Page MenuHomeFreeBSD

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

Authored by glebius on Dec 4 2021, 9:16 PM.

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
rS FreeBSD src repository - subversion
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 43141
Build 40029: arc lint + arc unit

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

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

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.