FreeBSD kernel /amd64 XEN device code
xnb_pkt Struct Reference

Data Fields

RING_IDX car
 
RING_IDX cdr
 
netif_extra_info_t extra
 
uint16_t size
 
uint16_t car_size
 
uint16_t flags
 
uint16_t list_len
 
uint8_t error
 

Detailed Description

Representation of a xennet packet. Simplified version of a packet as stored in the Xen tx ring. Applicable to both RX and TX packets

Definition at line 201 of file netback.c.

Field Documentation

◆ car

◆ car_size

◆ cdr

RING_IDX xnb_pkt::cdr

Array index of the second data-bearing entry for this packet. Invalid if the packet has only one data-bearing entry. If the packet has more than two data-bearing entries, then the second through the last will be sequential modulo the ring size

Definition at line 214 of file netback.c.

Referenced by xnb_dump_pkt(), xnb_mbufc2pkt(), xnb_mbufc2pkt_2short(), xnb_mbufc2pkt_extra(), xnb_mbufc2pkt_long(), xnb_ring2pkt(), xnb_ring2pkt_2req(), xnb_ring2pkt_3req(), xnb_ring2pkt_extra(), xnb_ring2pkt_wraps(), xnb_rxpkt2gnttab(), and xnb_txpkt2gnttab().

◆ error

uint8_t xnb_pkt::error

There was an error processing the packet

Definition at line 244 of file netback.c.

Referenced by xnb_dump_pkt(), xnb_pkt_invalidate(), xnb_pkt_is_valid(), xnb_pkt_validate(), and xnb_send().

◆ extra

netif_extra_info_t xnb_pkt::extra

Optional extra info. Only valid if flags contains NETTXF_extra_info. Note that extra.type will always be XEN_NETIF_EXTRA_TYPE_GSO. Currently, no known netfront or netback driver will ever set XEN_NETIF_EXTRA_TYPE_MCAST_*

Definition at line 222 of file netback.c.

Referenced by xnb_mbufc2pkt(), xnb_mbufc2pkt_extra(), xnb_ring2pkt(), xnb_ring2pkt_extra(), and xnb_rxpkt2rsp().

◆ flags

uint16_t xnb_pkt::flags

◆ list_len

uint16_t xnb_pkt::list_len

The number of valid data-bearing entries (either netif_tx_request's or netif_rx_response's) in the packet. If this is 0, it means the entire packet is invalid.

Definition at line 241 of file netback.c.

Referenced by xnb_dump_pkt(), xnb_mbufc2pkt(), xnb_mbufc2pkt_1cluster(), xnb_mbufc2pkt_2short(), xnb_mbufc2pkt_short(), xnb_pkt2mbufc_empty(), xnb_ring2pkt(), xnb_ring2pkt_1req(), xnb_ring2pkt_2req(), xnb_ring2pkt_3req(), xnb_ring2pkt_extra(), xnb_ring2pkt_wraps(), xnb_txpkt2gnttab_empty(), xnb_txpkt2rsp(), and xnb_txpkt2rsp_emptypkt().

◆ size


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