X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fvmxnet3%2Fbase%2Fvmxnet3_defs.h;h=8d62b3e116e640037ef5b4c75d90267b47c28c74;hb=3e455a97dcb23b6e3684aa48a0302cf0429f4286;hp=a455e2706256a37fca78269cd88fcf3d259d8e80;hpb=bc3358ad9d3709a6a9d0325f5449442b3c4f6663;p=dpdk.git diff --git a/drivers/net/vmxnet3/base/vmxnet3_defs.h b/drivers/net/vmxnet3/base/vmxnet3_defs.h index a455e27062..8d62b3e116 100644 --- a/drivers/net/vmxnet3/base/vmxnet3_defs.h +++ b/drivers/net/vmxnet3/base/vmxnet3_defs.h @@ -1,9 +1,6 @@ -/********************************************************* +/* SPDX-License-Identifier: BSD-3-Clause * Copyright (C) 2007 VMware, Inc. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - * - *********************************************************/ + */ /* * vmxnet3_defs.h -- @@ -92,6 +89,7 @@ typedef enum { VMXNET3_CMD_RESERVED3, VMXNET3_CMD_RESERVED4, VMXNET3_CMD_REGISTER_MEMREGS, + VMXNET3_CMD_SET_RSS_FIELDS, VMXNET3_CMD_FIRST_GET = 0xF00D0000, VMXNET3_CMD_GET_QUEUE_STATUS = VMXNET3_CMD_FIRST_GET, @@ -327,7 +325,32 @@ struct Vmxnet3_RxCompDescExt { uint8 segCnt; /* Number of aggregated packets */ uint8 dupAckCnt; /* Number of duplicate Acks */ __le16 tsDelta; /* TCP timestamp difference */ - __le32 dword2[2]; + __le32 dword2; +#ifdef __BIG_ENDIAN_BITFIELD + uint32 gen : 1; /* generation bit */ + uint32 type : 7; /* completion type */ + uint32 fcs : 1; /* Frame CRC correct */ + uint32 frg : 1; /* IP Fragment */ + uint32 v4 : 1; /* IPv4 */ + uint32 v6 : 1; /* IPv6 */ + uint32 ipc : 1; /* IP Checksum Correct */ + uint32 tcp : 1; /* TCP packet */ + uint32 udp : 1; /* UDP packet */ + uint32 tuc : 1; /* TCP/UDP Checksum Correct */ + uint32 mss : 16; +#else + uint32 mss : 16; + uint32 tuc : 1; /* TCP/UDP Checksum Correct */ + uint32 udp : 1; /* UDP packet */ + uint32 tcp : 1; /* TCP packet */ + uint32 ipc : 1; /* IP Checksum Correct */ + uint32 v6 : 1; /* IPv6 */ + uint32 v4 : 1; /* IPv4 */ + uint32 frg : 1; /* IP Fragment */ + uint32 fcs : 1; /* Frame CRC correct */ + uint32 type : 7; /* completion type */ + uint32 gen : 1; /* generation bit */ +#endif /* __BIG_ENDIAN_BITFIELD */ } #include "vmware_pack_end.h" Vmxnet3_RxCompDescExt; @@ -554,7 +577,7 @@ enum vmxnet3_intr_type { typedef #include "vmware_pack_begin.h" struct Vmxnet3_IntrConf { - Bool autoMask; + bool autoMask; uint8 numIntrs; /* # of interrupts */ uint8 eventIntrIdx; uint8 modLevels[VMXNET3_MAX_INTRS]; /* moderation level for each intr */ @@ -570,7 +593,7 @@ Vmxnet3_IntrConf; typedef #include "vmware_pack_begin.h" struct Vmxnet3_QueueStatus { - Bool stopped; + bool stopped; uint8 _pad[3]; __le32 error; } @@ -590,7 +613,7 @@ Vmxnet3_TxQueueCtrl; typedef #include "vmware_pack_begin.h" struct Vmxnet3_RxQueueCtrl { - Bool updateRxProd; + bool updateRxProd; uint8 _pad[7]; __le64 reserved; } @@ -727,6 +750,15 @@ struct Vmxnet3_MemRegs { #include "vmware_pack_end.h" Vmxnet3_MemRegs; +typedef enum Vmxnet3_RSSField { + VMXNET3_RSS_FIELDS_TCPIP4 = 0x0001, + VMXNET3_RSS_FIELDS_TCPIP6 = 0x0002, + VMXNET3_RSS_FIELDS_UDPIP4 = 0x0004, + VMXNET3_RSS_FIELDS_UDPIP6 = 0x0008, + VMXNET3_RSS_FIELDS_ESPIP4 = 0x0010, + VMXNET3_RSS_FIELDS_ESPIP6 = 0x0020, +} Vmxnet3_RSSField; + /* * If the command data <= 16 bytes, use the shared memory direcly. * Otherwise, use the variable length configuration descriptor. @@ -736,6 +768,8 @@ typedef union Vmxnet3_CmdInfo { Vmxnet3_VariableLenConfDesc varConf; Vmxnet3_SetPolling setPolling; + Vmxnet3_RSSField setRSSFields; + __le16 reserved[2]; __le64 data[2]; } #include "vmware_pack_end.h"