Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/hyperv/netvsc/if_hnvar.h
Show First 20 Lines • Show All 119 Lines • ▼ Show 20 Lines | #endif | ||||
struct hn_softc *hn_sc; | struct hn_softc *hn_sc; | ||||
struct vmbus_channel *hn_chan; | struct vmbus_channel *hn_chan; | ||||
int hn_direct_tx_size; | int hn_direct_tx_size; | ||||
int hn_chim_size; | int hn_chim_size; | ||||
bus_dma_tag_t hn_tx_data_dtag; | bus_dma_tag_t hn_tx_data_dtag; | ||||
uint64_t hn_csum_assist; | uint64_t hn_csum_assist; | ||||
/* Applied packet transmission aggregation limits. */ | |||||
int hn_agg_szmax; | |||||
short hn_agg_pktmax; | |||||
short hn_agg_align; | |||||
/* Packet transmission aggregation states. */ | |||||
struct hn_txdesc *hn_agg_txd; | |||||
int hn_agg_szleft; | |||||
short hn_agg_pktleft; | |||||
struct rndis_packet_msg *hn_agg_prevpkt; | |||||
/* Temporary stats for each sends. */ | |||||
int hn_stat_size; | |||||
short hn_stat_pkts; | |||||
short hn_stat_mcasts; | |||||
int (*hn_sendpkt)(struct hn_tx_ring *, struct hn_txdesc *); | int (*hn_sendpkt)(struct hn_tx_ring *, struct hn_txdesc *); | ||||
int hn_suspended; | int hn_suspended; | ||||
int hn_gpa_cnt; | int hn_gpa_cnt; | ||||
struct vmbus_gpa hn_gpa[HN_GPACNT_MAX]; | struct vmbus_gpa hn_gpa[HN_GPACNT_MAX]; | ||||
u_long hn_no_txdescs; | u_long hn_no_txdescs; | ||||
u_long hn_send_failed; | u_long hn_send_failed; | ||||
u_long hn_txdma_failed; | u_long hn_txdma_failed; | ||||
u_long hn_tx_collapsed; | u_long hn_tx_collapsed; | ||||
u_long hn_tx_chimney_tried; | u_long hn_tx_chimney_tried; | ||||
u_long hn_tx_chimney; | u_long hn_tx_chimney; | ||||
u_long hn_pkts; | u_long hn_pkts; | ||||
u_long hn_sends; | |||||
u_long hn_flush_failed; | |||||
/* Rarely used stuffs */ | /* Rarely used stuffs */ | ||||
struct hn_txdesc *hn_txdesc; | struct hn_txdesc *hn_txdesc; | ||||
bus_dma_tag_t hn_tx_rndis_dtag; | bus_dma_tag_t hn_tx_rndis_dtag; | ||||
struct sysctl_oid *hn_tx_sysctl_tree; | struct sysctl_oid *hn_tx_sysctl_tree; | ||||
} __aligned(CACHE_LINE_SIZE); | } __aligned(CACHE_LINE_SIZE); | ||||
#define HN_TX_FLAG_ATTACHED 0x1 | #define HN_TX_FLAG_ATTACHED 0x1 | ||||
Show All 27 Lines | struct hn_softc { | ||||
int hn_cpu; | int hn_cpu; | ||||
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_rx_filter; | uint32_t hn_rx_filter; | ||||
/* Packet transmission aggregation user settings. */ | |||||
int hn_agg_size; | |||||
int hn_agg_pkts; | |||||
struct taskqueue *hn_mgmt_taskq; | struct taskqueue *hn_mgmt_taskq; | ||||
struct taskqueue *hn_mgmt_taskq0; | struct taskqueue *hn_mgmt_taskq0; | ||||
struct task hn_link_task; | struct task hn_link_task; | ||||
struct task hn_netchg_init; | struct task hn_netchg_init; | ||||
struct timeout_task hn_netchg_status; | struct timeout_task hn_netchg_status; | ||||
uint32_t hn_link_flags; /* HN_LINK_FLAG_ */ | uint32_t hn_link_flags; /* HN_LINK_FLAG_ */ | ||||
uint32_t hn_caps; /* HN_CAP_ */ | uint32_t hn_caps; /* HN_CAP_ */ | ||||
uint32_t hn_flags; /* HN_FLAG_ */ | uint32_t hn_flags; /* HN_FLAG_ */ | ||||
void *hn_rxbuf; | void *hn_rxbuf; | ||||
uint32_t hn_rxbuf_gpadl; | uint32_t hn_rxbuf_gpadl; | ||||
struct hyperv_dma hn_rxbuf_dma; | struct hyperv_dma hn_rxbuf_dma; | ||||
uint32_t hn_chim_gpadl; | uint32_t hn_chim_gpadl; | ||||
struct hyperv_dma hn_chim_dma; | struct hyperv_dma hn_chim_dma; | ||||
uint32_t hn_rndis_rid; | uint32_t hn_rndis_rid; | ||||
uint32_t hn_ndis_ver; | uint32_t hn_ndis_ver; | ||||
int hn_ndis_tso_szmax; | int hn_ndis_tso_szmax; | ||||
int hn_ndis_tso_sgmin; | int hn_ndis_tso_sgmin; | ||||
uint32_t hn_rndis_agg_size; | |||||
uint32_t hn_rndis_agg_pkts; | |||||
uint32_t hn_rndis_agg_align; | |||||
int hn_rss_ind_size; | int hn_rss_ind_size; | ||||
uint32_t hn_rss_hash; /* NDIS_HASH_ */ | uint32_t hn_rss_hash; /* NDIS_HASH_ */ | ||||
struct ndis_rssprm_toeplitz hn_rss; | struct ndis_rssprm_toeplitz hn_rss; | ||||
}; | }; | ||||
#define HN_FLAG_RXBUF_CONNECTED 0x0001 | #define HN_FLAG_RXBUF_CONNECTED 0x0001 | ||||
#define HN_FLAG_CHIM_CONNECTED 0x0002 | #define HN_FLAG_CHIM_CONNECTED 0x0002 | ||||
Show All 24 Lines |