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

#include <vxge-config.h>

Data Fields

u64 control_0
 
u64 control_1
 
u64 buffer_pointer
 
u64 host_control
 

Detailed Description

struct vxge_hw_fifo_txd - Transmit Descriptor : Bits 0 to 6 - Reserved. Bit 7 - List Ownership. This field should be initialized to '1' by the driver before the transmit list pointer is written to the adapter. This field will be set to '0' by the adapter once it has completed transmitting the frame or frames in the list. Note - This field is only valid in TxD0. Additionally, for multi-list sequences, the driver should not release any buffers until the ownership of the last list in the multi-list sequence has been returned to the host. Bits 8 to 11 - Reserved Bits 12 to 15 - Transfer_Code. This field is only valid in TxD0. It is used to describe the status of the transmit data buffer transfer. This field is always overwritten by the adapter, so this field may be initialized to any value. Bits 16 to 17 - Host steering. This field allows the host to override the selection of the physical transmit port. Attention: Normal sounds as if learned from the switch rather than from the aggregation algorythms. 00: Normal. Use Destination/MAC Address lookup to determine the transmit port. 01: Send on physical Port1. 10: Send on physical Port0. 11: Send on both ports. Bits 18 to 21 - Reserved Bits 22 to 23 - Gather_Code. This field is set by the host and is used to describe how individual buffers comprise a frame. 10: First descriptor of a frame. 00: Middle of a multi-descriptor frame. 01: Last descriptor of a frame. 11: First and last descriptor of a frame (the entire frame resides in a single buffer). For multi-descriptor frames, the only valid gather code sequence is {10, [00], 01}. In other words, the descriptors must be placed in the list in the correct order. Bits 24 to 27 - Reserved Bits 28 to 29 - LSO_Frm_Encap. LSO Frame Encapsulation definition. Only valid in TxD0. This field allows the host to indicate the Ethernet encapsulation of an outbound LSO packet. 00 - classic mode (best guess) 01 - LLC 10 - SNAP 11 - DIX If "classic mode" is selected, the adapter will attempt to decode the frame's Ethernet encapsulation by examining the L/T field as follows: <= 0x05DC LLC/SNAP encoding; must examine DSAP/SSAP to determine if packet is IPv4 or IPv6. 0x8870 Jumbo-SNAP encoding. 0x0800 IPv4 DIX encoding 0x86DD IPv6 DIX encoding others illegal encapsulation Bits 30 - LSO_ Flag. Large Send Offload (LSO) flag. Set to 1 to perform segmentation offload for TCP/UDP. This field is valid only in TxD0. Bits 31 to 33 - Reserved. Bits 34 to 47 - LSO_MSS. TCP/UDP LSO Maximum Segment Size This field is meaningful only when LSO_Control is non-zero. When LSO_Control is set to TCP_LSO, the single (possibly large) TCP segment described by this TxDL will be sent as a series of TCP segments each of which contains no more than LSO_MSS payload bytes. When LSO_Control is set to UDP_LSO, the single (possibly large) UDP datagram described by this TxDL will be sent as a series of UDP datagrams each of which contains no more than LSO_MSS payload bytes. All outgoing frames from this TxDL will have LSO_MSS bytes of UDP or TCP payload, with the exception of the last, which will have <= LSO_MSS bytes of payload. Bits 48 to 63 - Buffer_Size. Number of valid bytes in the buffer to be read by the adapter. This field is written by the host. A value of 0 is illegal. Bits 32 to 63 - This value is written by the adapter upon completion of a UDP or TCP LSO operation and indicates the number of UDP or TCP payload bytes that were transmitted. 0x0000 will be returned for any non-LSO operation. : Bits 0 to 4 - Reserved. Bit 5 - Tx_CKO_IPv4 Set to a '1' to enable IPv4 header checksum offload. This field is only valid in the first TxD of a frame. Bit 6 - Tx_CKO_TCP Set to a '1' to enable TCP checksum offload. This field is only valid in the first TxD of a frame (the TxD's gather code must be 10 or 11). The driver should only set this bit if it can guarantee that TCP is present. Bit 7 - Tx_CKO_UDP Set to a '1' to enable UDP checksum offload. This field is only valid in the first TxD of a frame (the TxD's gather code must be 10 or 11). The driver should only set this bit if it can guarantee that UDP is present. Bits 8 to 14 - Reserved. Bit 15 - Tx_VLAN_Enable VLAN tag insertion flag. Set to a '1' to instruct the adapter to insert the VLAN tag specified by the Tx_VLAN_Tag field. This field is only valid in the first TxD of a frame. Bits 16 to 31 - Tx_VLAN_Tag. Variable portion of the VLAN tag to be inserted into the frame by the adapter (the first two bytes of a VLAN tag are always 0x8100). This field is only valid if the Tx_VLAN_Enable field is set to '1'. Bits 32 to 33 - Reserved. Bits 34 to 39 - Tx_Int_Number. Indicates which Tx interrupt number the frame associated with. This field is written by the host. It is only valid in the first TxD of a frame. Bits 40 to 42 - Reserved. Bit 43 - Set to 1 to exclude the frame from bandwidth metering functions. This field is valid only in the first TxD of a frame. Bits 44 to 45 - Reserved. Bit 46 - Tx_Int_Per_List Set to a '1' to instruct the adapter to generate an interrupt as soon as all of the frames in the list have been transmitted. In order to have per-frame interrupts, the driver should place a maximum of one frame per list. This field is only valid in the first TxD of a frame. Bit 47 - Tx_Int_Utilization Set to a '1' to instruct the adapter to count the frame toward the utilization interrupt specified in the Tx_Int_Number field. This field is only valid in the first TxD of a frame. Bits 48 to 63 - Reserved. : Buffer start address. : Host_Control.Opaque 64bit data stored by driver inside the Titan descriptor prior to posting the latter on the fifo via vxge_hw_fifo_txdl_post().The host_control is returned as is to the driver with each completed descriptor.

Transmit descriptor (TxD).Fifo descriptor contains configured number (list) of TxDs. * For more details please refer to Titan User Guide, Section 5.4.2 "Transmit Descriptor (TxD) Format".

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

Field Documentation

u64 buffer_pointer

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

u64 control_0

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

u64 control_1

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

u64 host_control

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


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