# updates for the system pci.ids file
#
# IMPORTANT!  Entries in this list must be sorted as they
#             would appear in the system pci.ids file.  Entries
#             are sorted by ven, dev, subven, subdev
#             (numerical order).
#
8086  Intel Corporation
	1049  82566MM Gigabit Network Connection
	104a  82566DM Gigabit Network Connection
	104b  82566DC Gigabit Network Connection
	104c  82562V 10/100 Network Connection
	104d  82566MC Gigabit Network Connection
	105e  82571EB Gigabit Ethernet Controller
		8086 005e  PRO/1000 PT Dual Port Server Connection
		8086 105e  PRO/1000 PT Dual Port Network Connection
		8086 115e  PRO/1000 PT Dual Port Server Adapter
		8086 125e  PRO/1000 PT Dual Port Server Adapter
		8086 135e  PRO/1000 PT Dual Port Server Adapter
	105f  82571EB Gigabit Ethernet Controller
		8086 005a  PRO/1000 PF Dual Port Server Adapter
		8086 115f  PRO/1000 PF Dual Port Server Adapter
		8086 125f  PRO/1000 PF Dual Port Server Adapter
		8086 135f  PRO/1000 PF Dual Port Server Adapter
	1060  82571EB Gigabit Ethernet Controller
		8086 0060  PRO/1000 PB Dual Port Server Connection
		8086 1060  PRO/1000 PB Dual Port Server Connection
	107d  82572EI Gigabit Ethernet Controller (Copper)
		8086 1082  PRO/1000 PT Server Adapter
		8086 1084  PRO/1000 PT Server Adapter
		8086 1092  PRO/1000 PT Server Adapter
	107e  82572EI Gigabit Ethernet Controller (Fiber)
		8086 1084  PRO/1000 PF Server Adapter
		8086 1085  PRO/1000 PF Server Adapter
		8086 1094  PRO/1000 PF Server Adapter
	107f  82572EI Gigabit Ethernet Controller
	108b  82573V Gigabit Ethernet Controller (Copper)
	108c  82573E Gigabit Ethernet Controller (Copper)
	1096  80003ES2LAN Gigabit Ethernet Controller (Copper)
	1098  80003ES2LAN Gigabit Ethernet Controller (Serdes)
	109a  82573L Gigabit Ethernet Controller
		8086 109a  PRO/1000 PL Network Connection
	10a4  82571EB Gigabit Ethernet Controller
		8086 10a4  PRO/1000 PT Quad Port Server Adapter
		8086 11a4  PRO/1000 PT Quad Port Server Adapter
	10a5  82571EB Gigabit Ethernet Controller (Fiber)
		8086 10a5  PRO/1000 PF Quad Port Server Adapter
		8086 10a6  PRO/1000 PF Quad Port Server Adapter
	10b9  82572EI Gigabit Ethernet Controller (Copper)
		8086 1083  PRO/1000 PT Desktop Adapter
		8086 1093  PRO/1000 PT Desktop Adapter
	10ba  80003ES2LAN Gigabit Ethernet Controller (Copper)
	10bb  80003ES2LAN Gigabit Ethernet Controller (Serdes)
	10bc  82571EB Gigabit Ethernet Controller (Copper)
		8086 10bc  PRO/1000 PT Quad Port LP Server Adapter
		8086 11bc  PRO/1000 PT Quad Port LP Server Adapter
	10bd  82566DM-2 Gigabit Network Connection
	10bf  82567LF Gigabit Network Connection
	10c0  82562V-2 10/100 Network Connection
	10c2  82562G-2 10/100 Network Connection
	10c3  82562GT-2 10/100 Network Connection
	10c4  82562GT 10/100 Network Connection
	10c5  82562G 10/100 Network Connection
	10cb  82567V Gigabit Network Connection
	10cc  82567LM-2 Gigabit Network Connection
	10cd  82567LF-2 Gigabit Network Connection
	10ce  82567V-2 Gigabit Network Connection
	10d3  82574L Gigabit Network Connection
		8086 0001  Gigabit CT2 Desktop Adapter
		8086 a01f  Gigabit CT Desktop Adapter
	10d5  82571PT Gigabit PT Quad Port Server ExpressModule
	10d9  82571EB Dual Port Gigabit Mezzanine Adapter
	10da  82571EB Quad Port Gigabit Mezzanine Adapter
	10de  82567LM-3 Gigabit Network Connection
	10df  82567LF-3 Gigabit Network Connection
	10e5  82567LM-4 Gigabit Network Connection
	10ea  82577LM Gigabit Network Connection
	10eb  82577LC Gigabit Network Connection
	10ef  82578DM Gigabit Network Connection
	10f0  82578DC Gigabit Network Connection
	10f5  82567LM Gigabit Network Connection
	10f6  82574L Gigabit Network Connection
	1501  82567V-3 Gigabit Network Connection
	1502  82579LM Gigabit Network Connection
	1503  82579V Gigabit Network Connection
	150c  82583V Gigabit Network Connection
	1525  82567V-4 Gigabit Network Connection
	153a  i217LM Gigabit Network Connection	// TODO - verify in subsys db
	153b  i217V Gigabit Network Connection	// TODO - verify in subsys db
	294c  82566DC-2 Gigabit Network Connection
