Files
@ 5fc7f2080582
Branch filter:
Location: vmkdrivers/BLD/build/HEADERS/vmkapi-current-all-public-bincomp/vmkernel64/release/net/vmkapi_net_types.h
5fc7f2080582
5.0 KiB
text/x-chdr
ESXi-5.5-U3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 | /* **********************************************************
* Copyright 2006 - 2009 VMware, Inc. All rights reserved.
* **********************************************************/
/*
* @VMKAPIMOD_LICENSE@
*/
/*
***********************************************************************
* Network Types */ /**
* \addtogroup Network
*@{
***********************************************************************
*/
#ifndef _VMKAPI_NET_TYPES_H_
#define _VMKAPI_NET_TYPES_H_
/** \cond never */
#ifndef VMK_HEADER_INCLUDED_FROM_VMKAPI_H
#error This vmkapi file should never be included directly but only via vmkapi.h
#endif
/** \endcond never */
/*
***********************************************************************
* Vlan */ /**
* \defgroup Vlan Virtual Lan
*@{
***********************************************************************
*/
/**
* \brief Identifier number for vlan group.
*/
typedef vmk_uint16 vmk_VlanID;
/**
* \brief 802.1p priority value for vlan tag.
*/
typedef vmk_uint8 vmk_VlanPriority;
/*
* \brief Symbolic names for 802.1p priority values.
*
* Following the published version in 802.1Q-2005 Annex G.
* Actual ranking in order of least to most important is not strictly numerical.
* Priority 0 is the default priority and is ranked specially.
* The ranking, from least to most important, is
* 1, 0, 2, 3, 4, 5, 6, 7
* or, using the corresponding 2-letter acronyms from 802.1Q,
* BK, BE, EE, CA, VI, VO, IC, NC
*/
enum {
VMK_VLAN_PRIORITY_MINIMUM = 0,
VMK_VLAN_PRIORITY_BE = VMK_VLAN_PRIORITY_MINIMUM,
VMK_VLAN_PRIORITY_BEST_EFFORT = VMK_VLAN_PRIORITY_BE,
VMK_VLAN_PRIORITY_BK = 1,
VMK_VLAN_PRIORITY_BACKGROUND = VMK_VLAN_PRIORITY_BK,
VMK_VLAN_PRIORITY_EE = 2,
VMK_VLAN_PRIORITY_EXCELLENT_EFFORT = VMK_VLAN_PRIORITY_EE,
VMK_VLAN_PRIORITY_CA = 3,
VMK_VLAN_PRIORITY_CRITICAL_APPS = VMK_VLAN_PRIORITY_CA,
VMK_VLAN_PRIORITY_VI = 4,
VMK_VLAN_PRIORITY_VIDEO = VMK_VLAN_PRIORITY_VI,
VMK_VLAN_PRIORITY_VO = 5,
VMK_VLAN_PRIORITY_VOICE = VMK_VLAN_PRIORITY_VO,
VMK_VLAN_PRIORITY_IC = 6,
VMK_VLAN_PRIORITY_INTERNETWORK_CONROL = VMK_VLAN_PRIORITY_IC,
VMK_VLAN_PRIORITY_NC = 7,
VMK_VLAN_PRIORITY_NETWORK_CONROL = VMK_VLAN_PRIORITY_NC,
VMK_VLAN_PRIORITY_MAXIMUM = VMK_VLAN_PRIORITY_NC,
VMK_VLAN_NUM_PRIORITIES = VMK_VLAN_PRIORITY_MAXIMUM+1,
VMK_VLAN_PRIORITY_INVALID = (vmk_VlanPriority)~0U
};
/**
* \ingroup Passthru
* \brief Enumeration of passthru types.
*/
typedef enum vmk_NetPTType {
VMK_PT_UPT = 1,
VMK_PT_CDPT = 2,
} vmk_NetPTType;
/**
* \brief Ethernet address length
*/
#define VMK_ETH_ADDR_LENGTH 6
/**
* \brief Ethernet address type
*/
typedef vmk_uint8 vmk_EthAddress[VMK_ETH_ADDR_LENGTH];
/** Invalid identification number for a port */
#define VMK_VSWITCH_INVALID_PORT_ID 0
/**
* \brief Identifier for a portset.
*/
typedef struct Portset vmk_Portset;
/**
* \brief Identifier number for port on a virtual switch.
*/
typedef vmk_uint32 vmk_SwitchPortID;
/**
* \brief Tag associated to a resource pool.
*/
typedef vmk_uint16 vmk_PortsetResPoolTag;
/**
* \brief Default resource pool tag.
*/
#define VMK_PORTSET_DEFAULT_RESPOOL_TAG 0
/**
* \brief Invalid resource pool tag.
*/
#define VMK_PORTSET_INVALID_RESPOOL_TAG ((vmk_PortsetResPoolTag)-1)
/**
* \brief State of the device's link associated to a port.
*/
typedef enum {
/** The device's link state is down */
VMK_LINK_STATE_DOWN,
/** The device's link state is up */
VMK_LINK_STATE_UP
} vmk_LinkState;
/**
* \brief Link speed in Mb/s
*/
typedef vmk_uint32 vmk_LinkSpeed;
/** Uplink auto negotiated speed */
#define VMK_LINK_SPEED_AUTO 0
/** Uplink link speed 10Mbps */
#define VMK_LINK_SPEED_10_MBPS 10
/** Uplink link speed 100Mbps */
#define VMK_LINK_SPEED_100_MBPS 100
/** Uplink link speed 1000Mbps */
#define VMK_LINK_SPEED_1000_MBPS 1000
/** Uplink link speed 10000Mbps */
#define VMK_LINK_SPEED_10000_MBPS 10000
/** Uplink link speed 20000Mbps */
#define VMK_LINK_SPEED_20000_MBPS 20000
/** Uplink link speed 40000Mbps */
#define VMK_LINK_SPEED_40000_MBPS 40000
/** Uplink link speed 100000Mbps */
#define VMK_LINK_SPEED_100000_MBPS 100000
/**
* \brief Link duplex
*/
typedef enum {
/** Duplex autonegotiation */
VMK_LINK_DUPLEX_AUTO = -1,
/** Half duplex */
VMK_LINK_DUPLEX_HALF = 1,
/** Full duplex */
VMK_LINK_DUPLEX_FULL = 2,
} vmk_LinkDuplex;
/**
* \brief Link status (state, speed & duplex)
*/
typedef struct {
/** State of the link */
vmk_LinkState state;
/** Speed of the link */
vmk_LinkSpeed speed;
/** Duplex of the link */
vmk_LinkDuplex duplex;
} vmk_LinkStatus;
/**
* \brief Uplink handle
*
* vmk_Uplink is used as a handle to perform operations on uplink devices.
*
*/
typedef struct UplinkDev *vmk_Uplink;
#endif /* _VMKAPI_NET_TYPES_H_ */
/** @} */
/** @} */
|