Page MenuHomeFreeBSD

if_epair: refactor interface creation and enqueue code.
ClosedPublic

Authored by melifaro on Sep 24 2022, 8:22 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Oct 19, 3:17 PM
Unknown Object (File)
Tue, Oct 8, 4:43 PM
Unknown Object (File)
Tue, Oct 8, 4:44 AM
Unknown Object (File)
Oct 5 2024, 10:00 PM
Unknown Object (File)
Oct 5 2024, 3:30 AM
Unknown Object (File)
Oct 5 2024, 12:29 AM
Unknown Object (File)
Oct 4 2024, 3:48 AM
Unknown Object (File)
Oct 3 2024, 9:31 PM
Subscribers

Details

Summary
  • Factor out queue selection (epair_select_queue()) and mbuf preparation (epair_prepare_mbuf()) from epair_menq(). It simplifies epair_menq() implementation and reduces the amount of dependencies on the neighbouring epair.
  • Use dedicated epair_set_state() instead of 2-lines copy-paste
  • Factor out unit selection code (epair_handle_unit()) from epair_clone_create(). It simplifies the clone creation logic.
Test Plan
20:23 [0] m@devel1 s kyua test -k /usr/tests/sys/net/Kyuafile
125/126 passed (1 failed)
  1. The failing one is if_lagg_test:witness

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 47517
Build 44404: arc lint + arc unit