Struct intel_ethernet::descriptors::AdvancedRxDescriptor
source · #[repr(C)]pub struct AdvancedRxDescriptor {
pub packet_buffer_address: Volatile<u64>,
pub header_buffer_address: Volatile<u64>,
}
Expand description
Advanced Receive Descriptor used in the Ixgbe driver. It has 2 modes: Read and Write Back, both of which use the whole 128 bits. There is one receive descriptor per receive buffer that can be converted between these 2 modes. Read contains the addresses that the driver writes. Write Back contains information the hardware writes on receiving a packet. More information can be found in the 82599 datasheet.
Fields§
§packet_buffer_address: Volatile<u64>
Starting physcal address of the receive buffer for the packet.
header_buffer_address: Volatile<u64>
Starting physcal address of the receive buffer for the header. This field will only be used if header splitting is enabled.
Implementations§
source§impl AdvancedRxDescriptor
impl AdvancedRxDescriptor
sourcepub fn get_rss_type(&self) -> u64
pub fn get_rss_type(&self) -> u64
Write Back mode function for the Advanced Receive Descriptor. Returns the packet type that was used for the Receive Side Scaling hash function.
sourcepub fn get_packet_type(&self) -> u64
pub fn get_packet_type(&self) -> u64
Write Back mode function for the Advanced Receive Descriptor. Returns the packet type as identified by the hardware.
sourcepub fn get_rsccnt(&self) -> u64
pub fn get_rsccnt(&self) -> u64
Write Back mode function for the Advanced Receive Descriptor. Returns the number of Receive Side Coalesced packets that start in this descriptor.
sourcepub fn get_hdr_len(&self) -> u64
pub fn get_hdr_len(&self) -> u64
Write Back mode function for the Advanced Receive Descriptor. Returns the size of the packet header in bytes.
sourcepub fn get_sph(&self) -> bool
pub fn get_sph(&self) -> bool
Write Back mode function for the Advanced Receive Descriptor. When set to 1b, indicates that the hardware has found the length of the header.
sourcepub fn get_rss_hash(&self) -> u64
pub fn get_rss_hash(&self) -> u64
Write Back mode function for the Advanced Receive Descriptor. Returns the Receive Side Scaling hash.
sourcepub fn get_fdf_id(&self) -> u64
pub fn get_fdf_id(&self) -> u64
Write Back mode function for the Advanced Receive Descriptor. Returns the Flow Director Filter ID if the packet matches a filter.
sourcepub fn get_ext_status(&self) -> u64
pub fn get_ext_status(&self) -> u64
Write Back mode function for the Advanced Receive Descriptor. Status information indicates whether a descriptor has been used and whether the buffer is the last one for a packet
sourcepub fn get_ext_error(&self) -> u64
pub fn get_ext_error(&self) -> u64
Write Back mode function for the Advanced Receive Descriptor. Returns errors reported by hardware for different packet types
sourcepub fn get_pkt_len(&self) -> u64
pub fn get_pkt_len(&self) -> u64
Write Back mode function for the Advanced Receive Descriptor. Returns the number of bytes posted to the packet buffer
sourcepub fn get_vlan_tag(&self) -> u64
pub fn get_vlan_tag(&self) -> u64
Write Back mode function for the Advanced Receive Descriptor. If the vlan header is stripped from the packet, then the 16 bits of the VLAN tag are posted here