vmxnet3.h revision 6849994e8263545ed3c0f6f5676e47b38e14f63e
/*
* Copyright (C) 2007-2014 VMware, Inc. All rights reserved.
*
* The contents of this file are subject to the terms of the Common
* Development and Distribution License (the "License") version 1.0
* and no later version. You may not use this file except in
* compliance with the License.
*
* You can obtain a copy of the License at
*
* See the License for the specific language governing permissions
* and limitations under the License.
*/
/*
* Copyright (c) 2012, 2016 by Delphix. All rights reserved.
*/
#ifndef _VMXNET3_H_
#define _VMXNET3_H_
#include <sys/ethernet.h>
#include <sys/ddi_impldefs.h>
#include <sys/mac_provider.h>
#include <sys/mac_ether.h>
#include <vmxnet3_defs.h>
typedef struct vmxnet3_dmabuf_t {
typedef struct vmxnet3_cmdring_t {
typedef struct vmxnet3_compring_t {
typedef struct vmxnet3_metatx_t {
typedef struct vmxnet3_txqueue_t {
typedef struct vmxnet3_rxbuf_t {
struct vmxnet3_softc_t *dp;
struct vmxnet3_rxbuf_t *next;
typedef struct vmxnet3_bufdesc_t {
typedef struct vmxnet3_rxpool_t {
unsigned int nBufs;
unsigned int nBufsLimit;
typedef struct vmxnet3_rxqueue_t {
typedef struct vmxnet3_softc_t {
int instance;
int intrType;
int intrMaskMode;
int intrCap;
typedef struct vmxnet3_kstats_t {
int vmxnet3_dmaerr2errno(int);
int def);
extern int vmxnet3s_debug;
#define VMXNET3_MODNAME "vmxnet3s"
#define VMXNET3_DRIVER_VERSION_STRING "1.1.0.0"
/* Logging stuff */
#ifdef DEBUG
if (Level <= vmxnet3s_debug) { \
} \
}
#else
#endif
#define MACADDR_FMT "%02x:%02x:%02x:%02x:%02x:%02x"
/* Default ring size */
#define VMXNET3_DEF_TX_RING_SIZE 256
#define VMXNET3_DEF_RX_RING_SIZE 256
/* Register access helpers */
(Value))
(Value))
/* Misc helpers */
#define VMXNET3_TQDESC(Device) \
#define VMXNET3_RQDESC(Device) \
sizeof (Vmxnet3_TxQueueDesc)))
/* Rings handling */
(Idx)++; \
(Idx) = 0; \
} \
}
if ((Idx) == 0) { \
} \
(Idx)--; \
}
#define PCI_VENDOR_ID_VMWARE 0x15AD
#define PCI_DEVICE_ID_VMWARE_VMXNET3 0x07B0
#endif /* _VMXNET3_H_ */