advertisement
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
10.5.2 SMBus Programming
This section describes the SMBus transactions supported in Advanced Pass Through
(APT) mode.
10.5.2.1 Write SMBus Transactions (BMC
the 82599)
The following table lists the different SMBus write transactions supported by the 82599.
TCO Command
Transmit Packet
Transmit Packet
Receive Enable
Management Control
Update MNG RCV filter parameters
Force TCO
Request Status
Update LinkSec parameters
Transaction
Block Write
Block Write
Block Write
Block Write
Block Write
Block Write
Block Write
Block Write
Command
First:
Middle:
Last:
Single:
0x84
0x04
0x44
0xC4
Single:
Single:
Single:
Single:
Single:
Single:
0xDD
0xC9
0xCA
0xC1
0xCC
0xCF
Fragmentation
Multiple
Single
Single
Single
Single
Single
Single
Single
Section
10.5.2.1.1 Transmit Packet Command
The Transmit Packet command behavior is detailed in section 3.2.5
fragments have the following format:
Function
Transmit first fragment
Transmit middle fragment
Transmit last fragment
Transmit single fragment
Command
0x84
0x04
0x44
0xC4
Byte Count
N
Data 1
Packet data MSB
…
…
Data N
Packet data LSB
The payload length is limited to the maximum payload length set in the EEPROM.
If the overall packet length is bigger than 1536 bytes, the packet is silently discarded by the 82599.
874 331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
10.5.2.1.2 Request Status Command
The BMC can initiate a request to read the 82599 manageability status by sending this command.
When it receives this command, the 82599 initiates a notification to the BMC (when it is ready with the status), and then the BMC is able to read the status, by issuing a Read
Status command (see section 10.5.2.2.3
). Request Status Command format:
Function
Request status
Command
0xDD
Byte Count
1
Data 1
0
10.5.2.1.3 Receive Enable Command
The Receive Enable command is a single fragment command that is used to configure the
82599.
This command has two formats: short, 1-byte legacy format (providing backward compatibility with previous components) and long, 14-byte advanced format (allowing greater configuration capabilities).
Note:
If the Receive Enable command is short and thus does not include all the parameters, then the parameters are taken from most recent previous configuration (either the most recent long Receive Enable command in which the particular value was set, or the EEPROM if there was no such previous long Receive Enable command).
Func.
Cmd
Legacy receive enable
Advance d receive enable
0xCA
Byte
Count
1
Data 1
Receive control byte
Data 2
-
…
…
Data 7
-
Data 8
-
…
…
Data 11
-
Data 12
-
Data 13
-
Data 14
-
14
0x0E
MAC addr.
MSB
MAC addr.
LSB
IP addr.
MSB
IP addr.
LSB
BMC
SMBus addr.
Interf. data byte
Alert value byte
While...
331520-004 875
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
Field
RCV_EN
RCV_ALL
EN_STA
EN_ARP_RES
NM
Reserved
CBDM
•
Receive control byte
(data byte 1) has the following format:
Bit(s)
0
1
2
3
5:4
6
7
Description
Receive TCO Enable.
0b = Disable Receive TCO packets.
Rx Packets are not directed to BMC and Auto ARP response is not enabled.
1b = Enable Receive TCO packets.
Setting this bit enables all manageability receive filtering operation. The enable of the specific filtering is done through loading the Receive Enable 1 word in the EEPROM, or
through special configuration command (see Section 10.5.2.1.6
).
Receive All Enable.
When set to 1b, all LAN packets received over the wire that passed L2 filtering are forwarded to the
BMC. This flag is meaningful only if the RCV_EN bit is set as well.
Enable Status reporting when set to 1b.
Enable ARP Response.
0b = Disable.
The 82599 treats ARP packets as any other packet. These packets are forwarded to BMC if it passes other (non-ARP) filtering.
1b = Enable.
The 82599 automatically responds to all received ARP requests that match its IP address.
Note:
Setting this bit doesn’t change the Rx filtering settings. Appropriate Rx filtering to enable
ARP request packets to reach the manageability unit should be set by the BMC or by the
EEPROM.
The BMC IP address is provided as part of the Receive Enable message (bytes 8-11). If short version of the command is used the 82599 uses IP address configured in the most recent long version of the command in which the EN_ARP_RES bit was set. If no such previous long command exists, then the 82599 uses the IP address configured in the EEPROM as ARP response IPv4 address in pass-through LAN configuration structure. If
CBDM
bit is set the 82599 uses the BMC dedicated Ethernet MAC address in ARP response packets. If the
CBDM
bit is not set, BMC uses the host Ethernet MAC address.
Setting this bit requires appropriate assertion of bits RCV_EN and RCV_ALL. Otherwise, the command aborts with no processing.
Notification Method.
Defines the notification method that the 82599 uses.
00b = SMBus alert
01b = Asynchronous notify
10b = Direct receive
11b = Not supported.
Note:
In dual SMBus address mode, both SMBus addresses must be configured to the same notification method.
Reserved.
Configure BMC dedicated Ethernet MAC address.
Note:
This bit should be 0b when the RCV_EN bit (bit 0) is not set.
0b = The 82599 shares the same Ethernet MAC address for manageability and host defined in the
EEPROM LAN Core 0/1 Modules in the EEPROM.
1b = The 82599 uses a dedicated Ethernet MAC address. The BMC Ethernet MAC address is set in bytes 2-7 in this command.
If short version of the command is used, the 82599 uses the Ethernet MAC address configured in the most recent long version of the command in which the
CBDM
bit was set. If no such previous long command exists, then the 82599 uses the Ethernet MAC address configured in the MMAL and
MMAH fields in the EEPROM.
When the dedicated Ethernet MAC address feature is activated, the 82599 uses the following registers for Rx filtering. The BMC should not modify the following registers:
MNG Decision Filter – MDEF7 (and its corresponding bit MANC2H[7])
MNG Ethernet MAC Address 3 – MMAL3 and MMAH3 (and its corresponding bit MFVAL[3]).
876 331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
• MNG Ethernet MAC address (data bytes 2-7)
Ignored if CBDM bit is not set. This Ethernet MAC address is used for configuration of the dedicated Ethernet MAC address. In addition, it is used in the ARP response packet, when
EN_ARP_RES bit is set. This Ethernet MAC address continues to be used when the
CBDM
bit is set in subsequent short versions of this command.
• MNG IP address (data bytes 8-11)
Ignored if EN_ARP_RES bit is not set. This IP address is used to filter ARP request packets. This IP address continues to be used when EN_ARP_RES is set in subsequent short versions of this command.
• Asynchronous notification SMBus address (data byte 12)
This address is used for the asynchronous notification SMBus transaction and for direct receive.
• Interface data (data byte 13)
Interface data byte to be used in asynchronous notification.
• Alert data (data byte 14).
Alert value data byte to be used in the asynchronous notification.
10.5.2.1.4 Force TCO Command
This command causes the 82599 to perform a TCO reset, if Force TCO reset is enabled in word Common Firmware Parameters in the EEPROM. The Force TCO reset clears the data path (Rx/Tx) of the 82599 to enable the BMC to transmit/receive packets through the
82599.
Note:
In single address mode, both ports are reset when the command is issued.
In dual address mode, Force TCO reset is asserted only to the port related to the SMB address the command was issued to.
The 82599 considers the Force TCO command as an indication that the operating system is hung and clears the DRV_LOAD flag.
Force TCO Reset command format:
Function
Force TCO reset
Command
0xCF
Byte Count
1
Data 1
TCO mode
Field
DO_TCO_RST
Reserved
TCO mode is listed in the following table:
Bit(s)
0
1
Do TCO reset.
0b = Do nothing.
1b = Perform TCO reset.
Reserved, set to 0b.
Description
331520-004 877
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
Field
Firmware Reset
1
Bit(s)
2
Description
Reset manageability and re-load manageability related EEPROM words
0b = Do nothing.
1b = Issue firmware reset to manageability.
Note:
Setting this bit generates a one time firmware reset event. Following a firmware reset, management related data from the EEPROM is loaded.
Reserved 7:3 Reserved, (Set to 0x00).
1. Before initiating a Firmware Reset command, disable TCO receive via the Receive Enable command, set RCV_EN to 0b, and then wait for 200 milliseconds before initiating the Firmware Reset command. In addition, the BMC should not transmit during this period.
10.5.2.1.5 Management Control
This command is used to set generic manageability parameters. The parameters are listed in the following table. The command is 0xC1, which states that it is a management control command. The first data byte is the parameter number and the data afterwards
(length and content) are parameter specific as listed in the table.
Note:
If in the update configuration, the parameter that the BMC sets is not supported by the 82599, the 82599 does not NACK the transaction. After the transaction ends, the 82599 discards the data and asserts a transaction
abort status (see Section 3.2.5.2
).
Following is the format of the Management Control command:
Function
Management Control
Command
0xC1
Byte Count
N
Data 1
Parameter
Number (PN#)
Data 2 … Data N
Parameter Dependent
This table lists the different parameters and their content:
Parameter
Keep PHY Link Up
PN#
0x00
Parameter Data
A single byte parameter — Data 2:
Bit 0
Bit [7:1]
Programming of the MMNGC.MNG_VETO bit.
Reserved.
10.5.2.1.6 Update MNG RCV Filter Parameters
This command is used to set the manageability receive filters parameters. The parameters are listed in the following table. The command is 0xCC, which states that it is a parameter update. The first data byte is the parameter number and the data afterwards (length and content) are parameter specific as listed in the table.
Note:
If in the update configuration, the parameter that the BMC sets is not supported by the 82599, the 82599 does not NACK the transaction. After the transaction ends, the 82599 discards the data and asserts a transaction
abort status (see Section 3.2.5.2
).
Detailed description of receive filtering capabilities and configuration is described in
878 331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
The format of the update MNG RCV filter parameters is listed in the following table:
Function
Update MNG RCV Filter
Parameters
Command
0xCC
Byte Count
N
Data 1
Parameter Number
(PN#)
Data 2 … Data N
Parameter Dependent
Parameter
Filters Enable
MNG2HOST configuration
Fail-Over configuration
The following table lists the different parameters and their contents
:
Flex Filter 0
Enable MASK and
Length
Flex Filter 0 Data
Flex Filter 1
Enable MASK and
Length
Flex Filter 1 Data
Flex Filter 2
Enable MASK and
Length
Flex Filter 2 Data
Flex Filter 3
Enable MASK and
Length
Flex Filter 3 Data
PN#
0x1
0xA
0xB
0x10
0x11
0x20
0x21
0x30
0x31
0x40
0x41
Parameter Data
Defines generic filters configuration.
The structure of this parameter is 4 bytes as the MANC Value LSB and MANC Value MSB loaded from the EEPROM.
Note:
General filter enable is in the Receive Enable command, which enable receive filtering.
This parameter specifies which filters should be enabled. ARP filtering and dedicated
This parameter defines which manageability packets are directed to the host memory as well.
Data 2:5 = MNG2H register setting (Data 2 is the MSB).
Fail-Over Structure Configuration (see
The bytes of this parameter are loaded to the fail-over configuration register.
Data 2:5 = Fail-over configuration register (Data 2 is the MSB).
Flex Filter 0 Mask.
Data 2:17 = MASK. Bit 0 in data 2 is the first bit of the MASK
Data 18:19 = Reserved. Should be zero.
Data 20 = Flexible Filter length (must be >= 2).
Data 2 – Group of flex filter’s bytes:
0x0 = bytes 0-29.
0x1 =
0x2 =
0x3 = bytes 30-59.
bytes 60-89.
bytes 90-119.
0x4 = bytes 120-127.
Data 3:32 = Flex filter data bytes. Data 3 is LSB.
Group’s length is not mandatory 30 bytes; it can vary according to filter’s length and must NOT be padded by zeros.
Same as parameter 0x10 but for filter 1.
Same as parameter 0x11 but for filter 1
Same as parameter 0x10 but for filter 2.
Same as parameter 0x11 but for filter 2.
Same as parameter 0x10 but for filter 3.
Same as parameter 0x11 but for filter 3.
331520-004 879
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
Parameter
Filters Valid
Decision Filters
VLAN Filters
Flex Ports Filters
IPv4 Filters
IPv6 Filters
MAC Filters
Ethertype Filters
Extended Decision
Filter
PN#
0x60
0x61
0x62
0x63
0x64
0x65
0x66
0x67
0x68
Parameter Data
4 bytes to determine which of the the 82599 filter registers contain valid data.
Loaded into the MFVAL0 and MFVAL1 registers. Should be updated after the contents of a filter register are updated.
Data 2 = MSB of MFVAL ... Data 5 is the LSB
5 bytes to load the Manageability Decision Filters (MDEF).
Data 2 = Decision filter number.
Data 3 = MSB of MDEF register for this decision filter ... Data 6 is the LSB.
3 bytes to load the VLAN tag filters (MAVTV).
Data 2 = VLAN filter number.
Data 3 = MSB of VLAN filter.
Data 4 = LSB of VLAN filter.
3 bytes to load the manageability flex port filters (MFUTP).
Data 2 = Flex port filter number.
Data 3 = MSB of flex port filter.
Data 4 = LSB of flex port filter.
5 bytes to load the IPv4 address filter (MIPAF, DW 15:12).
Data 2 = IPv4 address filter number (0-3).
Data 3 = MSB of IPv4 address filter … Data 6 is the LSB.
17 bytes to load IPv6 address filter (MIPAF).
Data 2 = IPv6 address filter number (0-3).
Data 3 = MSB of IPv6 address filter … Data 18 is the LSB.
7 bytes to load Ethernet MAC address filters (MMAL, MMAH).
Data 2 = Ethernet MAC address filters pair number (0-3).
Data 3 = MSB of Ethernet MAC address … Data 8 is the LSB.
6 bytes to load Ethertype filters (MTQF).
Data 2 = METF filter index (valid values are 0..3).
Data 3 = MSB of METF ... Data 6 is the LSB.
10 bytes to load the extended decision filters (MDEF_EXT & MDEF).
Data 2 = MDEF filter index (valid values are 0..6).
Data 3 = MSB of MDEF_EXT (DecisionFilter1) ... Data 6 is the LSB.
Data 7 = MSB of MDEF (DecisionFilter0) ... Data 10 is the LSB.
The command must overwrite any previously stored value.
Note:
Previous Decision Filter command (0x61) is still supported. For legacy reasons — If previous Decision Filter command (0x61) is called — it should set the MDEF as provided and set the extended Decision Filter (MDEF_EXT) to 0x0.
880 331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
10.5.2.1.7 Update LinkSec Parameters
This command is used to set the manageability LinkSec parameters. The parameters are listed in the following table. The first data byte is the parameter number and the data afterwards (length and content) are parameter specific as listed in the table.
This is the format of the Update LinkSec parameters command:
Function
Update LinkSec Filter Parameters
Command
0xC9
Byte Count
N
Data 1
Parameter Number
(PN#)
Data 2 … Data N
Parameter Dependent
The following table lists the different parameters and their contents
:
Parameter
Transfer LinkSec ownership to BMC
PN#
0x10
0x11
Parameter Data
Data 2: Host Control:
Bit 0 =
Bit 1 =
Reserved.
Allow host traffic (0b – blocked, 1b – allowed).
Bit 2...31 = Reserved.
No data needed.
Transfer LinkSec ownership to Host
Initialize LinkSec Rx 0x12
Initialize LinkSec Tx
Set LinkSec Rx Key
Set LinkSec Tx Key
0x13
0x14
0x15
Data 2: Rx Port Identifier (MSB) ... Data 3: (LSB).
Rx Port Identifier – the port number by which the 82599 identifies Rx packets. It is recommended that the BMC use 0x0 as the port identifier.
Note:
The BMC should use the same port identifier when performing the key-exchange.
Data 4 : Rx MAC SecY (MSB) … Data 9: (LSB).
Data 2: Tx Port Identifier (MSB) ... Data 3: (LSB) — must be set to zero.
Data 4: Tx SCI (MSB) … Data 7: Tx SCI (LSB).
Tx SCI – A 6-byte unique identifier for the LinkSec Tx CA. It is recommended that the BMC use its Ethernet MAC address value for this field.
Data 8: Reserved.
Data 9: Reserved.
Data 10: Packet Number Threshold (MSB) … Data 12: (LSB).
PN Threshold – When a new key is programmed, the packet number is reset to 0x1. With each Tx packet, The packet number is incremented by one and inserted to the packet (to avoid replay attacks). The packet number threshold value is 3 MSBytes of the Tx Packet number after which a Key Exchange Required AEN is sent to the BMC. Example: a PN threshold of 0x123456 means that when the packet number reaches 0x12345600 a notification is sent.
Data 22: Tx Control — See
Data 2: Reserved.
Data 3: Rx SA AN (The association number to be used with this key).
Data 4: Rx LinkSec Key (MSB) … Data 19: (LSB) — (16 bytes key to be used).
Data 3: Tx SA AN (The association number to be used with this key).
Data 4: Tx LinkSec Key (MSB) … Data 19: (LSB) — (16 bytes key to be used).
331520-004 881
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
Parameter
Enable LinkSec
Network Tx encryption
Disable LinkSec
Network Tx encryption
PN#
0x16 No data needed.
0x17 No data needed.
Parameter Data
Table 10-21 Tx Control
Bit
0..4
5
6..7
Reserved.
Always Include SCI in Tx:
0b = Do not include SCI in Tx packets.
1b = Include SCI in Tx packets.
Reserved.
Description
10.5.2.2 Read SMBus Transactions (the 82599 to BMC)
The following table lists the different SMBus read transactions supported by the 82599.
All the read transactions are compatible with SMBus Read Block Protocol format.
TCO Command
Receive TCO Packet
Transaction
Block Read
Command
0xC0 or 0xD0
Read Receive Enable configuration
Read the 82599
Status
Read Management parameters
Read MNG RCV filter parameters
Block Read
Block Read
Block Read
Block Read
0xDA
0xC0 or 0xD0 or 0xDE
0xD1
0xCD
Get system Ethernet
MAC Address
Block Read 0xD4
Read LinkSec parameters
Block Read 0xD9
1. Last fragment of the receive TCO packet is the packet status.
Op-Code
First:
Middle:
Last
1
Single:
0x90
0x10
0x50
0xDA
Single:
Single:
Single:
Single
Single
0xDD
0xD1
0xCD
0xD4
0xD9
Fragmentation
Multiple
Single
Single
Single
Single
Single
Single
Section
882 331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
Note:
The 82599 responds to one of the commands 0xC0/0xD0 within the time defined in the SMBus notification timeout and flags word in the EEPROM
.)
0xC0/0xD0 commands are used for more than one payload. If the BMC issues these read commands, and the 82599 has no pending data to transfer, it always returns as default opcode 0xDD with the 82599 status, and does not NACK the transaction.
If an SMBus Quick Read command is received, it is handled as a Read the
82599 Status command (See Section 10.5.2.2.3
10.5.2.2.1 Receive TCO LAN Packet Transaction
The BMC uses this command to read the packet received on the LAN and its status. When the 82599 has a packet to deliver to the BMC, it asserts the SMBus notification, for the
BMC to read the data (or direct receive). Upon receiving notification of the arrival of LAN receive packet, the BMC should begin issuing a Receive TCO packet command using the block read protocol. The packet can be delivered in more than one SMBus fragment (at least two — one for the packet, and the other one for the status), and the BMC should follow the
F
and
L
bit.
The opcode can have these values:
• 0x90 — First fragment.
• 0x10 — Middle fragment.
• 0x50 — Packet status (last fragment) as described in
.
If the external BMC does not finish reading the entire packet within a timeout period since the packet has arrived, the packet is silently discarded. The timeout period is set
according to the SMBus notification timeout EEPROM parameter (see Section 6.4.4.3
Function
Receive TCO packet
Command
0xC0 or 0xD0
Data returned from the 82599:
Function
Receive TCO First Fragment
Receive TCO Middle Fragment
Receive TCO Last Fragment
N
Byte Count
Data 1 (Op-
Code)
90
10
50
Data 2
Packet Data
Byte
…
… Data N
Packet Data
Byte
331520-004 883
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
10.5.2.2.2 Receive TCO LAN Status Payload Transaction
This transaction is the last transaction that the 82599 issues when a packet that was received from the LAN is transferred to the BMC. The transaction contains the status of the received packet. The format of the status transaction is as follows:
Function
Receive TCO Long
Status
Byte Count
17 (0x11)
Data 1 (Op-
Code)
0x50
Data 2 – Data 17 (Status data)
See
Table 10-22 . For more details on the specific bit fields see
Table 10-22 Receive TCO Last Fragment Status Data Content
Name Bit(s) Description
Packet Length
Reserved
13:0
24:14
Packet length including CRC, only 14 LSB bits.
Reserved.
CRC
Reserved
VEXT
Reserved
Reserved
LAN
Reserved
Reserved
Status
Reserved
MNG status
34
35
63:36
71:64
25
28:26
29
33:30
79:72
87:80
127:88
CRC stripped indication.
Reserved.
Additional VLAN present in packet.
Reserved.
Reserved.
LAN number.
Reserved.
Reserved.
See
.
Reserved.
See
. This field should be ignored if Receive TCO is not enabled.
Table 10-23 Status Info
Field Bit(s)
Reserved 7:4 Reserved.
IPCS 3 IPv4 Checksum Calculated on Packet.
L4CS 2 L4 Checksum Calculated on Packet.
Description
884 331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
Table 10-23 Status Info (Continued)
Field Bit(s)
UDPCS 1 UDP Checksum Calculated on Packet.
Reserved 0 Reserved.
Description
Table 10-24 MNG Status
Name
Pass RMCP 0x026F
Pass RMCP 0x0298
Pass MNG Broadcast
Pass MNG Neighbor
Pass ARP req / ARP Response
Reserved
Pass MNG VLAN Filter Index
MNG VLAN Address Match
Unicast Address Index
4
7:5
2
3
Bits
0
1
10:8
11
14:12
Unicast Address Match
L4 port Filter Index
L4 port Match
Flex TCO Filter Index
Flex TCO Filter Match
IP address Index
IP address Match
IPv4 Packet
Decision Filter Match
Description
Set when the UDP/TCP port of the MNG packet is 0x26F.
Set when the UDP/TCP port of the MNG packet is 0x298.
Set when the MNG packet is a broadcast packet.
Set when the MNG packet is a neighbor discovery packet.
Set when the MNG packet is an ARP response/request packet.
Reserved.
15
22:16
23
26:24
27
29:28
30
31
39:32
Set when the MNG packet matches one of the MNG VLAN filters.
Indicates which of the 4 unicast Ethernet MAC addresses match the packet.
Valid only if the unicast address match is set.
Set when there is a match to any of the 4 unicast Ethernet MAC addresses.
Indicate the flex filter number.
Set when there is a match to any of the UDP / TCP port filters.
Set when there is a match to the IP filter number. (IPv4 or IPv6).
Set when there is a match to any of the IP address filters.
Set to 0b when packet is IPv4 (regardless of address match).
Set when there is a match to one of the decision filters.
331520-004 885
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
10.5.2.2.3 Read Status Command
The BMC can read the 82599 status. The 82599 asserts an alert prior to the BMC reading the status bytes. There can be two reasons for the 82599 to send status to the BMC
):
1. The external BMC asserts a request for reading the 82599 status.
2. The 82599 detects a status change as described in Section 3.2.3
.
Note that commands 0xC0/0xD0 are for backward compatibility. 0xD0/0xC0 can be used for other payloads the 82599 defines in the opcode, which payload this transaction is.
When 0xDE command is set, the 82599 always returns opcode 0sDD with the 82599 status. The BMC reads the event causing the notification, using the Read Status command as follows:
Function Command
Read Status 0xC0 or 0xD0 or 0xDE
Function
Receive TCO Partial Status
Byte Count
3
Data 1 (Op-
Code)
0xDD
Data 2
(Status data 1)
Data 3
(Status data 2)
See the following table
886 331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
The following table lists the status data byte 1:
Bit
7 LAN Port
Name
0b = Alert came from LAN port 0.
1b = Alert came from LAN port 1
Description
6 TCO Command Aborted 0b = A TCO command abort event has not occurred since the last read status cycle.
1b = A TCO command abort event has occurred since the last read status cycle.
for command abort flow.
5 Link Status Indication
1
0b = LAN link down.
1b = LAN link is up.
Contains the value of the MMNGC.MNG_VETO bit.
4 PHY Link Forced Up
Initialization Indication
2
3 0b = An EEPROM reload event has not occurred since the last read status cycle.
1b = An EEPROM reload event has occurred since the last read status cycle.
2 Reserved
Power State
3
Reserved as 0b.
1:0 00b = Dr state.
01b = D0u state.
10b = D0 state.
11b = D3 state.
1. When the 82599 is working in teaming mode, and presented as one SMBus device, the link indication is 0b only when both links
(on both ports) are down. If one of the LANs is disabled, its link is considered to be down.
2. This indication is asserted when the 82599 manageability block reloads the EEPROM and its internal database is updated to EEPROM default values. This is an indication that the external BMC should re-configure the 82599, if other values besides the EEPROM default should be configured.
3. In single address mode, the 82599 reports the highest power-state modes in both devices. The D state is marked in this order:
D0, D0u, Dr, and D3.
Status data byte 2 is used for the BMC for an indication whether the LAN driver is alive and running.
The driver valid indication is a bit that is set by the driver when it is coming up, and cleared when it goes down to Dx state or cleared by the hardware on PCI reset.
Bits 2 and 1 indicate that the LAN driver is not stuck. Bit 2 indicates whether the interrupt line of the LAN function is asserted, and bit 1 indicates whether the driver between the last read status cycle dealt the interrupt line.
The following table lists status data byte 2:
Bit
7
6
5
4
Name
Reserved
Reserved
Reserved
LinkSec Indication
Description
Reserved.
Reserved.
Reserved.
If set, indicates that a LinkSec event has occurred.
Use the read LinkSec parameters with the LinkSec interrupt cause parameter to read the interrupt cause
331520-004 887
888
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
3
2
1
Bit Name
Driver Valid Indication
Interrupt Pending Indication
ICR Register Read/Write
0 Reserved
Description
0b = LAN driver is not alive.
1b = LAN driver is alive.
0b = LAN interrupt is not asserted.
1b = LAN interrupt is asserted.
0b = ICR register was not read since the last read status cycle.
1b = ICR register was read since the last read status cycle.
Reading the ICR means that the driver has dealt with the interrupt that was asserted.
Reserved.
Previous
Don’t care
00b
10b
11b
01b
Don’t Care
Don’t Care
Note:
When the 82599 is in teaming mode, these bits represent both cores:
• The driver alive indication is set if 1b of the driver is alive.
• The LAN interrupt is considered to be asserted if one of the interrupt lines is asserted.
• The ICR is considered to read if one of the ICRs was read (LAN0 or LAN1).
The following table lists the possible values of bits 2, 1 and what the BMC can assume according to that:
Current
00b
01b
01b
01b
01b
11b
10b
Interrupt is not pending – OK.
New interrupt is asserted – OK.
New interrupt is asserted – OK.
Interrupt is waiting for reading – OK.
Interrupt is waiting for reading by the driver more than one read status cycle – Not OK (possible driver hang state).
Previous interrupt was read and current interrupt is pending – OK.
Interrupt is not pending – OK.
Note:
The BMC reads should consider the time it takes for the driver to deal with the interrupt (a few microseconds), too frequent reads give false indications.
331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
10.5.2.2.4 Get System Ethernet MAC Address
The Get System Ethernet MAC Address returns the system Ethernet MAC Address (RAL0,
RAH0) over the SMBus. This command is a single fragment Read Block transaction, with the following format:
Function
Get system Ethernet MAC Address
Command
0xD4
Data returned from the 82599:
Function
Get system Ethernet
MAC Address
Byte Count
7
Data 1 (Op-
Code)
0xD4
Data 2
Ethernet MAC Address
MSB
…
…
Data 7
Ethernet MAC Address
LSB
10.5.2.2.5 Read Management Parameters
In order to read the management parameters the BMC should execute two SMBus transactions. The first transaction is a block write that sets the parameter that the BMC wants to read. The second transaction is block read that reads the parameter.
This is the block write transaction:
Function
Management Control Request
Command
0xC1
Byte Count
1 Parameter Number
Data 1
Following the block write the BMC should issue a block read that reads the parameter that was set in the Block Write command:
Function
Read Management Parameter
Command
0xD1
Data returned from the 82599:
Function
Read Management Parameter
Byte Count
N
Data 1 (Op-
Code)
0xD1
Data 2
Parameter Number
(PN#)
Data 3 … Data N
Parameter Dependent
331520-004 889
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
The returned data is as follows:
Parameter
Keep PHY Link Up
Wrong Parameter
Request the 82599 Not Ready
PN#
0x00
0xFE
0xFF
Parameter Data
A single byte parameter — Data 2:
Bit 0 = Reflects the setting of the MMNGC.MNG_VETO bit.
Bit [7:1] = Reserved.
the 82599 only: This parameter is returned on a read transaction, if in the previous Read command the BMC sets a parameter that is not supported by the 82599. the 82599 only: Returned on Read Parameters command when the data that should have been read is not ready. The BMC should retry the read transaction.
Note:
It might be that the parameter that is returned is not the parameter requested by the BMC. The BMC should verify the parameter number
(default parameter to be returned is 0x1).
It is BMC’s responsibility to follow the procedure Previously defined. If the
BMC sends a Block Read command (as previously described) that is not preceded by a Block Write command with bytecount=1b, the 82599 sets the parameter number in the read block transaction to be 0xFE.
10.5.2.2.6 Read MNG RCV Filter Parameters
In order to read the MNG RCV filter parameters, the BMC should execute two SMBus transactions. The first transaction is a block write that sets the parameter that the BMC wants to read. The second transaction is block read that reads the parameter.
This is the block write transaction:
Function
Update MNG RCV Filter Parameters
Command
0xCC
Byte Count
1 or 2
Data 1
Parameter Number
(PN#)
Data 2
Parameter Data
The following table lists the different parameters and their contents
:
Parameter Data Parameter
Filters Enable
MNG2HOST Configuration
Fail-Over Configuration
Flex Filter 0 Enable Mask and
Length
PN#
0x1
0xA
0xB
0x10
None.
None.
None.
None.
890 331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
Parameter
Flex Filter 0 Data
Flex Filter 1 Enable Mask and
Length
Flex Filter 1 Data
Flex Filter 2 Enable Mask and
Length
Flex Filter 2 Data
Flex Filter 3 Enable Mask and
Length
Flex Filter 3 Data9
Filters Valid
Decision Filters
VLAN Filters
Flex Ports Filters
IPv4 Filter
IPv6 Filters
MAC Filters
Wrong Parameter Request the 82599 Not Ready
PN#
0x11
0x20
Parameter Data
Data 2 – Group of Flex filter’s bytes:
0x0 = bytes 0-29.
0x1 = bytes 30-59.
0x2 = bytes 60-89.
0x3 = bytes 90-119.
0x4 = bytes 120-127.
None.
0x21
0x30
Same as parameter 0x11 but for filter 1.
None.
0x31
0x40
Same as parameter 0x11 but for filter 2.
None.
0x41
0x60
0x61
0x62
0x63
0x64
0x65
0x66
0xFE
0xFF
Same as parameter 0x11 but for filter 3.
None.
1 byte to define the accessed manageability decision filter (MDEF).
Data 2 = Decision filter number.
1 byte to define the accessed VLAN tag filter (MAVTV).
Data 2 = VLAN filter number.
1 byte to define the accessed manageability flex port filter (MFUTP).
Data 2 = Flex port filter number.
1 byte to define the accessed IPv4 address filter (MIPAF).
Data 2 = IPv4 address filter number.
1 byte to define the accessed IPv6 address filter (MIPAF).
Data 2 = IPv6 address filter number.
1 byte to define the accessed Ethernet MAC address filters pair (MMAL, MMAH).
Data 2 = Ethernet MAC address filters pair number (0-3).
Returned by the 82599 only. This parameter is returned on read transaction, if in the previous Read command the BMC sets a parameter that is not supported by the 82599.
Returned by the 82599 only, on Read Parameters command when the data that should have been read is not ready. This parameter has no data.
331520-004 891
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
Following the block write the BMC should issue a block read that readS the parameter that was set in the Block Write command:
Function
Request MNG RCV Filter Parameters
Command
0xCD
Data returned from the 82599:
Function
Read MNG RCV Filter
Parameters
Byte Count
N
Data 1 (Op-
Code)
0xCD
Data 2
Parameter Number
(PN#)
Data 3 … Data N
Parameter Dependent
The returned data is in the same format of the Update command.
Note:
If the parameter that is returned is not the parameter requested by the
BMC, the BMC should verify the parameter number (default parameter to be returned is 0x1).
If the parameter number is 0xFF, it means that the data that the 82599 should supply is not ready yet. The BMC should retry the read transaction.
It is BMC’s responsibility to follow the procedure previously defined. If the
BMC sends a Block Read command (as previously described) that is not preceded by a Block Write command with bytecount=1b, the 82599 sets the parameter number in the read block transaction to be 0xFE.
10.5.2.2.7 Read Receive Enable Configuration
The BMC uses this command to read the receive configuration data. This data can be configured in the Receive Enable command or through EEPROM loading at power up.
Read Receive Enable Configuration command format (SMBus Read Block Protocol):
Read Receive Enable
Function Command
0xDA
Data returned from the 82599:
Function
Read
Receive
Enable
Byte
Count
15
(0x0F
)
Data 1
(Op-
Code)
0xDA
Data
2
Rece ive
Cont rol
Byte
Data
3
…
Data
8
Ethe rnet
MAC
Addr ess
MSB
… Ethe rnet
MAC
Addr ess
LSB
Data
9
…
IP
Addr ess
MSB
Data
12
… IP
Addre ss
LSB
Data
13
BMC
SMBus
Addre ss
Data
14
Interf ace
Data
Byte
The detailed description of each field is specified in the Receive Enable command
description in Section 10.5.2.1.3
Data
15
Alert
Value
Byte
892 331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
10.5.2.2.8 Read LinkSec Parameters
In order to read the MNG LinkSec parameters, the BMC should execute two SMBUS transactions. The first transaction is a block write that sets the parameter that the BMC wants to read. The second transaction is block read that reads the parameter.
This is the block write transaction:
Function
Update MNG RCV Filter
Parameters
Command
0xC9
Byte Count
1
Data 1
Parameter Number
(PN#)
Data 2
Parameter Data
The following table lists the different parameters and their contents:
Parameter Data Parameter
LinkSec Interrupt Cause
LinkSec Rx Parameters
LinkSec Tx Parameters
PN#
0x0
0x1
0x2
None.
None.
None.
Following the block write the BMC should issue a block read that reads the parameter that was set in the Block Write command:
Function
Read LinkSec Parameters
Command
0xD9
Byte Count
2,18 or 22
Data 1
Parameter Number
(PN#)
Data 2 — n
Parameter Data
The following table lists the different parameters and their contents
:
Parameter
LinkSec Interrupt Cause
PN#
0x0
Parameter Data
This command must return 1 byte (Data2). This byte contains the LinkSec interrupt cause, according to the following values:
Data2:
Bit 0 =
Bit 1 =
Bit 2 =
Tx key packet number threshold met.
Host requested ownership.
Host released ownership.
Bit 3...31 = Reserved.
331520-004 893
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
Parameter
LinkSec Rx Parameters
LinkSec Tx Parameters
PN#
0x1
0x2
Parameter Data
Data 2: Reserved.
Data 3: LinkSec ownership status. See
Data 4: LinkSec host control status. See Table 10-26 .
Data 5: Rx host identifier (MSB).
Data 6: Rx host identifier (LSB).
Data 7: Rx SCI (MSB) … Data 12: (LSB).
Data 13: Reserved.
Data 14: Rx SA AN — The association number currently used for the active SA.
Data 15: Rx SA packet number (MSB) … Data 18: (LSB).
Rx SA packet number is the last packet number, as read from the last valid Rx LinkSec packet.
Data 2: Reserved
Data 3: LinkSec ownership status. See
Data 4: LinkSec host control status. See Table 10-26 .
Data 5: Tx port identifier (MSB).
Data 6: Tx port identifier (LSB).
Note:
Tx port identifier is reserved to 0x0 for this implementation.
Data 7: Tx SCI (MSB) … Data 12: (LSB).
Data 13: Reserved.
Data 14: Tx SA AN — The association number currently used for the active SA.
Data 15: Tx SA packet number (MSB) … Data 18: (LSB).
Data 19: packet number threshold (MSB) … Data 21: (LSB).
Tx SA packet number is the last packet number, as read from the last valid Tx LinkSec packet.
Data 22: Tx Control Status. See
Table 10-25 LinkSec Owner Status
Value
0x0 Host is LinkSec owner.
0x1 BMC is LinkSec owner.
Description
Table 10-26 LinkSec Host Control Status
Bit
0 Reserved.
1
2..7
Allow host traffic:
0b = Host traffic is blocked.
1b = Host traffic is allowed.
Reserved.
Description
894 331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
Table 10-27 Tx Control Status
Bit
0..4
Reserved.
5
6..7
Include SCI:
0b = Do not include SCI in Tx packets.
1b = Include SCI in Tx packets.
Reserved
Description
10.5.2.3 SMBus ARP Transactions
Note:
All SMBus-ARP transactions include PEC byte.
10.5.2.3.1 Prepare to ARP
This command clears the Address Resolved flag (set to false). It does not affect the status or validity of the dynamic SMBus address. It is used to signal all devices that the
ARP master is starting the ARP process:
1
S
7
Slave Address
1100 001
1
Wr
0
1
A
0
8
Command
0000 0001
1
A
0
8
PEC
[Data dependent value]
1
A
0
1
P
10.5.2.3.2 Reset Device (General)
This command clears the Address Resolved flag (set to false). It does not affect the status or validity of the dynamic SMBus address.
1
S
7
Slave Address
1100 001
1
Wr
0
1
A
0
8
Command
0000 0010
1
A
0
8
PEC
[Data dependent value]
1
A
0
1
P
10.5.2.3.3 Reset Device (Directed)
The Command field is NACK-ed if the bits 7 through 1 do not match the current the
82599 SMBus address.
It clears the Address Resolved flag (set to false). It does not affect the status or validity of the dynamic SMBus address.
1
S
7
Slave Address
1100 001
1
Wr
0
1
A
0
8
Command
Targeted slave address | 0
1
A
0
8
PEC
[Data dependent value]
1
A
0
1
P
331520-004 895
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
10.5.2.3.4 Assign Address
This command assigns the 82599’s SMBus address. The address and command bytes are always acknowledged.
The transaction is aborted immediately (NACK-ed-) if any of the UDID bytes differ from the 82599 UDID bytes. If successful, the manageability interface updates the SMBus address internally. This command also sets the Address Resolved flag to true.
1 7
Slave
Address
1100 001
1
Wr
0
1
A
0
8
Command
0000 0100
1
A
0
8
Byte Count
0001 0001
1
A
0
8
Data-1
UDID byte 15 (MSB)
8
Data-5
UDID byte 11
8
Data-9
UDID byte 7
8
Data-12
UDID byte 4
8
Data-16
UDID byte 0 (LSB)
1
A
0
1
A
0
8
Data-2
UDID byte 14
8
Data-6
UDID byte 10
1
A
0
1
A
0
8
Data-10
UDID byte 6
8
Data-13
UDID byte 3
1
A
0
1
A
0
8
Data-17
Assigned Address
1
A
0
1
A
0
1
A
0
8
Data-3
UDID byte 13
8
Data-7
UDID byte 9
8
Data-14
UDID byte 2
8
1
A
0
1
A
0
Data-11
UDID byte 5
1
A
0
1
A
0
8
PEC
[Data dependent value]
8
Data-4
UDID byte 12
8
Data-8
UDID byte 8
1
A
0
8
Data-15
UDID byte 1
1
A
0
1
A
0
1
P
1
A
0
1
A
0
10.5.2.3.5 Get UDID (General and Directed)
The Get UDID command depends on whether this is a directed or general command.
The General Get UDID SMBus transaction supports a constant command value of 0x03.
The Directed Get UDID SMBus transaction supports a dynamic command value equal to the dynamic SMBus address with the LSB bit set.
Note:
Bit 0 (LSB) of Data byte 17 will always be 1b.
If the SMBus address has been resolved (Address Resolved flag is true); for a general command the manageability interface does not acknowledge (NACK) this transaction, for a directed command the manageability always acknowledges (ACK) this transaction.
896 331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
S
This command does not affect the status or validity of the dynamic SMBus address nor of the Address Resolved flag.
The command returns the UDID bytes as defined in Section 3.2.7
.
Slave Address
1100 001
Wr
0
A
0
Command
See below
A
0
S
7
Slave Address
1100 001
8
Data-1
UDID byte 15 (MSB)
1
A
0
1
Rd
1
8
Data-2
UDID byte 14
1
A
0
1
A
0
8
Byte Count
0001 0001
8
Data-3
UDID byte 13
1
A
0
8
Data-4
UDID byte 12
1
A
0
1
A
0
8
Data-5
UDID byte 11
1
A
0
8
Data-6
UDID byte 10
1
A
0
8
Data-7
UDID byte 9
1
A
0
8
Data-8
UDID byte 8
1
A
0
8
Data-9
UDID byte 7
8
Data-12
UDID byte 4
1
A
0
1
A
0
8
Data-13
UDID byte 3
8
Data-10
UDID byte 6
1
A
0
8
Data-14
UDID byte 2
1
A
0
1
A
0
8
Data-11
UDID byte 5
8
Data-15
UDID byte 1
1
A
0
1
A
0
8
Data-16
UDID byte 0 (LSB)
1
A
0
8
Data-17
Device Slave Address
1
A
0
8
PEC
[Data dependent value]
10.5.2.4 Example Configuration Steps
1
~Ã
1
1
P
This section provides an overview and sample configuration settings for commonly used filtering configurations.Three examples are presented.
The examples are in pseudo code format, with the name of the SMBus command, followed by the parameters for that command and an explanation. Here is a sample:
Receive Enable[00]
Using the simple form of the Receive Enable command, this prevents any packets from reaching the BMC by disabling filtering.
331520-004 897
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
10.5.2.4.1 Example 1 - Shared MAC, RMCP Only Ports
This example is the most basic configuration. The MAC address filtering are shared with the host operating system and only traffic directed the RMCP ports (0x26F and 0x298) are filtered. For this simple example, the BMC must issue gratuitous ARPs because no filter is enabled to pass ARP requests to the BMC.
10.5.2.4.1.1 Example 1 Pseudo Code
Step 1:
- Disable existing filtering:
Receive Enable[00]
Using the simple form of the Receive Enable command, this prevents any packets from reaching the BMC by disabling filtering:
Receive Enable Control 0x00:
• Bit 0 [0] – Disable receiving of packets
Step 2:
- Configure MDEF[0]:
Update Manageability Filter Parameters [61, 0, 00000C00]
Use the Update Manageability Filter Parameters command to update Decision Filters
(MDEF) (parameter 0x61). This updates MDEF[0], as indicated by the 2 nd
parameter (0).
MDEF[0] value of 0x00000C00:
• Bit 10 [1] – port 0x298
• Bit 11 [1] – port 0x26F
Step 3:
- Enable filtering:
Receive Enable [05]
Using the simple form of the Receive Enable command:
Receive Enable Control 0x05:
• Bit 0 [1] – Enable receiving of packets
• Bit 2 [1] – Enable status reporting (such as link lost)
• Bit 5:4 [00] – Notification method = SMBus Alert
• Bit 7 [0] – Use shared MAC
898 331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
Table 10-28 Example 1 MDEF Results
L2 Unicast Address
Broadcast
Manageability VLAN
IP Address
L2 Unicast Address
Broadcast
Multicast
ARP Request
ARP Response
Neighbor Discovery
Port 0x298
Port 0x26F
Flex Port 15:0
Flex TCO 3:0
Filter 0
OR
OR
OR
OR
OR
OR
OR
AND
AND
AND
AND
OR
OR
AND x x
1
Manageability Decision Filter (MDEF)
2 3 4 5 6 7
331520-004 899
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
10.5.2.4.2 Example 2 - Dedicated MAC, Auto ARP Response and
RMCP port filtering
This example shows a common configuration; the BMC has a dedicated MAC and IP address. Automatic ARP responses are enabled as well as RMCP port filtering. By enabling automatic ARP responses the BMC is not required to send the gratuitous ARPs as it did in Example 1. Since ARP requests are now filtered, in order for the host to receive the ARP requests, the manageability-to-host filter is configured to send the ARP requests to the host as well.
For demonstration purposes, the dedicated MAC address is calculated by reading the system MAC address and adding one do it, assume the system MAC is AABBCCDC. The IP address for this example is 1.2.3.4.
Additionally, the XSUM filtering is enabled.
Note that not all Intel Ethernet controllers support automatic ARP responses, please refer to product specific documentation.
10.5.2.4.2.1 Example 2 - Pseudo Code
Step 1:
- Disable existing filtering:
Receive Enable[00]
Using the simple form of the Receive Enable command, this prevents any packets from reaching the BMC by disabling filtering:
Receive Enable Control 0x00:
• Bit 0 [0] – Disable receiving of packets
Step 2:
- Read System MAC Address
Get System MAC Address []
Reads the System MAC address. Assume returned AABBCCDC for this example.
Step 3:
- Configure XSUM Filter
Update Manageability Filter Parameters [01, 00800000]
Use the Update Manageability Filter Parameters command to update Filters Enable settings (parameter 1). This set the Manageability Control (MANC) register.
MANC Register 0x00800000:
• Bit 23 [1] – XSUM Filter enable
Note:
Some of the following configuration steps manipulate the MANC register indirectly, this command sets all bits except XSUM to zero. It is important to either do this step before the others, or to read the value of the MANC and then write it back with only bit 32 changed. Also note that the XSUM enable bit might differ between Ethernet controllers, refer to product specific documentation.
Step 4:
- Configure MDEF[0]
Update Manageability Filter Parameters [61, 0, 00000C00]
900 331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
331520-004
Use the Update Manageability Filter Parameters command to update Decision Filters
(MDEF) (parameter 0x61). This updates MDEF[0], as indicated by the 2 nd
parameter (0).
MDEF value of 0x00000C00:
• Bit 10 [1] – port 0x298
• Bit 11 [1] – port 0x26F
Step 5:
- Configure MDEF[1]:
Update Manageability Filter Parameters [61, 1, 00000080]
Use the Update Manageability Filter Parameters command to update Decision Filters
(MDEF) (parameter 61h). This updates MDEF[1], as indicated by the 2 nd
parameter (1).
MDEF value of 0x00000080:
• Bit 7 [7] – ARP requests
When enabling automatic ARP responses, the ARP requests still go into the manageability filtering system and as such need to be designated as also needing to be sent to the host.
For this reason a separate MDEF is created with only ARP request filtering enabled.
Refer to the next step for more details.
Step 6:
- Configure the Management to Host Filter
Update Manageability Filter Parameters [0A, 00000002]
Use the Update Manageability Filter Parameters command to update the Management
Control-to-Host (MANC2H) register.
MANC2H Register 0x00000002:
• Bit 2 [1] – Enable MDEF[1] traffic to go to the host as well
This enables ARP requests to be passed to both manageability and to the host. Specified separate MDEF filter for ARP requests. If ARP requests had been added to MDEF[0] and then MDEF[0] specified in management-to-host configuration then not only would ARP requests be sent to the BMC and host, RMCP traffic (ports 0x26F and 0x298) would have also been sent to both places.
Step 7:
- Enable filtering:
Receive Enable [8D, AABBCCDD, 01020304, 00, 00, 00]
Using the advanced version Receive Enable command, the first parameter:
Receive Enable Control 0x8D:
• Bit 0 [1] – Enable receiving of packets
• Bit 2 [1] – Enable status reporting (such as link lost)
• Bit 3 [1] – Enable automatic ARP responses
• Bit 5:4 [00] – Notification method = SMBus alert
• Bit 7 [1] – Use dedicated MAC
Second parameter is the MAC address (AABBCCDD).
Third parameter is the IP address (01020304).
The last three parameters are zero when the notification method is SMBus Alert.
901
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
Table 10-29 Example 2 MDEF Results
L2 Unicast Address
Broadcast
Manageability VLAN
IP Address
L2 Unicast Address
Broadcast
Multicast
ARP Request
ARP Response
Neighbor Discovery
Port 0x298
Port 0x26F
Flex Port 15:0
Flex TCO 3:0
Filter 0
OR
OR
OR
OR
OR
OR
OR
AND
AND
AND
AND
OR
OR
AND x x
1
Manageability Decision Filter (MDEF)
2 3 4 5 6
x
7
x
902 331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
10.5.2.4.3 Example 3 - Dedicated MAC and IP Address
This example provides the BMC with a dedicated MAC and IP address and allows it to receive ARP requests. The BMC is then responsible for responding to ARP requests.
For demonstration purposes, the dedicated MAC address is calculated by reading the system MAC address and adding one to it, assume the system MAC is AABBCCDC. The IP address for this example is1.2.3.4. For this example, the Receive Enable command is used to configure the MAC address filter.
In order for the BMC to be able to receive ARP requests, it needs to specify a filter for this, and that filter needs to be included in the manageability-to-host filtering so that the host operating system can also receive ARP requests.
10.5.2.4.3.1 Example 3 - Pseudo Code
Step 1:
- Disable existing filtering:
Receive Enable[00]
Using the simple form of the Receive Enable command, this prevents any packets from reaching the BMC by disabling filtering:
Receive Enable Control 0x00:
• Bit 0 [0] – Disable receiving of packets
Step 2:
- Read system MAC address:
Get System MAC Address []
Reads the system MAC address. Assume returned AABBCCDC for this example.
Step 3:
- Configure IP address filter:
Update Manageability Filter Parameters [64, 00, 01020304]
Use the Update Manageability Filter Parameters to configure an IPv4 filter.
The 1 st
parameter (0x64) specifies that we are configuring an IPv4 filter.
The 2 nd filter 0.
parameter (0x00) indicates which IPv4 filter is being configured, in this case
The 3 rd
parameter is the IP address – 1.2.3.4.
Step 4:
- Configure MAC address filter:
Update Manageability Filter Parameters [66, 00, AABBCCDD]
Use the Update Manageability Filter Parameters to configure a MAC Address filter.
The 1 st
parameter (0x66) specifies that we are configuring a MAC Address filter.
The 2 nd
parameter (0x00) indicates which MAC address filter is being configured, in this case filter 0.
The 3 rd
parameter is the MAC address - AABBCCDD
331520-004 903
904
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
Step 5:
- Configure manageability filters valid to select the IPv4 [0] and MAC[0]filters:
Step 3 configured one of possibly many IP address filters, this step indicates which of those filters should be used when filtering incoming traffic.
Update Manageability Filter Parameters [60, 00010001]
Use the Update Manageability Filter Parameters to configure the MVFAL register.
The 1 st
parameter (0x60) specifies that we are configuring the MFVAL register.
The 2 nd
parameter (0x00010001) is the new value of the MFVAL register.
MFVAL value of 0x00010000:
• Bit 1 [1] – MAC Address Filter 0
• Bit 16 [1] – IPV4 Filter 0
For more information regarding Manageability Filters Valid, see section
.
Step 6:
- Configure MDEF[0] for IP and MAC filtering:
Update Manageability Filter Parameters [61, 0, 00000009]
Use the Update Manageability Filter Parameters command to update Decision Filters
(MDEF) (parameter 0x61). This will update MDEF[0], as indicated by the 2 nd
parameter
(0).
MDEF value of 0x00000040:
• Bit 1 [1] - MAC Address Filtering
• Bit 3 [1] – IP Address Filtering
Step 7:
- Configure MDEF[1]:
Update Manageability Filter Parameters [61, 1, 00000080]
Use the Update Manageability Filter Parameters command to update Decision Filters
(MDEF) (parameter 0x61). This will update MDEF[1], as indicated by the 2 nd
parameter
(1).
MDEF value of 00000080:
• Bit 7 [7] – ARP Requests
When filtering ARP requests the requests go into the manageability filtering system and as such need to be designated as also needing to be sent to the host. For this reason a separate MDEF is created with only ARP request filtering enabled.
Step 8:
- Configure the management to host filter:
Update Manageability Filter Parameters [0A, 00000002]
Use the Update Manageability Filter Parameters command to update the Management
Control-to-Host (MANC2H) register.
MANC2H Register 00000002:
• Bit 2 [1] – Enable MDEF[1] traffic to go to the host as well
331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
Step 9:
- Enable filtering:
Receive Enable [05]
Using the simple form of the Receive Enable command,:
Receive Enable Control 0x05:
• Bit 0 [1] – Enable receiving of packets
• Bit 2 [1] – Enable status reporting (such as link lost)
• Bit 5:4 [00] – Notification method = SMBus Alert
The resulting MDEF filters are as follows:
Table 10-30 Example 3 MDEF Results
0
x
1
Manageability Decision Filter (MDEF)
2 3 4 5 6
L2 Unicast Address
Broadcast
Manageability VLAN
IP Address
L2 Unicast Address
Broadcast
Multicast
ARP Request
ARP Response
Neighbor Discovery
Port 0x298
Port 0x26F
Flex Port 15:0
Flex TCO 3:0
Filter
OR
OR
OR
OR
OR
OR
OR
OR
AND
OR
AND
AND
AND
AND x x
7
331520-004 905
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
10.5.2.4.4 Example 4 - Dedicated MAC and VLAN Tag
This example shows an alternate configuration; the BMC has a dedicated MAC and IP address, along with a VLAN tag of 0x32 is required for traffic to be sent to the BMC. This means that all traffic with VLAN a matching tag is sent to the BMC.
For demonstration purposes, the dedicated MAC address is calculated by reading the system MAC address and adding one do it, assume the system MAC is AABBCCDC. The IP address for this example is 1.2.3.4 and the VLAN tag will be 0x0032.
It is assumed the host is not using the same VLAN tag as the BMC. If they were to share the same VLAN tag then additional filtering would need to be configured to allow VLAN tagged non-unicast (such as ARP requests) to be sent to the host as well as the BMC using the manageability-to -host filter capability.
Additionally, the XSUM filtering is enabled.
10.5.2.4.4.1 Example 4 - Pseudo Code
Step 1:
- Disable existing filtering:
Receive Enable[00]
Using the simple form of the Receive Enable command, this prevents any packets from reaching the BMC by disabling filtering:
Receive Enable Control 0x00:
• Bit 0 [0] – Disable receiving of packets
Step 2:
- Read system MAC address:
Get System MAC Address []
Reads the system MAC address. Assume returned AABBCCDC for this example.
Step 3:
- Configure XSUM filter:
Update Manageability Filter Parameters [01, 00800000]
Use the Update Manageability Filter Parameters command to update Filters Enable settings (parameter 1). This set the Manageability Control (MANC) register.
MANC Register 0x00800000:
• Bit 23 [1] – XSUM Filter enable
Note:
Some of the following configuration steps manipulate the MANC register indirectly, this command sets all bits except XSUM to zero. It is important to either do this step before the others, or to read the value of the MANC and then write it back with only bit 32 changed. Also note that the XSUM enable bit can differ between Ethernet controllers, refer to product specific documentation.
Step 4:
- Configure VLAN 0 filter:
Update Manageability Filter Parameters [62, 0, 0032]
Use the Update Manageability Filter Parameters command to configure VLAN filters.
Parameter 0x62 indicates update to VLAN Filter, the 2 nd
parameter indicates which VLAN filter (0 in this case), the last parameter is the VLAN ID (0x0032).
906 331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
Step 5:
- Enable VLAN 0 filter:
Update Manageability Filter Parameters [60, 00000100]
The previous step configured a VLAN filter, this step enables it.
Use the Update Manageability Filter Parameters command to enable the VLAN filter
(VLAN filter 0) configured in the previous step, this information is written to the
Manageability Filters Valid (MFVAL) register. See
for more details about MFVAL.
MFVAL value of 00000100:
• Bit 8 [1] – VLAN Filter 0
Step 6:
- Configure MDEF[0]:
Update Manageability Filter Parameters [61, 0, 00000040]
Use the Update Manageability Filter Parameters command to update Decision Filters
(MDEF) (parameter 0x61). This updates MDEF[0], as indicated by the 2 nd
parameter (0).
MDEF value of 00000040:
• Bit 2 [1] – VLAN AND
Step 7:
- Enable filtering:
Receive Enable [85, AABBCCDD, 01020304, 00, 00, 00]
Using the advanced version Receive Enable command, the first parameter:
Receive Enable Control 0x85:
• Bit 0 [1] b – Enable receiving of packets
• Bit 2 [1] b – Enable status reporting (such as link lost)
• Bit 5:4 [00]b – Notification method = SMBus Alert
• Bit 7 [1]b – Use dedicated MAC
Second parameter is the MAC address: AABBCCDD.
Third parameter is the IP address: 01020304.
The last three parameters are zero when the notification method is SMBus Alert.
331520-004 907
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
Table 10-31 Example 3 MDEF Results
L2 Unicast Address
Broadcast
Manageability VLAN
IP Address
L2 Unicast Address
Broadcast
Multicast
ARP Request
ARP Response
Neighbor Discovery
Port 0x298
Port 0x26F
Flex Port 15:0
Flex TCO 3:0
Filter 0
OR
OR
OR
OR
OR
OR
OR
AND
AND
AND
AND
OR
OR
AND x
1
Manageability Decision Filter (MDEF)
2 3 4 5 6 7
x
908 331520-004
Manageability Programming Interfaces—Intel
®
82599 10 GbE Controller
10.5.2.5 SMBus Troubleshooting and Recommendations
This section outlines the most common issues found while working with pass-through using the SMBus sideband interface.
10.5.2.5.1 SMBus Commands Are Always NACK'd
There are several reasons why all commands sent to the 82599 from a MC could be
NACK'd. The following are most common:
• Invalid NVM Image — The image itself might be invalid or it could be a valid image and is not a pass-through image, as such SMBus connectivity is disabled.
• The MC is not using the correct SMBus address — Many MC vendors hard-code the
SMBus address(es) into their firmware. If the incorrect values are hard-coded, the
82599 does not respond.
• The SMBus address(es) can be dynamically set using the SMBus ARP mechanism.
• Bus Interference — the bus connecting the MC and the 82599 might be unstable, consult the reference schematics for correct pull-up resisters.
10.5.2.5.2 SMBus Clock Speed Is 16.6666 KHz
This can happen when the SMBus connecting the MC and the 82599 is also tied into another device (such as an ICH) that has a maximum clock speed of 16.6666 KHz. The solution is to not connect the SMBus between the 82599 and the MC to this device.
10.5.2.5.3 A Network Based Host Application Is Not Receiving any
Network Packets
Reports have been received about an application not receiving any network packets. The application in question was NFS under Linux. The problem was that the application was using the RMPC/RMCP+ IANA reserved port 0x26F (623) and the system was also configured for a shared MAC and IP address with the operating system and MC.
The management control to host configuration, in this situation, was setup not to send
RMCP traffic to the operating system (this is typically the correct configuration). This means that no traffic sent to port 623 was being routed.
The solution in this case is to configure the problematic application NOT to use the reserved port 0x26F.
10.5.2.5.4 Unable to Transmit Packets from the MC
If the MC has been transmitting and receiving data without issue for a period of time and then begins to receive NACKs from the 82599 when it attempts to write a packet, the problem is most likely due to the fact that the buffers internal to the 82599 are full of data that has been received from the network but has yet to be read by the MC.
Being an embedded device, the 82599 has limited buffers that are shared for receiving and transmitting data. If a MC does not keep the incoming data read, the 82599 can be filled up This prevents the MC form transmitting more data, resulting in NACKs.
331520-004 909
Intel
®
82599 10 GbE Controller—Manageability Programming Interfaces
If this situation occurs, the recommended solution is to have the MC issue a Receive
Enable command to disable more incoming data, read all the data from the 82599, and then use the Receive Enable command to enable incoming data.
10.5.2.5.5 SMBus Fragment Size
The SMBus specification indicates a maximum SMBus transaction size of 32 bytes. Most of the data passed between the 82599 and the MC over the SMBus is RMCP/RMCP+ traffic, which by its very nature (UDP traffic) is significantly larger than 32 bytes in length. Multiple SMBus transactions may therefore be required to move data from the
82599 to the MC or to send a data from the MC to the 82599.
Recognizing this bottleneck, the 82599 handles up to 240 bytes of data in a single transaction. This is a configurable setting in the NVM. The default value in the NVM images is 32, per the SMBus specification. If performance is an issue, increase this size.
10.5.2.5.6 Losing Link
Normal behavior for the Ethernet controller when the system powers down or performs a reset is for the link to temporarily go down and then back up again to re-negotiate the link speed. This behavior can have adverse affects on manageability.
For example if there is an active FTP or Serial Over LAN (SOL) session to the MC, this connection may be lost. In order to avoid this possible situation, the MC can use the
Management Control command detailed in Section 10.5.2.1.5
active at all times.
This command is available when using the NC-SI sideband interface as well.
Care should be taken with this command, if the driver negotiates the maximum link speed, the link speed remains the same when the system powers down or resets. This may have undesirable power consumption consequences. Currently, when using NC-SI, the MC can re-negotiate the link speed. That functionality is not available when using the
SMBus interface.
10.5.2.5.7 Enable XSum Filtering
If XSum filtering is enabled, the MC does not need to perform the task of checking this checksum for incoming packets. Only packets that have a valid XSum is passed to the
MC. All others are silently discarded.
This is a way to offload some work from the MC.
10.5.2.5.8 Still Having Problems?
If problems still exist, contact your field representative. Be prepared to provide the following:
• A SMBus trace if possible
• A dump of the NVM image. This should be taken from the actual 82599, rather than the NVM image provided by Intel. Parts of the NVM image are changed after writing
(such as the physical NVM size).
910 331520-004
advertisement
Related manuals
advertisement
Table of contents
- 21 Scope
- 21 Product Overview
- 22 82599 Silicon/Software Features
- 23 System Configurations
- 24 External Interfaces
- 24 PCI-Express* (PCIe*) Interface
- 24 Network Interfaces
- 25 EEPROM Interface
- 26 Serial Flash Interface
- 26 SMBus Interface
- 26 NC-SI Interface
- 26 MDIO Interfaces
- 27 I2C Interfaces
- 27 Software-Definable Pins (SDP) Interface (General-Purpose I/O)
- 28 LED Interface
- 28 Features Summary
- 33 Overview of New Capabilities Beyond the
- 33 Security
- 33 Transmit Rate Limiting
- 33 Fibre Channel over Ethernet (FCoE)
- 34 Performance
- 35 Rx/Tx Queues and Rx Filtering
- 35 Interrupts
- 35 Virtualization
- 36 Double VLAN
- 37 Time Sync — IEEE 1588 — Precision Time Protocol (PTP)
- 37 Conventions
- 37 Terminology and Acronyms
- 37 Byte Count
- 37 Byte Ordering
- 38 Register/Bit Notations
- 38 References
- 41 Architecture and Basic Operation
- 41 Transmit (Tx) Data Flow
- 42 Receive (Rx) Data Flow
- 43 Pin Assignment
- 43 Signal Type Definition
- 44 PCIe Symbols and Pin Names
- 47 EEPROM
- 47 Serial Flash
- 48 SMBus
- 49 NC-SI
- 50 Software Defined Pins (SDPs)
- 51 RSVD and No Connect Pins
- 53 Miscellaneous
- 54 Power Supplies
- 55 Pull-Ups
- 58 Ball Out — Top Level
- 61 PCI-Express* (PCIe*)
- 61 Overview
- 64 General Functionality
- 64 Host Interface
- 68 Transaction Layer
- 75 Link Layer
- 76 Physical Layer
- 80 Error Events and Error Reporting
- 86 Performance Monitoring
- 87 SMBus
- 87 Channel Behavior
- 87 SMBus Addressing
- 88 SMBus Notification Methods
- 90 Receive TCO Flow
- 91 Transmit TCO Flow
- 93 Concurrent SMBus Transactions
- 93 SMBus ARP Functionality
- 97 LAN Fail-Over Through SMBus
- 97 Network Controller — Sideband Interface (NC-SI)
- 97 Electrical Characteristics
- 98 NC-SI Transactions
- 98 EEPROM
- 98 General Overview
- 98 EEPROM Device
- 98 EEPROM Vital Content
- 99 Software Accesses
- 99 Signature Field
- 100 Protected EEPROM Space
- 101 EEPROM Recovery
- 102 EEPROM Deadlock Avoidance
- 103 VPD Support
- 104 Flash
- 104 Flash Interface Operation
- 105 Flash Write Control
- 105 Flash Erase Control
- 105 Flash Access Contention
- 106 Configurable I/O Pins — Software-Definable Pins (SDP)
- 109 Network Interface (MAUI Interface)
- 110 10 GbE Interface
- 121 GbE Interface
- 123 SGMII Support
- 125 Auto Negotiation For Backplane Ethernet and Link Setup Features
- 129 Transceiver Module Support
- 130 Management Data Input/Output (MDIO) Interface
- 136 Ethernet Flow Control (FC)
- 146 Inter Packet Gap (IPG) Control and Pacing
- 147 MAC Speed Change at Different Power Modes
- 151 Power Up
- 151 Power-Up Sequence
- 152 Power-Up Timing Diagram
- 155 Reset Operation
- 155 Reset Sources
- 158 Reset in PCI-IOV Environment
- 159 Reset Effects
- 162 Queue Disable
- 163 Function Disable
- 163 General
- 163 Overview
- 165 Control Options
- 165 Event Flow for Enable/Disable Functions
- 166 Device Disable
- 166 Overview
- 167 BIOS Disable of the Device at Boot Time by Using the Strapping Option
- 167 Software Initialization and Diagnostics
- 167 Introduction
- 167 Power-Up State
- 168 Initialization Sequence
- 169 100 Mb/s, 1 GbE, and 10 GbE Link Initialization
- 170 Initialization of Statistics
- 170 Interrupt Initialization
- 171 Receive Initialization
- 175 Transmit Initialization
- 176 FCoE Initialization Flow
- 177 Virtualization Initialization Flow
- 180 DCB Configuration
- 191 Security Initialization
- 193 Alternate MAC Address Support
- 195 Power Targets and Power Delivery
- 195 Power Management
- 195 Introduction to the 82599 Power States
- 196 Auxiliary Power Usage
- 196 Power Limits by Certain Form Factors
- 197 Interconnects Power Management
- 199 Power States
- 204 Timing of Power-State Transitions
- 208 Wake Up
- 208 Advanced Power Management Wake Up
- 208 ACPI Power Management Wake Up
- 209 Wake-Up Packets
- 215 Wake Up and Virtualization
- 217 EEPROM General Map
- 219 EEPROM Software
- 219 SW Compatibility Module — Word Address 0x10-0x
- 219 PBA Number Module — Word Address 0x15-0x
- 220 iSCSI Boot Configuration — Word Address 0x
- 223 Software Reserved Word — PXE VLAN Configuration Pointer — Word Address 0x
- 224 VPD Module Pointer — Word Address 0x2F
- 224 EEPROM PXE Module — Word Address 0x30-0x
- 227 Alternate Ethernet MAC Address — Word Address 0x
- 227 Checksum Word Calculation (Word 0x3F)
- 229 Word Address 0x
- 229 Software Reserved Word 16 — Alternate SAN MAC Block Pointer — Word Address 0x
- 230 Software Reserved Word 17 — Active SAN MAC Block Pointer — Word Address 0x
- 231 EEPROM Hardware Sections
- 231 EEPROM Hardware Section — Auto-Load Sequence
- 231 EEPROM Init Module
- 233 PCIe Analog Configuration Module
- 234 Core 0/1 Analog Configuration Modules
- 235 PCIe General Configuration Module
- 244 PCIe Configuration Space 0/1 Modules
- 246 LAN Core 0/1 Modules
- 249 MAC 0/1 Modules
- 255 CSR 0/1 Auto Configuration Modules
- 257 Firmware Module
- 257 Test Configuration Module
- 258 Common Firmware Parameters — (Global MNG Offset 0x3)
- 259 Pass Through LAN 0/1 Configuration Modules
- 268 Sideband Configuration Module
- 270 Flexible TCO Filter Configuration Module
- 272 NC-SI Microcode Download Module
- 272 NC-SI Configuration Module
- 277 Receive Functionality
- 278 Packet Filtering
- 282 Rx Queues Assignment
- 310 MAC Layer Offloads
- 310 Receive Data Storage in System Memory
- 310 Legacy Receive Descriptor Format
- 313 Advanced Receive Descriptors
- 323 Receive Descriptor Fetching
- 323 Receive Descriptor Write-Back
- 324 Receive Descriptor Queue Structure
- 327 Header Splitting
- 330 Receive Checksum Offloading
- 333 SCTP Receive Offload
- 334 Receive UDP Fragmentation Checksum
- 335 Transmit Functionality
- 335 Packet Transmission
- 344 Transmit Contexts
- 345 Transmit Descriptors
- 361 TCP and UDP Segmentation
- 369 Transmit Checksum Offloading in Non-segmentation Mode
- 373 Interrupts
- 373 Interrupt Registers
- 377 Interrupt Moderation
- 381 TCP Timer Interrupt
- 381 Mapping of Interrupt Causes
- 388 802.1q VLAN Support
- 388 802.1q VLAN Packet Format
- 388 802.1q Tagged Frames
- 389 Transmitting and Receiving 802.1q Packets
- 390 802.1q VLAN Packet Filtering
- 390 Double VLAN and Single VLAN Support
- 394 Direct Cache Access (DCA)
- 395 PCIe TLP Format for DCA
- 397 Data Center Bridging (DCB)
- 397 Overview
- 400 Transmit-side Capabilities
- 413 Receive-Side Capabilities
- 417 LinkSec
- 418 Packet Format
- 418 LinkSec Header (SecTag) Format
- 420 LinkSec Management – KaY (Key Agreement Entity)
- 421 Receive Flow
- 424 Transmit Data Path
- 425 LinkSec and Manageability
- 425 Key and Tamper Protection
- 426 LinkSec Statistics
- 428 Time SYNC (IEEE1588 and 802.1AS)
- 428 Overview
- 428 Flow and Hardware/Software Responsibilities
- 430 Hardware Time Sync Elements
- 433 Time Sync Related Auxiliary Elements
- 434 PTP Packet Structure
- 437 7.10 Virtualization
- 437 Overview
- 441 PCI-SIG SR-IOV Support
- 452 Packet Switching
- 463 Virtualization of Hardware
- 464 7.11 Receive Side Coalescing (RSC)
- 466 Packet Viability for RSC Functionality
- 468 Flow Identification and RSC Context Matching
- 470 Processing New RSC
- 470 Processing Active RSC
- 472 Packet DMA and Descriptor Write Back
- 474 RSC Completion and Aging
- 476 7.12 IPsec Support
- 476 Overview
- 476 Hardware Features List
- 479 Software/Hardware Demarcation
- 480 IPsec Formats Exchanged Between Hardware and Software
- 484 TX SA Table
- 485 TX Hardware Flow
- 487 AES-128 Operation in Tx
- 489 RX Descriptors
- 489 Rx SA Tables
- 492 RX Hardware Flow without TCP/UDP Checksum Offload
- 493 RX Hardware Flow with TCP/UDP Checksum Offload
- 493 AES-128 Operation in Rx
- 495 7.13 Fibre Channel over Ethernet (FCoE)
- 495 Introduction
- 496 FCoE Transmit Operation
- 502 FCoE Receive Operation
- 518 7.14 Reliability
- 518 Memory Integrity Protection
- 518 PCIe Error Handling
- 519 Address Regions
- 519 Memory-Mapped Access
- 520 I/O-Mapped Access
- 522 Registers Terminology
- 523 Device Registers — PF
- 523 MSI-X BAR Register Summary PF
- 523 Registers Summary PF — BAR
- 543 Detailed Register Descriptions — PF
- 734 Device Registers — VF
- 734 Registers Allocated Per Queue
- 734 Non-Queue Registers
- 735 MSI—X Register Summary VF — BAR
- 737 Registers Summary VF — BAR
- 739 Detailed Register Descriptions —VF
- 749 PCI Compatibility
- 750 Configuration Sharing Among PCI Functions
- 752 PCIe Register Map
- 752 Register Attributes
- 752 PCIe Configuration Space Summary
- 754 Mandatory PCI Configuration Registers — Except BARs
- 757 Subsystem ID Register (0x2E; RO)
- 757 Cap_Ptr Register (0x34; RO)
- 758 Mandatory PCI Configuration Registers — BARs
- 759 PCIe Capabilities
- 765 MSI-X Capability
- 770 VPD Registers
- 771 PCIe Configuration Registers
- 782 PCIe Extended Configuration Space
- 783 Advanced Error Reporting Capability (AER)
- 788 Serial Number
- 790 Alternate Routing ID Interpretation (ARI) Capability Structure
- 791 IOV Capability Structure
- 798 Virtual Functions Configuration Space
- 800 Mandatory Configuration Space
- 802 PCI Capabilities
- 805 10.1 Platform Configurations
- 805 On-Board BMC Configurations
- 806 82599 NIC
- 806 10.2 Pass Through (PT) Functionality
- 807 DMTF NC-SI Mode
- 809 SMBus Pass Through (PT) Functionality
- 813 10.3 Manageability Receive Filtering
- 813 Overview and General Structure
- 815 L2 EtherType Filters
- 815 VLAN Filters - Single and Double VLAN Cases
- 816 L3 and L4 Filters
- 818 Manageability Decision Filters
- 820 Possible Configurations
- 822 10.4 LinkSec and Manageability
- 823 Handover of LinkSec Responsibility Between BMC and Host
- 825 10.5 Manageability Programming Interfaces
- 825 NC-SI Programming
- 874 SMBus Programming
- 911 Manageability Host Interface
- 915 Software and Firmware Synchronization
- 919 11.1 Introduction
- 919 11.2 Operating Conditions
- 919 Absolute Maximum Ratings
- 920 Recommended Operating Conditions
- 920 11.3 Power Delivery
- 920 Power Supply Specifications
- 922 In-Rush Current
- 922 11.4 DC/AC Specification
- 922 DC Specifications
- 927 Digital I/F AC Specifications
- 938 PCIe Interface AC/DC Specification
- 938 Network (MAUI) Interface AC/DC Specification
- 940 SerDes Crystal/Reference Clock Specification
- 946 11.5 Package
- 946 Mechanical
- 946 Thermal
- 946 Electrical
- 947 Mechanical Package
- 947 11.6 Devices Supported
- 947 Flash
- 948 EEPROM
- 949 12.1 Connecting the PCIe Interface
- 949 Link Width Configuration
- 950 Polarity Inversion and Lane Reversal
- 950 PCIe Reference Clock
- 950 PCIe Analog Bias Resistor
- 950 Miscellaneous PCIe Signals
- 950 PCIe Layout Recommendations
- 951 12.2 Connecting the MAUI Interfaces
- 951 MAUI Channels Lane Connections
- 951 MAUI Bias Resistor
- 951 XAUI, KX/KR, BX4, CX4, BX and SFI+ Layout Recommendations
- 952 Board Stack-Up Example
- 952 Trace Geometries
- 953 Other High-Speed Signal Routing Practices
- 956 Reference Planes
- 958 Dielectric Weave Compensation
- 959 Impedance Discontinuities
- 959 Reducing Circuit Inductance
- 960 Signal Isolation
- 960 Power and Ground Planes
- 966 KR and SFI+ Recommended Simulations
- 967 Additional Differential Trace Layout Guidelines for SFI+ Boards
- 969 12.3 Connecting the Serial EEPROM
- 969 Supported EEPROM Devices
- 969 12.4 Connecting the Flash
- 970 Supported Flash Devices
- 970 12.5 SMBus and NC-SI
- 972 12.6 NC-SI
- 972 NC-SI Design Requirements
- 974 NC-SI Layout Requirements
- 978 12.7 Resets
- 979 12.8 Connecting the MDIO Interfaces
- 979 12.9 Connecting the Software-Definable Pins (SDPs)
- 980 12.10 Connecting the Light Emitting Diodes (LEDs)
- 980 12.11 Connecting Miscellaneous Signals
- 980 LAN Disable
- 981 BIOS Handling of Device Disable
- 982 12.12 Oscillator Design Considerations
- 982 Oscillator Types
- 983 Oscillator Solution
- 983 Oscillator Layout Recommendations
- 983 Reference Clock Measurement Recommendations
- 983 12.13 Power Supplies
- 984 Power Supply Sequencing
- 984 Power Supply Filtering
- 985 Support for Power Management and Wake Up
- 985 12.14 Connecting the JTAG Port
- 987 13.1 Thermal Considerations
- 988 13.2 Importance of Thermal Management
- 988 13.3 Packaging Terminology
- 989 13.4 Thermal Specifications
- 990 13.5 Case Temperature
- 990 13.6 Thermal Attributes
- 990 Designing for Thermal Performance
- 990 Model System Definition
- 991 Package Thermal Characteristics
- 992 13.7 Thermal Enhancements
- 992 13.8 Clearances
- 994 13.9 Default Enhanced Thermal Solution
- 995 13.10 Extruded Heatsinks
- 996 13.11 Attaching the Extruded Heatsink
- 996 Clips
- 996 Thermal Interface (PCM45 Series)
- 996 Avoid Damaging Die-Side Capacitors with Heat Sink Attached
- 997 Maximum Static Normal Load
- 998 13.12 Reliability
- 998 Thermal Interface Management for Heat-Sink Solutions
- 999 13.13 Measurements for Thermal Specifications
- 999 Case Temperature Measurements
- 1000 Attaching the Thermocouple (No Heatsink)
- 1000 Attaching the Thermocouple (Heatsink)
- 1001 13.14 Heatsink and Attach Suppliers
- 1002 13.15 PCB Guidelines
- 1003 14.1 Link Loopback Operations
- 1016 15.1 Register Attributes
- 1017 Legacy Packet Formats
- 1017 ARP Packet Formats
- 1019 IP and TCP/UDP Headers for TSO
- 1025 Magic Packet
- 1025 SNAP Packet Format
- 1025 Packet Types for Packet Split Filtering
- 1026 Type 1.1: Ethernet (VLAN/SNAP) IP Packets
- 1034 Type 2: Ethernet, Ipv
- 1037 Type 3: Reserved
- 1037 Type 4: NFS Packets
- 1042 IPsec Formats Run Over the Wire
- 1042 AH Formats
- 1046 ESP Formats
- 1051 BCN Frame Format
- 1052 FCoE Framing
- 1052 FCoE Frame Format
- 1055 FC Frame Format
- 1063 Background
- 1064 Location in the NVM
- 1063 375 mA
- 1063 20 mA
- 1063 375 mA
- 1063 20 mA
- 1064 Section