Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/hyperv/netvsc/if_hnvar.h
Show First 20 Lines • Show All 168 Lines • ▼ Show 20 Lines | |||||
#define HN_TX_FLAG_ATTACHED 0x0001 | #define HN_TX_FLAG_ATTACHED 0x0001 | ||||
#define HN_TX_FLAG_HASHVAL 0x0002 /* support HASHVAL pktinfo */ | #define HN_TX_FLAG_HASHVAL 0x0002 /* support HASHVAL pktinfo */ | ||||
/* | /* | ||||
* Device-specific softc structure | * Device-specific softc structure | ||||
*/ | */ | ||||
struct hn_softc { | struct hn_softc { | ||||
struct ifnet *hn_ifp; | struct ifnet *hn_ifp; | ||||
struct ifnet *hn_vf_ifp; /* SR-IOV VF */ | |||||
struct ifmedia hn_media; | struct ifmedia hn_media; | ||||
device_t hn_dev; | device_t hn_dev; | ||||
int hn_if_flags; | int hn_if_flags; | ||||
struct sx hn_lock; | struct sx hn_lock; | ||||
struct vmbus_channel *hn_prichan; | struct vmbus_channel *hn_prichan; | ||||
int hn_rx_ring_cnt; | int hn_rx_ring_cnt; | ||||
int hn_rx_ring_inuse; | int hn_rx_ring_inuse; | ||||
struct hn_rx_ring *hn_rx_ring; | struct hn_rx_ring *hn_rx_ring; | ||||
struct rmlock hn_vf_lock; | |||||
struct ifnet *hn_vf_ifp; /* SR-IOV VF */ | |||||
uint32_t hn_xvf_flags; /* transparent VF flags */ | |||||
int hn_tx_ring_cnt; | int hn_tx_ring_cnt; | ||||
int hn_tx_ring_inuse; | int hn_tx_ring_inuse; | ||||
struct hn_tx_ring *hn_tx_ring; | struct hn_tx_ring *hn_tx_ring; | ||||
uint8_t *hn_chim; | uint8_t *hn_chim; | ||||
u_long *hn_chim_bmap; | u_long *hn_chim_bmap; | ||||
int hn_chim_bmap_cnt; | int hn_chim_bmap_cnt; | ||||
int hn_chim_cnt; | int hn_chim_cnt; | ||||
Show All 40 Lines | struct hn_softc { | ||||
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; | ||||
eventhandler_tag hn_ifaddr_evthand; | eventhandler_tag hn_ifaddr_evthand; | ||||
eventhandler_tag hn_ifnet_evthand; | eventhandler_tag hn_ifnet_evthand; | ||||
eventhandler_tag hn_ifnet_atthand; | eventhandler_tag hn_ifnet_atthand; | ||||
eventhandler_tag hn_ifnet_dethand; | eventhandler_tag hn_ifnet_dethand; | ||||
eventhandler_tag hn_ifnet_lnkhand; | |||||
/* | |||||
* Transparent VF delayed initialization. | |||||
*/ | |||||
int hn_vf_rdytick; /* ticks, 0 == ready */ | |||||
struct taskqueue *hn_vf_taskq; | |||||
struct timeout_task hn_vf_init; | |||||
/* | |||||
* Saved information for VF under transparent mode. | |||||
*/ | |||||
void (*hn_vf_input) | |||||
(struct ifnet *, struct mbuf *); | |||||
int hn_saved_caps; | |||||
u_int hn_saved_tsomax; | |||||
u_int hn_saved_tsosegcnt; | |||||
u_int hn_saved_tsosegsz; | |||||
}; | }; | ||||
#define HN_FLAG_RXBUF_CONNECTED 0x0001 | #define HN_FLAG_RXBUF_CONNECTED 0x0001 | ||||
#define HN_FLAG_CHIM_CONNECTED 0x0002 | #define HN_FLAG_CHIM_CONNECTED 0x0002 | ||||
#define HN_FLAG_HAS_RSSKEY 0x0004 | #define HN_FLAG_HAS_RSSKEY 0x0004 | ||||
#define HN_FLAG_HAS_RSSIND 0x0008 | #define HN_FLAG_HAS_RSSIND 0x0008 | ||||
#define HN_FLAG_SYNTH_ATTACHED 0x0010 | #define HN_FLAG_SYNTH_ATTACHED 0x0010 | ||||
#define HN_FLAG_NO_SLEEPING 0x0020 | #define HN_FLAG_NO_SLEEPING 0x0020 | ||||
#define HN_FLAG_RXBUF_REF 0x0040 | #define HN_FLAG_RXBUF_REF 0x0040 | ||||
#define HN_FLAG_CHIM_REF 0x0080 | #define HN_FLAG_CHIM_REF 0x0080 | ||||
#define HN_FLAG_RXVF 0x0100 | #define HN_FLAG_RXVF 0x0100 | ||||
#define HN_FLAG_ERRORS (HN_FLAG_RXBUF_REF | HN_FLAG_CHIM_REF) | #define HN_FLAG_ERRORS (HN_FLAG_RXBUF_REF | HN_FLAG_CHIM_REF) | ||||
#define HN_XVFFLAG_ENABLED 0x0001 | |||||
#define HN_XVFFLAG_ACCBPF 0x0002 | |||||
#define HN_NO_SLEEPING(sc) \ | #define HN_NO_SLEEPING(sc) \ | ||||
do { \ | do { \ | ||||
(sc)->hn_flags |= HN_FLAG_NO_SLEEPING; \ | (sc)->hn_flags |= HN_FLAG_NO_SLEEPING; \ | ||||
} while (0) | } while (0) | ||||
#define HN_SLEEPING_OK(sc) \ | #define HN_SLEEPING_OK(sc) \ | ||||
do { \ | do { \ | ||||
Show All 26 Lines |