Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
vxge_hw_ring_rxd_1 Struct Reference

#include <vxge-config.h>

Data Fields

u64 host_control
 
u64 control_0
 
u64 control_1
 
u64 buffer0_ptr
 

Detailed Description

struct vxge_hw_ring_rxd_1 - One buffer mode RxD for ring : This field is exclusively for host use and is "readonly" from the adapter's perspective. :Bits 0 to 6 - RTH_Bucket get Bit 7 - Own Descriptor ownership bit. This bit is set to 1 by the host, and is set to 0 by the adapter. 0 - Host owns RxD and buffer. 1 - The adapter owns RxD and buffer. Bit 8 - Fast_Path_Eligible When set, indicates that the received frame meets all of the criteria for fast path processing. The required criteria are as follows: !SYN & (Transfer_Code == "Transfer OK") & (!Is_IP_Fragment) & ((Is_IPv4 & computed_L3_checksum == 0xFFFF) | (Is_IPv6)) & ((Is_TCP & computed_L4_checksum == 0xFFFF) | (Is_UDP & (computed_L4_checksum == 0xFFFF | computed _L4_checksum == 0x0000))) (same meaning for all RxD buffer modes) Bit 9 - L3 Checksum Correct Bit 10 - L4 Checksum Correct Bit 11 - Reserved Bit 12 to 15 - This field is written by the adapter. It is used to report the status of the frame transfer to the host. 0x0 - Transfer OK 0x4 - RDA Failure During Transfer 0x5 - Unparseable Packet, such as unknown IPv6 header. 0x6 - Frame integrity error (FCS or ECC). 0x7 - Buffer Size Error. The provided buffer(s) were not appropriately sized and data loss occurred. 0x8 - Internal ECC Error. RxD corrupted. 0x9 - IPv4 Checksum error 0xA - TCP/UDP Checksum error 0xF - Unknown Error or Multiple Error. Indicates an unknown problem or that more than one of transfer codes is set. Bit 16 - SYN The adapter sets this field to indicate that the incoming frame contained a TCP segment with its SYN bit set and its ACK bit NOT set. (same meaning for all RxD buffer modes) Bit 17 - Is ICMP Bit 18 - RTH_SPDM_HIT Set to 1 if there was a match in the Socket Pair Direct Match Table and the frame was steered based on SPDM. Bit 19 - RTH_IT_HIT Set to 1 if there was a match in the Indirection Table and the frame was steered based on hash indirection. Bit 20 to 23 - RTH_HASH_TYPE Indicates the function (hash type) that was used to calculate the hash. Bit 19 - IS_VLAN Set to '1' if the frame was/is VLAN tagged. Bit 25 to 26 - ETHER_ENCAP Reflects the Ethernet encapsulation of the received frame. 0x0 - Ethernet DIX 0x1 - LLC 0x2 - SNAP (includes Jumbo-SNAP) 0x3 - IPX Bit 27 - IS_IPV4 Set to '1' if the frame contains an IPv4 packet. Bit 28 - IS_IPV6 Set to '1' if the frame contains an IPv6 packet. Bit 29 - IS_IP_FRAG Set to '1' if the frame contains a fragmented IP packet. Bit 30 - IS_TCP Set to '1' if the frame contains a TCP segment. Bit 31 - IS_UDP Set to '1' if the frame contains a UDP message. Bit 32 to 47 - L3_Checksum[0:15] The IPv4 checksum value that arrived with the frame. If the resulting computed IPv4 header checksum for the frame did not produce the expected 0xFFFF value, then the transfer code would be set to 0x9. Bit 48 to 63 - L4_Checksum[0:15] The TCP/UDP checksum value that arrived with the frame. If the resulting computed TCP/UDP checksum for the frame did not produce the expected 0xFFFF value, then the transfer code would be set to 0xA. :Bits 0 to 1 - Reserved Bits 2 to 15 - Buffer0_Size.This field is set by the host and eventually overwritten by the adapter. The host writes the available buffer size in bytes when it passes the descriptor to the adapter. When a frame is delivered the host, the adapter populates this field with the number of bytes written into the buffer. The largest supported buffer is 16, 383 bytes. Bit 16 to 47 - RTH Hash Value 32-bit RTH hash value. Only valid if RTH_HASH_TYPE (Control_0, bits 20:23) is nonzero. Bit 48 to 63 - VLAN_Tag[0:15] The contents of the variable portion of the VLAN tag, if one was detected by the adapter. This field is populated even if VLAN-tag stripping is enabled. : Pointer to buffer. This field is populated by the driver.

One buffer mode RxD for ring structure

Definition at line 1385 of file vxge-config.h.

Field Documentation

u64 buffer0_ptr

Definition at line 1433 of file vxge-config.h.

u64 control_0

Definition at line 1387 of file vxge-config.h.

u64 control_1

Definition at line 1423 of file vxge-config.h.

u64 host_control

Definition at line 1386 of file vxge-config.h.


The documentation for this struct was generated from the following file: