drivers/net/ethernet/rocker

Rocker emulated network switch (QEMU/Red Hat virtual device)

A virtual Ethernet switch device emulated by QEMU under Red Hat's vendor ID (PCI 1b36:0006), used since the mid-2010s as a development and testing target for Linux's switchdev offload framework. It was never a physical product sold to end users; it exists so kernel and networking developers can exercise hardware-switch-style features inside virtual machines.

keep-annotate conf=0.84 deploy=low replacement=none subsystem=net category=networking-ethernet
84%

recommendation

Worth keeping but documenting its niche, because Rocker is a QEMU-emulated switch rather than real silicon and its Kconfig still marks it as experimental. Stable-tree fixes were still landing as recently as February 2026, and no other driver covers the same virtual-switch testing role, so removing it would take away a useful development target. The right move is to label it clearly as a virtual/test device so users don't mistake it for hardware support.

repository signals

8 files
6,877 source lines
29 commits, 5y
+103 / −112 lines added / removed, 5y
20 authors, 5y
monthly commits · 2021-04-21 → 2026-04-21 · 29 total · active in 19/61 months
2021 2022 2023 2024 2025 2026 2021-04: 0 commits · +0 −0 2021-05: 0 commits · +0 −0 2021-06: 0 commits · +0 −0 2021-07: 3 commits · +26 −11 2021-08: 1 commit · +2 −2 2021-09: 0 commits · +0 −0 2021-10: 2 commits · +6 −4 2021-11: 1 commit · +0 −12 2021-12: 0 commits · +0 −0 2022-01: 2 commits · +6 −14 2022-02: 0 commits · +0 −0 2022-03: 0 commits · +0 −0 2022-04: 0 commits · +0 −0 2022-05: 1 commit · +1 −2 2022-06: 0 commits · +0 −0 2022-07: 0 commits · +0 −0 2022-08: 2 commits · +3 −3 2022-09: 1 commit · +1 −2 2022-10: 2 commits · +4 −4 2022-11: 2 commits · +8 −7 2022-12: 0 commits · +0 −0 2023-01: 0 commits · +0 −0 2023-02: 0 commits · +0 −0 2023-03: 0 commits · +0 −0 2023-04: 0 commits · +0 −0 2023-05: 0 commits · +0 −0 2023-06: 0 commits · +0 −0 2023-07: 0 commits · +0 −0 2023-08: 0 commits · +0 −0 2023-09: 0 commits · +0 −0 2023-10: 0 commits · +0 −0 2023-11: 0 commits · +0 −0 2023-12: 0 commits · +0 −0 2024-01: 0 commits · +0 −0 2024-02: 1 commit · +0 −2 2024-03: 0 commits · +0 −0 2024-04: 0 commits · +0 −0 2024-05: 1 commit · +1 −1 2024-06: 0 commits · +0 −0 2024-07: 0 commits · +0 −0 2024-08: 1 commit · +2 −1 2024-09: 0 commits · +0 −0 2024-10: 0 commits · +0 −0 2024-11: 1 commit · +1 −1 2024-12: 0 commits · +0 −0 2025-01: 0 commits · +0 −0 2025-02: 1 commit · +1 −1 2025-03: 0 commits · +0 −0 2025-04: 2 commits · +2 −2 2025-05: 1 commit · +1 −1 2025-06: 0 commits · +0 −0 2025-07: 0 commits · +0 −0 2025-08: 0 commits · +0 −0 2025-09: 0 commits · +0 −0 2025-10: 0 commits · +0 −0 2025-11: 0 commits · +0 −0 2025-12: 0 commits · +0 −0 2026-01: 1 commit · +2 −3 2026-02: 3 commits · +36 −39 2026-03: 0 commits · +0 −0 2026-04: 0 commits · +0 −0

sources

  1. lore.kernel.org

    Rocker code was still receiving upstream-stable carried fixes in February 2026, so the driver is maintained rather than abandoned.

  2. qemu.org

    Rocker is a QEMU-documented switch device interface, indicating its main surviving use is virtual/emulated rather than newly sold physical hardware.

  3. qemu.eu

    Vendor/device IDs in the 1b36 range are assigned for QEMU virtual devices; the driver matches Red Hat/QEMU PCI ID 1b36:0006.

  4. cateee.net

    LKDDb maps CONFIG_ROCKER to Red Hat PCI device 1b36:0006 and shows the driver still present in current kernel series.

codex reasoning notes (technical)

Local shell inspection (`sed`/`rg`) showed `PCI_VDEVICE(REDHAT, PCI_DEVICE_ID_REDHAT_ROCKER)` and Kconfig still marks ROCKER as EXPERIMENTAL. `lore_file_timeline` on `drivers/net/ethernet/rocker/rocker_main.c` returned a February 6, 2026 stable hit, which argues against deprecation/removal. Web search returned QEMU's Rocker register guide and QEMU PCI ID documentation, supporting that this is effectively a virtual test/development switch device, not a 2025 retail hardware family. No direct replacement driver cleanly covers the same emulated-switch niche, so removal would drop a still-maintained virtual target; annotate as legacy/virtual-only rather than deprecate.