| Main index | Section 9 | Options |
#include <ifdi_if.h>
| ipi_len | |
| (uint32_t) Denotes the size of packet to be sent on the transmit queue. | |
| ipi_segs | |
| (bus_dma_segment_t *) A pointer to the bus_dma_segment of the device independent transfer queue defined in iflib. | |
| ipi_qsidx | |
| Unique index value assigned sequentially to each transmit queue. Used to reference the currently transmitting queue. | |
| ipi_nsegs | |
| (uint16_t) Number of descriptors to be read into the device dependent transfer descriptors. | |
| ipi_ndescs | |
| (uint16_t) Number of descriptors in use. Calculated by subtracting the old pidx value from the new pidx value. | |
| ipi_flags | |
| (uint16_t) Flags defined on a per packet basis. | |
| ipi_pidx | |
| (uint32_t) Value of first pidx sent to the isc_encap function for encapsulation and subsequent transmission. | |
| ipi_new_pidx | |
| (uint32_t) Value set after the termination of the isc_encap function. This value will become the first pidx sent to the isc-encap the next time that the function is called. | |
| The Following Fields Are Used For Offload Handling
ipi_csum_flags | |
| (uint64_t) Flags describing the checksum values, used on a per packet basis. | |
| ipi_tso_segsz | |
| (uint16_t) Size of the TSO Segment Size. | |
| ipi_mflags | |
| (uint16_t) Flags describing the operational parameters of the mbuf. | |
| ipi_vtag | |
| (uint16_t) Contains the VLAN information in the Ethernet Frame. | |
| ipi_etype | |
| (uint16_t) Type of ethernet header protocol as contained by the struct ether_vlan_header. | |
| ipi_ehrdlen | |
| (uint8_t) Length of the Ethernet Header. | |
| ipi_ip_hlen | |
| (uint8_t) Length of the TCP Header | |
| ipi_tcp_hlen | |
| (uint8_t) Length of the TCP Header. | |
| ipi_tcp_hflags | |
| (uint8_t) Flags describing the operational parameters of the TCP Header. | |
| ipi_ipproto | |
| (uint8_t) Specifies the type of IP Protocol in use. Example TCP, UDP, or SCTP. | |
| iri_qsidx | |
| (uint16_t) Unique index value assigned sequentially to each receive queue. Used to reference the currently receiving queue. | |
| iri_vtag | |
| (uint16_t) Contains the VLAN information in the Ethernet Frame. | |
| iri_len | |
| (uint16_t) Denotes the size of a received packet. | |
| iri_next_offset | |
| (uint16_t) Denotes the offset value for the next packet to be receive. A Null value signifies the end of packet. | |
| iri_cidx | |
| (uint32_t) Denotes the index value of the packet currently being processed in the consumer queue. | |
| iri_flowid | |
| (uint32_t) Value of the RSS hash for the packet. | |
| iri_flags | |
|
(uint)
Flags describing the operational parameters of the mbuf contained in the receive packet. | |
| iri_csum_flags | |
| (uint32_t) Flags describing the checksum value contained in the receive packet. | |
| iri_csum_data | |
| (uint32_t) Checksum data contained in the mbuf(9) packet header. | |
| iri_m | |
| (struct mbuf *) A mbuf for drivers that manage their own receive queues. | |
| iri_ifp | |
| (struct ifnet *) A link back to the interface structure. Utilized by drivers that have multiple interface per softc. | |
| iri_rsstype | |
| (uint8_t) The value of the RSS hash type. | |
| iri_pad | |
| (uint8_t) The length of any padding contained by the received data. | |
| iri_qidx | |
| (uint8_t) Represents the type of queue event. If value >= 0 then it is the freelist id otherwise it is a completion queue event. | |
| isc_txd_encap() | Transmit function that sends a packet on an interface. The if_pkt_info data structure contains data information fields describing the packet. This function returns 0 if successful, otherwise an error value is returned. |
| isc_txd_flush() | Flush function is called immediately after the isc_txd_encap function transmits a packet. It updates the hardware producer index or increments the descriptors used to pidx_or_credits in the queue designated by the qid number. This is often referred to as poking the doorbell register. |
| isc_txd_credits_update() | Credit function advances the buffer ring and calculates the credits (descriptors) processed. Until the I/O is complete it cleans the range in case of multisegments and updates the count of processed packets. The function returns the number of processed credits. |
| isc_rxd_available() | Function calculates the remaining number of descriptors from a position given by idx. The function returns this value. |
| isc_rxd_refill() | Starting with the physical address paddrs, the function reads a packet into the rx_ring until a value designated by count is reached. vaddrs is typically not needed and is provided for devices that place their own metadata in the packet header. |
| isc_rxd_flush() | Flush function updates the producer pointer on the free list flid in queue set number qid to pidx to reflect the presence of new buffers. |
| isc_rxd_pkt_get() | Process a single software descriptor. rxr->rx_base[i] contains a descriptor that describes a received packet. Hardware specific information about the buffer referred to by ri is returned in the data structure if_rxd_info |
| IFLIBTXTX (9) | April 16, 2019 |
| Main index | Section 9 | Options |
Please direct any comments about this manual page service to Ben Bullock. Privacy policy.
| “ | I have a natural revulsion to any operating system that shows so little planning as to have to named all of its commands after digestive noises (awk, grep, fsck, nroff). | ” |