Intel 324632-003 Switch User Manual


 
Intel
®
82575EB Gigabit Ethernet Controller — Transmitting and Receiving 802.1q Packets
Intel
®
82575EB Gigabit Ethernet Controller 324632-003
Software Developer’s Manual and EEPROM Guide Revision: 2.1
260 January 2011
Table 82. 802.1q Tagged Frames
10.2 Transmitting and Receiving 802.1q
Packets
Since the 802.1q tag is only four bytes, adding and stripping of tags can done completely in software.
(For transmits, software inserts the tag into packet data before it builds the transmit descriptor list, and
for receives, software strips the four byte tag from the packet data before delivering the packet to
upper layer software.)
However, because adding and stripping of tags in software results in more overhead for the host, the
82575 has additional capabilities to add and strip tags in hardware, as discussed in the following two
sections.
10.2.1 Adding 802.1q Tags on Transmits
Software might command the 82575 to insert an 802.1q VLAN tag on a per packet or per flow basis. If
CTRL.VME is set to 1b, and the VLE bit in the transmit descriptor is set to 1b, then the 82575 inserts a
VLAN tag into the packet that it transmits over the wire. The Tag Protocol Identifier (TPID) field of the
802.1q tag comes from the VET register. 8021.Q tag insertion is done in different ways for legacy and
advanced Tx descriptors:
Legacy Transmit Descriptors: The Tag Control Information (TCI) of the 802.1q tag comes from the
VLAN field (Section 5.3.3.5) of the descriptor. Refer to Table 83 for more on hardware insertion of
tags for transmits.
Advanced Transmit Descriptor: The Tag Control Information (TCI) of the 802.1q tag comes from the
VLAN Tag field (Section 5.3.3.5) of the advanced context descriptor. The IDX field of the advanced
Tx descriptor should be set to the adequate context can result in unexpected behavior.
Octet 1 Octet 2
UP CF
I
VID
Table 83. VLAN Tag Insertion Decision Table
VLE Action
0b Send generic Ethernet packet.
1b Send 802.1Q packet; the Ethernet Type field comes from the VET register and the VLAN data comes from the
VLAN field of the TX descriptor;
Note: This table is relevant only if VMVIR.VLANA = 00b (use descriptor command) for the queue.