Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/hyperv/netvsc/hv_net_vsc.h
Show First 20 Lines • Show All 221 Lines • ▼ Show 20 Lines | typedef struct netvsc_dev_ { | ||||
void *send_buf; | void *send_buf; | ||||
uint32_t send_buf_size; | uint32_t send_buf_size; | ||||
uint32_t send_buf_gpadl_handle; | uint32_t send_buf_gpadl_handle; | ||||
uint32_t send_section_size; | uint32_t send_section_size; | ||||
uint32_t send_section_count; | uint32_t send_section_count; | ||||
unsigned long bitsmap_words; | unsigned long bitsmap_words; | ||||
unsigned long *send_section_bitsmap; | unsigned long *send_section_bitsmap; | ||||
/* Receive buffer allocated by us but managed by NetVSP */ | |||||
void *rx_buf; | |||||
uint32_t rx_buf_size; | |||||
uint32_t rx_buf_gpadl_handle; | |||||
uint32_t rx_section_count; | |||||
/* Holds rndis device info */ | /* Holds rndis device info */ | ||||
void *extension; | void *extension; | ||||
struct hyperv_dma rxbuf_dma; | |||||
struct hyperv_dma txbuf_dma; | struct hyperv_dma txbuf_dma; | ||||
} netvsc_dev; | } netvsc_dev; | ||||
struct vmbus_channel; | struct vmbus_channel; | ||||
typedef void (*pfn_on_send_rx_completion)(struct vmbus_channel *, void *); | typedef void (*pfn_on_send_rx_completion)(struct vmbus_channel *, void *); | ||||
#define NETVSC_DEVICE_RING_BUFFER_SIZE (128 * PAGE_SIZE) | #define NETVSC_DEVICE_RING_BUFFER_SIZE (128 * PAGE_SIZE) | ||||
Show All 33 Lines | |||||
#endif | #endif | ||||
struct hn_tx_ring; | struct hn_tx_ring; | ||||
struct hn_rx_ring { | struct hn_rx_ring { | ||||
struct ifnet *hn_ifp; | struct ifnet *hn_ifp; | ||||
struct hn_tx_ring *hn_txr; | struct hn_tx_ring *hn_txr; | ||||
void *hn_rdbuf; | void *hn_rdbuf; | ||||
uint8_t *hn_rxbuf; /* shadow sc->hn_rxbuf */ | |||||
int hn_rx_idx; | int hn_rx_idx; | ||||
/* Trust csum verification on host side */ | /* Trust csum verification on host side */ | ||||
int hn_trust_hcsum; /* HN_TRUST_HCSUM_ */ | int hn_trust_hcsum; /* HN_TRUST_HCSUM_ */ | ||||
struct lro_ctrl hn_lro; | struct lro_ctrl hn_lro; | ||||
u_long hn_csum_ip; | u_long hn_csum_ip; | ||||
u_long hn_csum_tcp; | u_long hn_csum_tcp; | ||||
▲ Show 20 Lines • Show All 93 Lines • ▼ Show 20 Lines | typedef struct hn_softc { | ||||
int hn_cpu; | int hn_cpu; | ||||
int hn_tx_chimney_max; | int hn_tx_chimney_max; | ||||
struct taskqueue *hn_tx_taskq; | struct taskqueue *hn_tx_taskq; | ||||
struct sysctl_oid *hn_tx_sysctl_tree; | struct sysctl_oid *hn_tx_sysctl_tree; | ||||
struct sysctl_oid *hn_rx_sysctl_tree; | struct sysctl_oid *hn_rx_sysctl_tree; | ||||
struct vmbus_xact_ctx *hn_xact; | struct vmbus_xact_ctx *hn_xact; | ||||
uint32_t hn_nvs_ver; | uint32_t hn_nvs_ver; | ||||
uint32_t hn_flags; | |||||
void *hn_rxbuf; | |||||
uint32_t hn_rxbuf_gpadl; | |||||
struct hyperv_dma hn_rxbuf_dma; | |||||
} hn_softc_t; | } hn_softc_t; | ||||
#define HN_FLAG_RXBUF_CONNECTED 0x0001 | |||||
/* | /* | ||||
* Externs | * Externs | ||||
*/ | */ | ||||
extern int hv_promisc_mode; | extern int hv_promisc_mode; | ||||
struct hn_send_ctx; | struct hn_send_ctx; | ||||
void netvsc_linkstatus_callback(struct hn_softc *sc, uint32_t status); | void netvsc_linkstatus_callback(struct hn_softc *sc, uint32_t status); | ||||
Show All 12 Lines |