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)
Sun, May 3, 11:36 PM
Unknown Object (File)
Sun, May 3, 5:55 PM
Unknown Object (File)
Tue, Apr 28, 12:36 PM
Unknown Object (File)
Thu, Apr 23, 7:53 PM
Unknown Object (File)
Thu, Apr 16, 3:12 PM
Unknown Object (File)
Apr 9 2026, 7:19 AM
Unknown Object (File)
Apr 6 2026, 2:33 PM
Unknown Object (File)
Apr 6 2026, 6:37 AM
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