17#define NETFRONT_NUM_TX_DESC 16
20#define NETFRONT_NUM_RX_DESC 32
33#define NETFRONT_RX_FILL 18
113 unsigned int fill_level;
129 return ( ring->
count - netfront_ring_fill ( ring ) );
141 return ( netfront_ring_fill ( ring ) >= ring->
count );
153 return ( netfront_ring_fill ( ring ) == 0 );
193#define tx_sring tx.sring.tx
196#define rx_sring rx.sring.rx
#define assert(condition)
Assert a condition at run-time.
static unsigned int unsigned int size_t uint8_t * ids
static unsigned int count
Number of entries.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
static const char grant_ref_t ref
static const char * ref_key
#define NETFRONT_NUM_RX_DESC
Number of receive ring entries.
netfront_ref_index
Grant reference indices.
@ NETFRONT_REF_TX_RING
Transmit ring grant reference index.
@ NETFRONT_REF_COUNT
Total number of grant references required.
@ NETFRONT_REF_TX_BASE
Transmit descriptor grant reference base index.
@ NETFRONT_REF_RX_RING
Receive ring grant reference index.
@ NETFRONT_REF_RX_BASE
Receive descriptor grant reference base index.
#define NETFRONT_NUM_TX_DESC
Number of transmit ring entries.
static const char grant_ref_t unsigned int struct io_buffer grant_ref_t * refs
static const char grant_ref_t unsigned int struct io_buffer ** iobufs
A doubly-linked list entry (or list head)
grant_ref_t refs[NETFRONT_REF_COUNT]
Grant references.
uint8_t rx_ids[NETFRONT_NUM_RX_DESC]
Receive I/O buffer IDs.
struct io_buffer * tx_iobufs[NETFRONT_NUM_TX_DESC]
Transmit I/O buffers.
netif_tx_front_ring_t tx_fring
Transmit front ring.
struct xen_device * xendev
Xen device.
struct list_head rx_partial
Partial receive I/O buffer list.
struct net_device * netdev
Network device.
struct io_buffer * rx_iobufs[NETFRONT_NUM_RX_DESC]
Receive I/O buffers.
struct evtchn_send event
Event channel.
struct netfront_ring rx
Receive ring.
netif_rx_front_ring_t rx_fring
Receive front ring.
uint8_t tx_ids[NETFRONT_NUM_TX_DESC]
Transmit I/O buffer IDs.
struct list_head list
List of netfront NICs.
struct netfront_ring tx
Transmit ring.
A netfront descriptor ring.
netif_rx_sring_t * rx
Receive shared ring.
grant_ref_t * refs
Grant references, indexed by buffer ID.
size_t count
Maximum number of used descriptors.
uint8_t * ids
Buffer ID ring.
netif_tx_sring_t * tx
Transmit shared ring.
struct io_buffer ** iobufs
I/O buffers, indexed by buffer ID.
unsigned int id_prod
Buffer ID ring producer counter.
const char * ref_key
Shared ring grant reference key.
unsigned int id_cons
Buffer ID ring consumer counter.
grant_ref_t ref
Shared ring grant reference.
union netfront_ring::@235351263275146342264217234007371176021305365026 sring
Shared ring.