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
R10 FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; 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
392

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