4 transfer frame, Transfer frame, Transmit arp response – Maxim Integrated 78Q8430 Software Driver User Manual
Page 30: Table 5: arp frame contents

78Q8430 Software Driver Development Guidelines
UG_8430_004
STEP 5: Check transmit QUE size for excessive use.
The only appropriate response to a full transmit QUE is for the driver to stop loading the transmit QUE
for some amount of time while the transmitter catches up. The driver should verify that the QSR QDR
bit for the transmit QUE is set. If the QDR bit is not set but should be based on the QSR Mode and
Threshold settings, or the QDR bit is set but the transmit QUE memory usage is not decreasing over
time, the QUE may be stalled. A stalled transmit QUE requires a software reset.
5.4 Transfer
Frame
The software driver can offload ARP responses and ICMP echo replies from the IP stack using the
transfer frame feature. Once the driver discovers that the frame is an ARP request or ICMP echo
request, the SNOOP feature is used to modify the frame while it is still in the receive QUE. Once the
frame is converted from a request into the appropriate response, the transfer frame feature is used to
transfer the entire frame from the receive QUE to a transmit QUE where it is transmitted out without any
involvement of the IP stack.
Refer to the “Snoop Mode Access” section in the 78Q8430 Data Sheet for additional information on the
SNOOP feature.
5.4.1 Transmit ARP Response
Table 5 illustrates the contents of an ARP frame. The bottom row of the table contains the SNOOP
addresses used to access the ARP frame fields above them. All table values are hexadecimal.
Table 5: ARP Frame Contents
Dest.
Addr.
Src.
Addr.
Type
ETH/IP Addr.
Code Size
Opcode
1
HW
Src.
Prot.
Src
HW
Dest.
2
Prot.
Dest.
PADF
CS
6 Bytes
6 Bytes
08 06
00 01 08 00 06 04
00 0?
6 Bytes
4 Bytes
6 Bytes
4 Bytes
22 Bytes
304 308 30C
310
314
318
31C 320
324
328
32C
1
The Opcode field is 0x0001 for a request and 0x0002 for a response.
2
Typically, the hardware destination address is unknown in an ARP request. In this case the HW Dest.
field is filled with zeros.
Use the following procedure to transmit an ARP response in reply to an ARP request:
STEP 1: Get the BLOCK number that contains the ARP request.
When the ARP request is the next frame in the receive QUE, the QUE 0 QFLR First field contains the
BLOCK number of the frame.
STEP 2: Configure SNOOP to access the ARP request frame.
Write the value contained in the QFLR First field (from STEP 1) to the SNCR BLOCK field to
configure the SNOOP interface to access the ARP request frame.
STEP 3: Use SNOOP access to retrieve the ARP Opcode field.
The two LSBs of SNOOP address 0x318 are the opcode. If the opcode is not 0x0001, the ARP is not
a request and the standard receive frame procedure is used to pass the frame up to the stack,
otherwise, proceed to STEP 4.
STEP 4: Use SNOOP access to retrieve the ARP protocol destination address field.
The two MSBs of SNOOP address 0x328 and the two LSBs of SNOOP address 0x32C contain the
destination IP address. If the address is not one assigned to this interface, use the host drop
procedure to drop the frame, otherwise, continue to STEP 5.
30
Rev.
1.0