* bit fields written by big endian driver to format required by device.
*/
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_TxDesc {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_TxDesc {
__le64 addr;
#ifdef __BIG_ENDIAN_BITFIELD
uint32 ti:1; /* VLAN Tag Insertion */
uint32 tci:16; /* Tag to Insert */
#endif /* __BIG_ENDIAN_BITFIELD */
-}
-#include "vmware_pack_end.h"
-Vmxnet3_TxDesc;
+} Vmxnet3_TxDesc;
+#pragma pack(pop)
/* TxDesc.OM values */
#define VMXNET3_OM_NONE 0 /* 0b00 */
#define VMXNET3_TXD_EOP_SIZE 1
#define VMXNET3_HDR_COPY_SIZE 128
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_TxDataDesc {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_TxDataDesc {
uint8 data[VMXNET3_HDR_COPY_SIZE];
-}
-#include "vmware_pack_end.h"
-Vmxnet3_TxDataDesc;
+} Vmxnet3_TxDataDesc;
+#pragma pack(pop)
typedef uint8 Vmxnet3_RxDataDesc;
#define VMXNET3_TCD_GEN_SHIFT 31
#define VMXNET3_TCD_TXIDX_SIZE 12
#define VMXNET3_TCD_GEN_DWORD_SHIFT 3
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_TxCompDesc {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_TxCompDesc {
uint32 txdIdx:12; /* Index of the EOP TxDesc */
uint32 ext1:20;
uint32 rsvd:24;
uint32 type:7; /* completion type */
uint32 gen:1; /* generation bit */
-}
-#include "vmware_pack_end.h"
-Vmxnet3_TxCompDesc;
+} Vmxnet3_TxCompDesc;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_RxDesc {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_RxDesc {
__le64 addr;
#ifdef __BIG_ENDIAN_BITFIELD
uint32 gen:1; /* Generation bit */
#endif
__le32 ext1;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_RxDesc;
+} Vmxnet3_RxDesc;
+#pragma pack(pop)
/* values of RXD.BTYPE */
#define VMXNET3_RXD_BTYPE_HEAD 0 /* head only */
#define VMXNET3_RCD_HDR_INNER_SHIFT 13
#define VMXNET3_RCD_RSS_INNER_SHIFT 12
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_RxCompDesc {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_RxCompDesc {
#ifdef __BIG_ENDIAN_BITFIELD
uint32 ext2:1;
uint32 cnc:1; /* Checksum Not Calculated */
uint32 type:7; /* completion type */
uint32 gen:1; /* generation bit */
#endif /* __BIG_ENDIAN_BITFIELD */
-}
-#include "vmware_pack_end.h"
-Vmxnet3_RxCompDesc;
+} Vmxnet3_RxCompDesc;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_RxCompDescExt {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_RxCompDescExt {
__le32 dword1;
uint8 segCnt; /* Number of aggregated packets */
uint8 dupAckCnt; /* Number of duplicate Acks */
uint32 type:7; /* completion type */
uint32 gen:1; /* generation bit */
#endif /* __BIG_ENDIAN_BITFIELD */
-}
-#include "vmware_pack_end.h"
-Vmxnet3_RxCompDescExt;
+} Vmxnet3_RxCompDescExt;
+#pragma pack(pop)
/* fields in RxCompDesc we access via Vmxnet3_GenericDesc.dword[3] */
#define VMXNET3_RCD_TUC_SHIFT 16
/* All structures in DriverShared are padded to multiples of 8 bytes */
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_GOSInfo {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_GOSInfo {
#ifdef __BIG_ENDIAN_BITFIELD
uint32 gosMisc: 10; /* other info about gos */
uint32 gosVer: 16; /* gos version */
uint32 gosVer: 16; /* gos version */
uint32 gosMisc: 10; /* other info about gos */
#endif /* __BIG_ENDIAN_BITFIELD */
-}
-#include "vmware_pack_end.h"
-Vmxnet3_GOSInfo;
+} Vmxnet3_GOSInfo;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_DriverInfo {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_DriverInfo {
__le32 version; /* driver version */
Vmxnet3_GOSInfo gos;
__le32 vmxnet3RevSpt; /* vmxnet3 revision supported */
__le32 uptVerSpt; /* upt version supported */
-}
-#include "vmware_pack_end.h"
-Vmxnet3_DriverInfo;
+} Vmxnet3_DriverInfo;
+#pragma pack(pop)
#define VMXNET3_REV1_MAGIC 0xbabefee1
*/
#define VMXNET3_QUEUE_DESC_ALIGN 128
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_MiscConf {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_MiscConf {
Vmxnet3_DriverInfo driverInfo;
__le64 uptFeatures;
__le64 ddPA; /* driver data PA */
uint8 numTxQueues;
uint8 numRxQueues;
__le32 reserved[4];
-}
-#include "vmware_pack_end.h"
-Vmxnet3_MiscConf;
+} Vmxnet3_MiscConf;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_TxQueueConf {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_TxQueueConf {
__le64 txRingBasePA;
__le64 dataRingBasePA;
__le64 compRingBasePA;
uint8 _pad1[1];
__le16 txDataRingDescSize;
uint8 _pad2[4];
-}
-#include "vmware_pack_end.h"
-Vmxnet3_TxQueueConf;
+} Vmxnet3_TxQueueConf;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_RxQueueConf {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_RxQueueConf {
__le64 rxRingBasePA[2];
__le64 compRingBasePA;
__le64 ddPA; /* driver data */
uint8 _pad1[1];
__le16 rxDataRingDescSize; /* size of rx data ring buffer */
uint8 _pad2[4];
-}
-#include "vmware_pack_end.h"
-Vmxnet3_RxQueueConf;
+} Vmxnet3_RxQueueConf;
+#pragma pack(pop)
enum vmxnet3_intr_mask_mode {
VMXNET3_IMM_AUTO = 0,
VMXNET3_COALESCE_RBC = 3
};
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_CoalesceRbc {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_CoalesceRbc {
uint32 rbc_rate;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_CoalesceRbc;
+} Vmxnet3_CoalesceRbc;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_CoalesceStatic {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_CoalesceStatic {
uint32 tx_depth;
uint32 tx_comp_depth;
uint32 rx_depth;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_CoalesceStatic;
+} Vmxnet3_CoalesceStatic;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_CoalesceScheme {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_CoalesceScheme {
enum Vmxnet3_CoalesceMode coalMode;
union {
Vmxnet3_CoalesceRbc coalRbc;
Vmxnet3_CoalesceStatic coalStatic;
} coalPara;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_CoalesceScheme;
+} Vmxnet3_CoalesceScheme;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_IntrConf {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_IntrConf {
uint8 autoMask; /* on/off flag */
uint8 numIntrs; /* # of interrupts */
uint8 eventIntrIdx;
uint8 modLevels[VMXNET3_MAX_INTRS]; /* moderation level for each intr */
__le32 intrCtrl;
__le32 reserved[2];
-}
-#include "vmware_pack_end.h"
-Vmxnet3_IntrConf;
+} Vmxnet3_IntrConf;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_IntrConfExt {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_IntrConfExt {
uint8 autoMask;
uint8 numIntrs; /* # of interrupts */
uint8 eventIntrIdx;
__le32 reserved1;
uint8 modLevels[VMXNET3_EXT_MAX_INTRS]; /* moderation level for each intr */
uint8 reserved2[3];
-}
-#include "vmware_pack_end.h"
-Vmxnet3_IntrConfExt;
+} Vmxnet3_IntrConfExt;
+#pragma pack(pop)
/* one bit per VLAN ID, the size is in the units of uint32 */
#define VMXNET3_VFT_SIZE (4096 / (sizeof(uint32) * 8))
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_QueueStatus {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_QueueStatus {
uint8 stopped; /* on/off flag */
uint8 _pad[3];
__le32 error;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_QueueStatus;
+} Vmxnet3_QueueStatus;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_TxQueueCtrl {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_TxQueueCtrl {
__le32 txNumDeferred;
__le32 txThreshold;
__le64 reserved;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_TxQueueCtrl;
+} Vmxnet3_TxQueueCtrl;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_RxQueueCtrl {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_RxQueueCtrl {
uint8 updateRxProd; /* on/off flag */
uint8 _pad[7];
__le64 reserved;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_RxQueueCtrl;
+} Vmxnet3_RxQueueCtrl;
+#pragma pack(pop)
#define VMXNET3_RXM_UCAST 0x01 /* unicast only */
#define VMXNET3_RXM_MCAST 0x02 /* multicast passing the filters */
#define VMXNET3_RXM_ALL_MULTI 0x08 /* all multicast */
#define VMXNET3_RXM_PROMISC 0x10 /* promiscuous */
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_RxFilterConf {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_RxFilterConf {
__le32 rxMode; /* VMXNET3_RXM_xxx */
__le16 mfTableLen; /* size of the multicast filter table */
__le16 _pad1;
__le64 mfTablePA; /* PA of the multicast filters table */
__le32 vfTable[VMXNET3_VFT_SIZE]; /* vlan filter */
-}
-#include "vmware_pack_end.h"
-Vmxnet3_RxFilterConf;
+} Vmxnet3_RxFilterConf;
+#pragma pack(pop)
#define ETH_ADDR_LENGTH 6
VMXNET3_PKTSTEERING_ACTION_MAX,
} Vmxnet3_PktSteeringAction;
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_PktSteeringActionData {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_PktSteeringActionData {
uint8_t action; /* enum Vmxnet3PktSteeringAction */
uint8_t rxQid;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_PktSteeringActionData;
+} Vmxnet3_PktSteeringActionData;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_PktSteeringInput {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_PktSteeringInput {
uint16_t l3proto;
uint8_t l4proto;
uint8_t pad;
Eth_Address dstMAC;
Eth_Address srcMAC;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_PktSteeringInput;
+} Vmxnet3_PktSteeringInput;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_PktSteeringGeneveInput {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_PktSteeringGeneveInput {
#ifdef __BIG_ENDIAN_BITFIELD
uint32 optionsLength:6; /* Length of options (in 4 bytes multiple) */
uint32 version:2; /* Geneve protocol version */
uint32 reserved2:8; /* Reserved bits */
uint32 virtualNetworkId:24; /* Virtual network identifier */
#endif /* __BIG_ENDIAN_BITFIELD */
-}
-#include "vmware_pack_end.h"
-Vmxnet3_PktSteeringGeneveInput;
+} Vmxnet3_PktSteeringGeneveInput;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_PktSteeringFilterConfExt {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_PktSteeringFilterConfExt {
Vmxnet3_PktSteeringGeneveInput ghSpec; /* geneve hdr spec */
Vmxnet3_PktSteeringGeneveInput ghMask; /* geneve hdr mask */
Vmxnet3_PktSteeringInput ohSpec; /* outer hdr spec */
Vmxnet3_PktSteeringInput ohMask; /* outer hdr mask */
-}
-#include "vmware_pack_end.h"
-Vmxnet3_PktSteeringFilterConfExt;
+} Vmxnet3_PktSteeringFilterConfExt;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_PktSteeringFilterConf {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_PktSteeringFilterConf {
uint8_t version;
uint8_t priority;
Vmxnet3_PktSteeringActionData actionData;
/* Following this structure is Vmxnet3_PktSteeringFilterConfExt
* in case isExtValid is true.
*/
-}
-#include "vmware_pack_end.h"
-Vmxnet3_PktSteeringFilterConf;
+} Vmxnet3_PktSteeringFilterConf;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_PktSteeringVerInfo {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_PktSteeringVerInfo {
uint8_t version;
uint8_t pad;
uint16_t maxMasks;
uint32_t maxFilters;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_PktSteeringVerInfo;
+} Vmxnet3_PktSteeringVerInfo;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_PktSteeringFilterStats {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_PktSteeringFilterStats {
uint64_t packets;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_PktSteeringFilterStats;
+} Vmxnet3_PktSteeringFilterStats;
+#pragma pack(pop)
typedef enum {
VMXNET3_PKTSTEERING_CMD_GET_VER = 0x0, /* start of GET commands */
VMXNET3_PKTSTEERING_CMD_FLUSH,
} Vmxnet3_PktSteeringCmd;
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_PktSteeringCmdMsg {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_PktSteeringCmdMsg {
uint16_t cmd; /* enum Vmxnet3PktSteeringCmd */
uint16_t msgSize;
uint32_t outputLen;
uint64_t outputPA;
Vmxnet3_PktSteeringFilterConf fConf;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_PktSteeringCmdMsg;
+} Vmxnet3_PktSteeringCmdMsg;
+#pragma pack(pop)
#define VMXNET3_PM_MAX_FILTERS 6
#define VMXNET3_PM_MAX_PATTERN_SIZE 128
#define VMXNET3_PM_WAKEUP_MAGIC 0x01 /* wake up on magic pkts */
#define VMXNET3_PM_WAKEUP_FILTER 0x02 /* wake up on pkts matching filters */
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_PM_PktFilter {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_PM_PktFilter {
uint8 maskSize;
uint8 patternSize;
uint8 mask[VMXNET3_PM_MAX_MASK_SIZE];
uint8 pattern[VMXNET3_PM_MAX_PATTERN_SIZE];
uint8 pad[6];
-}
-#include "vmware_pack_end.h"
-Vmxnet3_PM_PktFilter;
+} Vmxnet3_PM_PktFilter;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_PMConf {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_PMConf {
__le16 wakeUpEvents; /* VMXNET3_PM_WAKEUP_xxx */
uint8 numFilters;
uint8 pad[5];
Vmxnet3_PM_PktFilter filters[VMXNET3_PM_MAX_FILTERS];
-}
-#include "vmware_pack_end.h"
-Vmxnet3_PMConf;
+} Vmxnet3_PMConf;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_VariableLenConfDesc {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_VariableLenConfDesc {
__le32 confVer;
__le32 confLen;
__le64 confPA;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_VariableLenConfDesc;
+} Vmxnet3_VariableLenConfDesc;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_DSDevRead {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_DSDevRead {
/* read-only region for device, read by dev in response to a SET cmd */
Vmxnet3_MiscConf misc;
Vmxnet3_IntrConf intrConf;
Vmxnet3_VariableLenConfDesc rssConfDesc;
Vmxnet3_VariableLenConfDesc pmConfDesc;
Vmxnet3_VariableLenConfDesc pluginConfDesc;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_DSDevRead;
+} Vmxnet3_DSDevRead;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_DSDevReadExt {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_DSDevReadExt {
/* read-only region for device, read by dev in response to a SET cmd */
Vmxnet3_IntrConfExt intrConfExt;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_DSDevReadExt;
+} Vmxnet3_DSDevReadExt;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_TxQueueDesc {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_TxQueueDesc {
Vmxnet3_TxQueueCtrl ctrl;
Vmxnet3_TxQueueConf conf;
/* Driver read after a GET command */
Vmxnet3_QueueStatus status;
UPT1_TxStats stats;
uint8 _pad[88]; /* 128 aligned */
-}
-#include "vmware_pack_end.h"
-Vmxnet3_TxQueueDesc;
+} Vmxnet3_TxQueueDesc;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_RxQueueDesc {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_RxQueueDesc {
Vmxnet3_RxQueueCtrl ctrl;
Vmxnet3_RxQueueConf conf;
/* Driver read after a GET command */
Vmxnet3_QueueStatus status;
UPT1_RxStats stats;
uint8 _pad[88]; /* 128 aligned */
-}
-#include "vmware_pack_end.h"
-Vmxnet3_RxQueueDesc;
+} Vmxnet3_RxQueueDesc;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_SetPolling {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_SetPolling {
uint8 enablePolling;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_SetPolling;
+} Vmxnet3_SetPolling;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-
-struct Vmxnet3_MemoryRegion {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_MemoryRegion {
__le64 startPA; // starting physical address
__le32 length; // limit the length to be less than 4G
/*
*/
__le16 txQueueBits; // bit n corresponding to tx queue n
__le16 rxQueueBits; // bit n corresponding to rx queueb n
-}
-#include "vmware_pack_end.h"
-Vmxnet3_MemoryRegion;
+} Vmxnet3_MemoryRegion;
+#pragma pack(pop)
/*
* Assume each queue can have upto 16 memory region
#define MAX_MEMORY_REGION_PER_QUEUE 16
#define MAX_MEMORY_REGION_PER_DEVICE (16 * 16)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_MemRegs {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_MemRegs {
__le16 numRegs;
__le16 pad[3];
Vmxnet3_MemoryRegion memRegs[1];
-}
-#include "vmware_pack_end.h"
-Vmxnet3_MemRegs;
+} Vmxnet3_MemRegs;
+#pragma pack(pop)
typedef enum Vmxnet3_RSSField {
VMXNET3_RSS_FIELDS_TCPIP4 = 0x1UL,
VMXNET3_RSS_FIELDS_INNER_ESPIP6 = 0x8000UL,
} Vmxnet3_RSSField;
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_EncapDstPort {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_EncapDstPort {
__le16 geneveDstPort;
__le16 vxlanDstPort;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_EncapDstPort;
+} Vmxnet3_EncapDstPort;
+#pragma pack(pop)
/*
* Based on index from ESP SPI, how to map the index to the rx queue ID.
VMXNET3_ESP_QS_MAX,
} Vmxnet3_ESPQueueSelectionAlgo;
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_ESPQueueSelectionConf {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_ESPQueueSelectionConf {
uint8 spiStartBit; /* from least significant bit of SPI. */
uint8 spiMaskWidth; /* how many bits in SPI will be used. */
uint16 qsAlgo; /* see Vmxnet3_ESPQueueSelectionAlgo */
* qsAlgo is VMXNET3_ESP_QS_QUEUE_MASK.
*/
uint32 espQueueMask; /* max of 32 queues supported */
-}
-#include "vmware_pack_end.h"
-Vmxnet3_ESPQueueSelectionConf;
+} Vmxnet3_ESPQueueSelectionConf;
+#pragma pack(pop)
/*
* If a command data does not exceed 16 bytes, it can use
* the shared memory directly. Otherwise use variable length
* configuration descriptor to pass the data.
*/
-typedef
-#include "vmware_pack_begin.h"
-union Vmxnet3_CmdInfo {
+#pragma pack(push, 1)
+typedef union Vmxnet3_CmdInfo {
Vmxnet3_VariableLenConfDesc varConf;
Vmxnet3_SetPolling setPolling;
Vmxnet3_RSSField setRSSFields;
Vmxnet3_EncapDstPort encapDstPort;
Vmxnet3_ESPQueueSelectionConf espQSConf;
__le64 data[2];
-}
-#include "vmware_pack_end.h"
-Vmxnet3_CmdInfo;
+} Vmxnet3_CmdInfo;
+#pragma pack(pop)
-typedef
-#include "vmware_pack_begin.h"
-struct Vmxnet3_DriverShared {
+#pragma pack(push, 1)
+typedef struct Vmxnet3_DriverShared {
__le32 magic;
__le32 pad; /* make devRead start at 64-bit boundaries */
Vmxnet3_DSDevRead devRead;
*/
} cu;
Vmxnet3_DSDevReadExt devReadExt;
-}
-#include "vmware_pack_end.h"
-Vmxnet3_DriverShared;
+} Vmxnet3_DriverShared;
+#pragma pack(pop)
#define VMXNET3_ECR_RQERR (1 << 0)
#define VMXNET3_ECR_TQERR (1 << 1)