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
F151576418: D36689.diff
Thu, Apr 9, 7:19 AM
Unknown Object (File)
Mon, Apr 6, 2:33 PM
Unknown Object (File)
Mon, Apr 6, 6:37 AM
Unknown Object (File)
Sun, Apr 5, 11:19 AM
Unknown Object (File)
Sun, Apr 5, 4:03 AM
Unknown Object (File)
Sat, Mar 28, 10:47 AM
Unknown Object (File)
Mar 9 2026, 5:42 PM
Unknown Object (File)
Mar 8 2026, 10:18 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 Not Applicable
Unit
Tests Not Applicable