device-services: make network driver dispatch disjoint
- rtl8168d: add explicit device = [0x8168, 0x8169] filter; the description is corrected to 'Realtek 8168/8169' (the '8125' claim is removed because rtl8125 has a different register layout and would silently misbind). - ixgbed: raise priority to 60 and add explicit device id enumeration; this removes the collision with e1000d which matches the same vendor/class/subclass wildcard. e1000d keeps priority 50 and its existing device filter (5 IDs); the two are now disjoint.
This commit is contained in:
@@ -288,7 +288,7 @@ subclass = 0
|
|||||||
|
|
||||||
[[driver]]
|
[[driver]]
|
||||||
name = "rtl8168d"
|
name = "rtl8168d"
|
||||||
description = "Realtek 8168/8125 Ethernet"
|
description = "Realtek 8168/8169 Gigabit Ethernet"
|
||||||
priority = 50
|
priority = 50
|
||||||
command = ["/usr/lib/drivers/rtl8168d"]
|
command = ["/usr/lib/drivers/rtl8168d"]
|
||||||
|
|
||||||
@@ -297,6 +297,11 @@ vendor = 0x10EC
|
|||||||
class = 2
|
class = 2
|
||||||
# Realtek also ships class 0x02 subclass 0x80 Wi-Fi (RTL8852 etc.) — scope to Ethernet.
|
# Realtek also ships class 0x02 subclass 0x80 Wi-Fi (RTL8852 etc.) — scope to Ethernet.
|
||||||
subclass = 0
|
subclass = 0
|
||||||
|
# Restrict to the PCI device IDs the rtl8168d register layout supports.
|
||||||
|
# RTL8168 (0x8168) and RTL8169/8111 (0x8169) only. The RTL8125 (0x8125)
|
||||||
|
# 2.5GbE chip has a different register layout (r8125 in Linux); claim
|
||||||
|
# would silently misbind until a proper r8125d driver exists.
|
||||||
|
device = [0x8168, 0x8169]
|
||||||
|
|
||||||
[[driver]]
|
[[driver]]
|
||||||
name = "rtl8139d"
|
name = "rtl8139d"
|
||||||
@@ -311,13 +316,16 @@ device = 0x8139
|
|||||||
[[driver]]
|
[[driver]]
|
||||||
name = "ixgbed"
|
name = "ixgbed"
|
||||||
description = "Intel 10 Gigabit Ethernet"
|
description = "Intel 10 Gigabit Ethernet"
|
||||||
priority = 50
|
priority = 60
|
||||||
command = ["/usr/lib/drivers/ixgbed"]
|
command = ["/usr/lib/drivers/ixgbed"]
|
||||||
|
|
||||||
[[driver.match]]
|
[[driver.match]]
|
||||||
vendor = 0x8086
|
vendor = 0x8086
|
||||||
class = 2
|
class = 2
|
||||||
|
# Ethernet only and explicitly enumerated by device id so we never
|
||||||
|
# claim an e1000 gigabit NIC that e1000d owns.
|
||||||
subclass = 0
|
subclass = 0
|
||||||
|
device = [0x10F7, 0x1514, 0x1517, 0x151C, 0x10F9, 0x10FB, 0x1521, 0x1522, 0x1523, 0x1524, 0x154A, 0x154D, 0x1557, 0x1558, 0x1563, 0x1572, 0x15AD, 0x15AE, 0x15C2, 0x15C3, 0x15C4, 0x15C5, 0x15D1, 0x15D2, 0x15D5, 0x15DA, 0x15DB, 0x15E4, 0x15E5, 0x15F4, 0x15F5, 0x15F8, 0x15FF, 0x1571, 0x1581, 0x1583, 0x1589, 0x158A, 0x158B, 0x37D0, 0x37D1, 0x37D2]
|
||||||
|
|
||||||
[[driver]]
|
[[driver]]
|
||||||
name = "virtio-netd"
|
name = "virtio-netd"
|
||||||
|
|||||||
Reference in New Issue
Block a user