English
Language : 

82598EB Datasheet, PDF (240/596 Pages) Intel Corporation – Intel® 82598EB 10 Gigabit Ethernet Controller Datasheet
Intel® 82598EB 10 GbE Controller - Receive Functionality
Destination Address/Port
3ffe:2501:200:1fff::7 (1766)
ff02::1 (4739)
fe80::200:f8ff:fe21:67cf (38024)
Source Address/Port
IPv6 Only
3ffe:2501:200:3::1 (2794)
0x2cc18cd5
3ffe:501:8::260:97ff:fe40:efab (14230) 0x0f0c461c
3ffe:1900:4545:3:200:f8ff:fe21:67cf
(44251)
0x4b61e985
IPv6 with TCP
0x40207d3d
0xdde51bbf
0x02d1feef
3.5.2.11 Receive Queuing for Virtual Machine Devices (VMDq)
Virtual Machine Devices queue (VMDq) is a mechanism to share I/O resources among several
consumers. For example, in a virtual system, multiple operating systems are loaded and each
executes as though the entire system's resources were at its disposal. However, for the limited number
of I/O devices, this presents a problem because each operating system maybe in a separate memory
domain and all the data movement and device management has to be done by a Virtual Machine
Monitor (VMM). VMM access adds latency and delay to I/O accesses and degrades I/O performance.
Virtual Machine Devices (VMDs) are designed to reduce the burden of VMM by making certain functions
of an I/O device shared and thus can be accessed directly from each guest operating system or Virtual
Machine (VM). The 82598's 64 queues can be accessed by up to 16 VMs if configured properly. When
the 82598 is enabled for multiple queue direct access for VMs, it becomes a VMDq device.
Note: Most configuration and resources are shared across queues. System software must resolve
any conflicts in configuration between the VMs.
When enabled, VMDq assigns a 4-bit VMDq output index to each received packet. The VMDq output
index is used to associate the packet to a receive queue as described in Section 3.5.2. VMDq generates
its output index in one of the following ways:
• Receive packets are associated with receive queues based on the packet destination MAC address
• Receive packets are associated with receive queues based on the packet VLAN tag ID
Packets that do not match any of the enabled filters are assigned with the default VMDq output index
value. This might include the following cases:
When configured to associate through MAC addresses:
• Promiscuous mode – Promiscuous mode is used by a virtualized environment to support more
than 16 VMs, so that the busier VMs are assigned specific queues, while all other VMs share the
default queue.
• Broadcast packets
• Multicast packets
3.5.2.11.1 Association Through MAC Address
Each of the 16 MAC address filters can be associated with a VMDq output index. The VIND field in the
Receive Address High (RAH) register determines the target queue. Packets that do not match any of the
MAC filters (broadcast, promiscuous, etc.) are assigned with the default index value.
Software can program different values to the MAC filters (any bits in RAH or RAL) at any time. The
82598 responds to the change on a packet boundary, but does not guarantee the change to take place
at some precise time.
240