Maxim-integrated 78Q8430 Software Driver Manual de usuario Pagina 30

  • Descarga
  • Añadir a mis manuales
  • Imprimir
  • Pagina
    / 54
  • Tabla de contenidos
  • MARCADORES
  • Valorado. / 5. Basado en revisión del cliente
Vista de pagina 29
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
Vista de pagina 29
1 2 ... 25 26 27 28 29 30 31 32 33 34 35 ... 53 54

Comentarios a estos manuales

Sin comentarios