skgemib.c 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056
  1. /*****************************************************************************
  2. *
  3. * Name: skgemib.c
  4. * Project: GEnesis, PCI Gigabit Ethernet Adapter
  5. * Version: $Revision: 1.7 $
  6. * Date: $Date: 2002/12/16 09:04:34 $
  7. * Purpose: Private Network Management Interface Management Database
  8. *
  9. ****************************************************************************/
  10. /******************************************************************************
  11. *
  12. * (C)Copyright 2002 SysKonnect GmbH.
  13. *
  14. * This program is free software; you can redistribute it and/or modify
  15. * it under the terms of the GNU General Public License as published by
  16. * the Free Software Foundation; either version 2 of the License, or
  17. * (at your option) any later version.
  18. *
  19. * The information in this file is provided "AS IS" without warranty.
  20. *
  21. ******************************************************************************/
  22. /*****************************************************************************
  23. *
  24. * History:
  25. *
  26. * $Log: skgemib.c,v $
  27. * Revision 1.7 2002/12/16 09:04:34 tschilli
  28. * Code for VCT handling added.
  29. *
  30. * Revision 1.6 2002/08/09 15:40:21 rwahl
  31. * Editorial change (renamed ConfSpeedCap).
  32. *
  33. * Revision 1.5 2002/08/09 11:05:34 rwahl
  34. * Added oid handling for link speed cap.
  35. *
  36. * Revision 1.4 2002/08/09 09:40:27 rwahl
  37. * Added support for NDIS OID_PNP_xxx.
  38. *
  39. * Revision 1.3 2002/07/17 19:39:54 rwahl
  40. * Added handler for OID_SKGE_SPEED_MODE & OID_SKGE_SPEED_STATUS.
  41. *
  42. * Revision 1.2 2002/05/22 08:59:00 rwahl
  43. * - static functions only for release build.
  44. * - Source file must be included.
  45. *
  46. * Revision 1.1 2002/05/22 08:12:42 rwahl
  47. * Initial version.
  48. *
  49. ****************************************************************************/
  50. #include <config.h>
  51. /*
  52. * PRIVATE OID handler function prototypes
  53. */
  54. PNMI_STATIC int Addr(SK_AC *pAC, SK_IOC IoC, int action,
  55. SK_U32 Id, char *pBuf, unsigned int *pLen, SK_U32 Instance,
  56. unsigned int TableIndex, SK_U32 NetIndex);
  57. PNMI_STATIC int CsumStat(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,
  58. char *pBuf, unsigned int *pLen, SK_U32 Instance,
  59. unsigned int TableIndex, SK_U32 NetIndex);
  60. PNMI_STATIC int General(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,
  61. char *pBuf, unsigned int *pLen, SK_U32 Instance,
  62. unsigned int TableIndex, SK_U32 NetIndex);
  63. PNMI_STATIC int Mac8023Stat(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,
  64. char *pBuf, unsigned int *pLen, SK_U32 Instance,
  65. unsigned int TableIndex, SK_U32 NetIndex);
  66. PNMI_STATIC int MacPrivateConf(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,
  67. char *pBuf, unsigned int *pLen, SK_U32 Instance,
  68. unsigned int TableIndex, SK_U32 NetIndex);
  69. PNMI_STATIC int MacPrivateStat(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,
  70. char *pBuf, unsigned int *pLen, SK_U32 Instance,
  71. unsigned int TableIndex, SK_U32 NetIndex);
  72. PNMI_STATIC int Monitor(SK_AC *pAC, SK_IOC IoC, int action,
  73. SK_U32 Id, char *pBuf, unsigned int *pLen, SK_U32 Instance,
  74. unsigned int TableIndex, SK_U32 NetIndex);
  75. PNMI_STATIC int OidStruct(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,
  76. char *pBuf, unsigned int *pLen, SK_U32 Instance,
  77. unsigned int TableIndex, SK_U32 NetIndex);
  78. PNMI_STATIC int Perform(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,
  79. char *pBuf, unsigned int* pLen, SK_U32 Instance,
  80. unsigned int TableIndex, SK_U32 NetIndex);
  81. PNMI_STATIC int Rlmt(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,
  82. char *pBuf, unsigned int *pLen, SK_U32 Instance,
  83. unsigned int TableIndex, SK_U32 NetIndex);
  84. PNMI_STATIC int RlmtStat(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,
  85. char *pBuf, unsigned int *pLen, SK_U32 Instance,
  86. unsigned int TableIndex, SK_U32 NetIndex);
  87. PNMI_STATIC int SensorStat(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,
  88. char *pBuf, unsigned int *pLen, SK_U32 Instance,
  89. unsigned int TableIndex, SK_U32 NetIndex);
  90. PNMI_STATIC int Vpd(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,
  91. char *pBuf, unsigned int *pLen, SK_U32 Instance,
  92. unsigned int TableIndex, SK_U32 NetIndex);
  93. PNMI_STATIC int Vct(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,
  94. char *pBuf, unsigned int *pLen, SK_U32 Instance,
  95. unsigned int TableIndex, SK_U32 NetIndex);
  96. #ifdef SK_POWER_MGMT
  97. PNMI_STATIC int PowerManagement(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,
  98. char *pBuf, unsigned int *pLen, SK_U32 Instance,
  99. unsigned int TableIndex, SK_U32 NetIndex);
  100. #endif
  101. /* defines *******************************************************************/
  102. #define ID_TABLE_SIZE (sizeof(IdTable)/sizeof(IdTable[0]))
  103. /* global variables **********************************************************/
  104. /*
  105. * Table to correlate OID with handler function and index to
  106. * hardware register stored in StatAddress if applicable.
  107. */
  108. PNMI_STATIC const SK_PNMI_TAB_ENTRY IdTable[] = {
  109. {OID_GEN_XMIT_OK,
  110. 0,
  111. 0,
  112. 0,
  113. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX},
  114. {OID_GEN_RCV_OK,
  115. 0,
  116. 0,
  117. 0,
  118. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HRX},
  119. {OID_GEN_XMIT_ERROR,
  120. 0,
  121. 0,
  122. 0,
  123. SK_PNMI_RO, General, 0},
  124. {OID_GEN_RCV_ERROR,
  125. 0,
  126. 0,
  127. 0,
  128. SK_PNMI_RO, General, 0},
  129. {OID_GEN_RCV_NO_BUFFER,
  130. 0,
  131. 0,
  132. 0,
  133. SK_PNMI_RO, General, 0},
  134. {OID_GEN_DIRECTED_FRAMES_XMIT,
  135. 0,
  136. 0,
  137. 0,
  138. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_UNICAST},
  139. {OID_GEN_MULTICAST_FRAMES_XMIT,
  140. 0,
  141. 0,
  142. 0,
  143. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_MULTICAST},
  144. {OID_GEN_BROADCAST_FRAMES_XMIT,
  145. 0,
  146. 0,
  147. 0,
  148. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_BROADCAST},
  149. {OID_GEN_DIRECTED_FRAMES_RCV,
  150. 0,
  151. 0,
  152. 0,
  153. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HRX_UNICAST},
  154. {OID_GEN_MULTICAST_FRAMES_RCV,
  155. 0,
  156. 0,
  157. 0,
  158. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HRX_MULTICAST},
  159. {OID_GEN_BROADCAST_FRAMES_RCV,
  160. 0,
  161. 0,
  162. 0,
  163. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HRX_BROADCAST},
  164. {OID_GEN_RCV_CRC_ERROR,
  165. 0,
  166. 0,
  167. 0,
  168. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HRX_FCS},
  169. {OID_GEN_TRANSMIT_QUEUE_LENGTH,
  170. 0,
  171. 0,
  172. 0,
  173. SK_PNMI_RO, General, 0},
  174. {OID_802_3_PERMANENT_ADDRESS,
  175. 0,
  176. 0,
  177. 0,
  178. SK_PNMI_RO, Mac8023Stat, 0},
  179. {OID_802_3_CURRENT_ADDRESS,
  180. 0,
  181. 0,
  182. 0,
  183. SK_PNMI_RO, Mac8023Stat, 0},
  184. {OID_802_3_RCV_ERROR_ALIGNMENT,
  185. 0,
  186. 0,
  187. 0,
  188. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HRX_FRAMING},
  189. {OID_802_3_XMIT_ONE_COLLISION,
  190. 0,
  191. 0,
  192. 0,
  193. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_SINGLE_COL},
  194. {OID_802_3_XMIT_MORE_COLLISIONS,
  195. 0,
  196. 0,
  197. 0,
  198. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_MULTI_COL},
  199. {OID_802_3_XMIT_DEFERRED,
  200. 0,
  201. 0,
  202. 0,
  203. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_DEFFERAL},
  204. {OID_802_3_XMIT_MAX_COLLISIONS,
  205. 0,
  206. 0,
  207. 0,
  208. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_EXCESS_COL},
  209. {OID_802_3_RCV_OVERRUN,
  210. 0,
  211. 0,
  212. 0,
  213. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HRX_OVERFLOW},
  214. {OID_802_3_XMIT_UNDERRUN,
  215. 0,
  216. 0,
  217. 0,
  218. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_UNDERRUN},
  219. {OID_802_3_XMIT_TIMES_CRS_LOST,
  220. 0,
  221. 0,
  222. 0,
  223. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_CARRIER},
  224. {OID_802_3_XMIT_LATE_COLLISIONS,
  225. 0,
  226. 0,
  227. 0,
  228. SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_LATE_COL},
  229. #ifdef SK_POWER_MGMT
  230. {OID_PNP_CAPABILITIES,
  231. 0,
  232. 0,
  233. 0,
  234. SK_PNMI_RO, PowerManagement, 0},
  235. {OID_PNP_SET_POWER,
  236. 0,
  237. 0,
  238. 0,
  239. SK_PNMI_WO, PowerManagement, 0},
  240. {OID_PNP_QUERY_POWER,
  241. 0,
  242. 0,
  243. 0,
  244. SK_PNMI_RO, PowerManagement, 0},
  245. {OID_PNP_ADD_WAKE_UP_PATTERN,
  246. 0,
  247. 0,
  248. 0,
  249. SK_PNMI_WO, PowerManagement, 0},
  250. {OID_PNP_REMOVE_WAKE_UP_PATTERN,
  251. 0,
  252. 0,
  253. 0,
  254. SK_PNMI_WO, PowerManagement, 0},
  255. {OID_PNP_ENABLE_WAKE_UP,
  256. 0,
  257. 0,
  258. 0,
  259. SK_PNMI_RW, PowerManagement, 0},
  260. #endif /* SK_POWER_MGMT */
  261. {OID_SKGE_MDB_VERSION,
  262. 1,
  263. 0,
  264. SK_PNMI_MAI_OFF(MgmtDBVersion),
  265. SK_PNMI_RO, General, 0},
  266. {OID_SKGE_SUPPORTED_LIST,
  267. 0,
  268. 0,
  269. 0,
  270. SK_PNMI_RO, General, 0},
  271. {OID_SKGE_ALL_DATA,
  272. 0,
  273. 0,
  274. 0,
  275. SK_PNMI_RW, OidStruct, 0},
  276. {OID_SKGE_VPD_FREE_BYTES,
  277. 1,
  278. 0,
  279. SK_PNMI_MAI_OFF(VpdFreeBytes),
  280. SK_PNMI_RO, Vpd, 0},
  281. {OID_SKGE_VPD_ENTRIES_LIST,
  282. 1,
  283. 0,
  284. SK_PNMI_MAI_OFF(VpdEntriesList),
  285. SK_PNMI_RO, Vpd, 0},
  286. {OID_SKGE_VPD_ENTRIES_NUMBER,
  287. 1,
  288. 0,
  289. SK_PNMI_MAI_OFF(VpdEntriesNumber),
  290. SK_PNMI_RO, Vpd, 0},
  291. {OID_SKGE_VPD_KEY,
  292. SK_PNMI_VPD_ENTRIES,
  293. sizeof(SK_PNMI_VPD),
  294. SK_PNMI_OFF(Vpd) + SK_PNMI_VPD_OFF(VpdKey),
  295. SK_PNMI_RO, Vpd, 0},
  296. {OID_SKGE_VPD_VALUE,
  297. SK_PNMI_VPD_ENTRIES,
  298. sizeof(SK_PNMI_VPD),
  299. SK_PNMI_OFF(Vpd) + SK_PNMI_VPD_OFF(VpdValue),
  300. SK_PNMI_RO, Vpd, 0},
  301. {OID_SKGE_VPD_ACCESS,
  302. SK_PNMI_VPD_ENTRIES,
  303. sizeof(SK_PNMI_VPD),
  304. SK_PNMI_OFF(Vpd) + SK_PNMI_VPD_OFF(VpdAccess),
  305. SK_PNMI_RO, Vpd, 0},
  306. {OID_SKGE_VPD_ACTION,
  307. SK_PNMI_VPD_ENTRIES,
  308. sizeof(SK_PNMI_VPD),
  309. SK_PNMI_OFF(Vpd) + SK_PNMI_VPD_OFF(VpdAction),
  310. SK_PNMI_RW, Vpd, 0},
  311. {OID_SKGE_PORT_NUMBER,
  312. 1,
  313. 0,
  314. SK_PNMI_MAI_OFF(PortNumber),
  315. SK_PNMI_RO, General, 0},
  316. {OID_SKGE_DEVICE_TYPE,
  317. 1,
  318. 0,
  319. SK_PNMI_MAI_OFF(DeviceType),
  320. SK_PNMI_RO, General, 0},
  321. {OID_SKGE_DRIVER_DESCR,
  322. 1,
  323. 0,
  324. SK_PNMI_MAI_OFF(DriverDescr),
  325. SK_PNMI_RO, General, 0},
  326. {OID_SKGE_DRIVER_VERSION,
  327. 1,
  328. 0,
  329. SK_PNMI_MAI_OFF(DriverVersion),
  330. SK_PNMI_RO, General, 0},
  331. {OID_SKGE_HW_DESCR,
  332. 1,
  333. 0,
  334. SK_PNMI_MAI_OFF(HwDescr),
  335. SK_PNMI_RO, General, 0},
  336. {OID_SKGE_HW_VERSION,
  337. 1,
  338. 0,
  339. SK_PNMI_MAI_OFF(HwVersion),
  340. SK_PNMI_RO, General, 0},
  341. {OID_SKGE_CHIPSET,
  342. 1,
  343. 0,
  344. SK_PNMI_MAI_OFF(Chipset),
  345. SK_PNMI_RO, General, 0},
  346. {OID_SKGE_ACTION,
  347. 1,
  348. 0,
  349. SK_PNMI_MAI_OFF(Action),
  350. SK_PNMI_RW, Perform, 0},
  351. {OID_SKGE_RESULT,
  352. 1,
  353. 0,
  354. SK_PNMI_MAI_OFF(TestResult),
  355. SK_PNMI_RO, General, 0},
  356. {OID_SKGE_BUS_TYPE,
  357. 1,
  358. 0,
  359. SK_PNMI_MAI_OFF(BusType),
  360. SK_PNMI_RO, General, 0},
  361. {OID_SKGE_BUS_SPEED,
  362. 1,
  363. 0,
  364. SK_PNMI_MAI_OFF(BusSpeed),
  365. SK_PNMI_RO, General, 0},
  366. {OID_SKGE_BUS_WIDTH,
  367. 1,
  368. 0,
  369. SK_PNMI_MAI_OFF(BusWidth),
  370. SK_PNMI_RO, General, 0},
  371. {OID_SKGE_TX_SW_QUEUE_LEN,
  372. 1,
  373. 0,
  374. SK_PNMI_MAI_OFF(TxSwQueueLen),
  375. SK_PNMI_RO, General, 0},
  376. {OID_SKGE_TX_SW_QUEUE_MAX,
  377. 1,
  378. 0,
  379. SK_PNMI_MAI_OFF(TxSwQueueMax),
  380. SK_PNMI_RO, General, 0},
  381. {OID_SKGE_TX_RETRY,
  382. 1,
  383. 0,
  384. SK_PNMI_MAI_OFF(TxRetryCts),
  385. SK_PNMI_RO, General, 0},
  386. {OID_SKGE_RX_INTR_CTS,
  387. 1,
  388. 0,
  389. SK_PNMI_MAI_OFF(RxIntrCts),
  390. SK_PNMI_RO, General, 0},
  391. {OID_SKGE_TX_INTR_CTS,
  392. 1,
  393. 0,
  394. SK_PNMI_MAI_OFF(TxIntrCts),
  395. SK_PNMI_RO, General, 0},
  396. {OID_SKGE_RX_NO_BUF_CTS,
  397. 1,
  398. 0,
  399. SK_PNMI_MAI_OFF(RxNoBufCts),
  400. SK_PNMI_RO, General, 0},
  401. {OID_SKGE_TX_NO_BUF_CTS,
  402. 1,
  403. 0,
  404. SK_PNMI_MAI_OFF(TxNoBufCts),
  405. SK_PNMI_RO, General, 0},
  406. {OID_SKGE_TX_USED_DESCR_NO,
  407. 1,
  408. 0,
  409. SK_PNMI_MAI_OFF(TxUsedDescrNo),
  410. SK_PNMI_RO, General, 0},
  411. {OID_SKGE_RX_DELIVERED_CTS,
  412. 1,
  413. 0,
  414. SK_PNMI_MAI_OFF(RxDeliveredCts),
  415. SK_PNMI_RO, General, 0},
  416. {OID_SKGE_RX_OCTETS_DELIV_CTS,
  417. 1,
  418. 0,
  419. SK_PNMI_MAI_OFF(RxOctetsDeliveredCts),
  420. SK_PNMI_RO, General, 0},
  421. {OID_SKGE_RX_HW_ERROR_CTS,
  422. 1,
  423. 0,
  424. SK_PNMI_MAI_OFF(RxHwErrorsCts),
  425. SK_PNMI_RO, General, 0},
  426. {OID_SKGE_TX_HW_ERROR_CTS,
  427. 1,
  428. 0,
  429. SK_PNMI_MAI_OFF(TxHwErrorsCts),
  430. SK_PNMI_RO, General, 0},
  431. {OID_SKGE_IN_ERRORS_CTS,
  432. 1,
  433. 0,
  434. SK_PNMI_MAI_OFF(InErrorsCts),
  435. SK_PNMI_RO, General, 0},
  436. {OID_SKGE_OUT_ERROR_CTS,
  437. 1,
  438. 0,
  439. SK_PNMI_MAI_OFF(OutErrorsCts),
  440. SK_PNMI_RO, General, 0},
  441. {OID_SKGE_ERR_RECOVERY_CTS,
  442. 1,
  443. 0,
  444. SK_PNMI_MAI_OFF(ErrRecoveryCts),
  445. SK_PNMI_RO, General, 0},
  446. {OID_SKGE_SYSUPTIME,
  447. 1,
  448. 0,
  449. SK_PNMI_MAI_OFF(SysUpTime),
  450. SK_PNMI_RO, General, 0},
  451. {OID_SKGE_SENSOR_NUMBER,
  452. 1,
  453. 0,
  454. SK_PNMI_MAI_OFF(SensorNumber),
  455. SK_PNMI_RO, General, 0},
  456. {OID_SKGE_SENSOR_INDEX,
  457. SK_PNMI_SENSOR_ENTRIES,
  458. sizeof(SK_PNMI_SENSOR),
  459. SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorIndex),
  460. SK_PNMI_RO, SensorStat, 0},
  461. {OID_SKGE_SENSOR_DESCR,
  462. SK_PNMI_SENSOR_ENTRIES,
  463. sizeof(SK_PNMI_SENSOR),
  464. SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorDescr),
  465. SK_PNMI_RO, SensorStat, 0},
  466. {OID_SKGE_SENSOR_TYPE,
  467. SK_PNMI_SENSOR_ENTRIES,
  468. sizeof(SK_PNMI_SENSOR),
  469. SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorType),
  470. SK_PNMI_RO, SensorStat, 0},
  471. {OID_SKGE_SENSOR_VALUE,
  472. SK_PNMI_SENSOR_ENTRIES,
  473. sizeof(SK_PNMI_SENSOR),
  474. SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorValue),
  475. SK_PNMI_RO, SensorStat, 0},
  476. {OID_SKGE_SENSOR_WAR_THRES_LOW,
  477. SK_PNMI_SENSOR_ENTRIES,
  478. sizeof(SK_PNMI_SENSOR),
  479. SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorWarningThresholdLow),
  480. SK_PNMI_RO, SensorStat, 0},
  481. {OID_SKGE_SENSOR_WAR_THRES_UPP,
  482. SK_PNMI_SENSOR_ENTRIES,
  483. sizeof(SK_PNMI_SENSOR),
  484. SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorWarningThresholdHigh),
  485. SK_PNMI_RO, SensorStat, 0},
  486. {OID_SKGE_SENSOR_ERR_THRES_LOW,
  487. SK_PNMI_SENSOR_ENTRIES,
  488. sizeof(SK_PNMI_SENSOR),
  489. SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorErrorThresholdLow),
  490. SK_PNMI_RO, SensorStat, 0},
  491. {OID_SKGE_SENSOR_ERR_THRES_UPP,
  492. SK_PNMI_SENSOR_ENTRIES,
  493. sizeof(SK_PNMI_SENSOR),
  494. SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorErrorThresholdHigh),
  495. SK_PNMI_RO, SensorStat, 0},
  496. {OID_SKGE_SENSOR_STATUS,
  497. SK_PNMI_SENSOR_ENTRIES,
  498. sizeof(SK_PNMI_SENSOR),
  499. SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorStatus),
  500. SK_PNMI_RO, SensorStat, 0},
  501. {OID_SKGE_SENSOR_WAR_CTS,
  502. SK_PNMI_SENSOR_ENTRIES,
  503. sizeof(SK_PNMI_SENSOR),
  504. SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorWarningCts),
  505. SK_PNMI_RO, SensorStat, 0},
  506. {OID_SKGE_SENSOR_ERR_CTS,
  507. SK_PNMI_SENSOR_ENTRIES,
  508. sizeof(SK_PNMI_SENSOR),
  509. SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorErrorCts),
  510. SK_PNMI_RO, SensorStat, 0},
  511. {OID_SKGE_SENSOR_WAR_TIME,
  512. SK_PNMI_SENSOR_ENTRIES,
  513. sizeof(SK_PNMI_SENSOR),
  514. SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorWarningTimestamp),
  515. SK_PNMI_RO, SensorStat, 0},
  516. {OID_SKGE_SENSOR_ERR_TIME,
  517. SK_PNMI_SENSOR_ENTRIES,
  518. sizeof(SK_PNMI_SENSOR),
  519. SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorErrorTimestamp),
  520. SK_PNMI_RO, SensorStat, 0},
  521. {OID_SKGE_CHKSM_NUMBER,
  522. 1,
  523. 0,
  524. SK_PNMI_MAI_OFF(ChecksumNumber),
  525. SK_PNMI_RO, General, 0},
  526. {OID_SKGE_CHKSM_RX_OK_CTS,
  527. SKCS_NUM_PROTOCOLS,
  528. sizeof(SK_PNMI_CHECKSUM),
  529. SK_PNMI_OFF(Checksum) + SK_PNMI_CHK_OFF(ChecksumRxOkCts),
  530. SK_PNMI_RO, CsumStat, 0},
  531. {OID_SKGE_CHKSM_RX_UNABLE_CTS,
  532. SKCS_NUM_PROTOCOLS,
  533. sizeof(SK_PNMI_CHECKSUM),
  534. SK_PNMI_OFF(Checksum) + SK_PNMI_CHK_OFF(ChecksumRxUnableCts),
  535. SK_PNMI_RO, CsumStat, 0},
  536. {OID_SKGE_CHKSM_RX_ERR_CTS,
  537. SKCS_NUM_PROTOCOLS,
  538. sizeof(SK_PNMI_CHECKSUM),
  539. SK_PNMI_OFF(Checksum) + SK_PNMI_CHK_OFF(ChecksumRxErrCts),
  540. SK_PNMI_RO, CsumStat, 0},
  541. {OID_SKGE_CHKSM_TX_OK_CTS,
  542. SKCS_NUM_PROTOCOLS,
  543. sizeof(SK_PNMI_CHECKSUM),
  544. SK_PNMI_OFF(Checksum) + SK_PNMI_CHK_OFF(ChecksumTxOkCts),
  545. SK_PNMI_RO, CsumStat, 0},
  546. {OID_SKGE_CHKSM_TX_UNABLE_CTS,
  547. SKCS_NUM_PROTOCOLS,
  548. sizeof(SK_PNMI_CHECKSUM),
  549. SK_PNMI_OFF(Checksum) + SK_PNMI_CHK_OFF(ChecksumTxUnableCts),
  550. SK_PNMI_RO, CsumStat, 0},
  551. {OID_SKGE_STAT_TX,
  552. SK_PNMI_MAC_ENTRIES,
  553. sizeof(SK_PNMI_STAT),
  554. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxOkCts),
  555. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX},
  556. {OID_SKGE_STAT_TX_OCTETS,
  557. SK_PNMI_MAC_ENTRIES,
  558. sizeof(SK_PNMI_STAT),
  559. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxOctetsOkCts),
  560. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_OCTET},
  561. {OID_SKGE_STAT_TX_BROADCAST,
  562. SK_PNMI_MAC_ENTRIES,
  563. sizeof(SK_PNMI_STAT),
  564. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxBroadcastOkCts),
  565. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_BROADCAST},
  566. {OID_SKGE_STAT_TX_MULTICAST,
  567. SK_PNMI_MAC_ENTRIES,
  568. sizeof(SK_PNMI_STAT),
  569. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxMulticastOkCts),
  570. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_MULTICAST},
  571. {OID_SKGE_STAT_TX_UNICAST,
  572. SK_PNMI_MAC_ENTRIES,
  573. sizeof(SK_PNMI_STAT),
  574. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxUnicastOkCts),
  575. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_UNICAST},
  576. {OID_SKGE_STAT_TX_LONGFRAMES,
  577. SK_PNMI_MAC_ENTRIES,
  578. sizeof(SK_PNMI_STAT),
  579. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxLongFramesCts),
  580. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_LONGFRAMES},
  581. {OID_SKGE_STAT_TX_BURST,
  582. SK_PNMI_MAC_ENTRIES,
  583. sizeof(SK_PNMI_STAT),
  584. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxBurstCts),
  585. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_BURST},
  586. {OID_SKGE_STAT_TX_PFLOWC,
  587. SK_PNMI_MAC_ENTRIES,
  588. sizeof(SK_PNMI_STAT),
  589. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxPauseMacCtrlCts),
  590. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_PMACC},
  591. {OID_SKGE_STAT_TX_FLOWC,
  592. SK_PNMI_MAC_ENTRIES,
  593. sizeof(SK_PNMI_STAT),
  594. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxMacCtrlCts),
  595. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_MACC},
  596. {OID_SKGE_STAT_TX_SINGLE_COL,
  597. SK_PNMI_MAC_ENTRIES,
  598. sizeof(SK_PNMI_STAT),
  599. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxSingleCollisionCts),
  600. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_SINGLE_COL},
  601. {OID_SKGE_STAT_TX_MULTI_COL,
  602. SK_PNMI_MAC_ENTRIES,
  603. sizeof(SK_PNMI_STAT),
  604. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxMultipleCollisionCts),
  605. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_MULTI_COL},
  606. {OID_SKGE_STAT_TX_EXCESS_COL,
  607. SK_PNMI_MAC_ENTRIES,
  608. sizeof(SK_PNMI_STAT),
  609. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxExcessiveCollisionCts),
  610. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_EXCESS_COL},
  611. {OID_SKGE_STAT_TX_LATE_COL,
  612. SK_PNMI_MAC_ENTRIES,
  613. sizeof(SK_PNMI_STAT),
  614. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxLateCollisionCts),
  615. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_LATE_COL},
  616. {OID_SKGE_STAT_TX_DEFFERAL,
  617. SK_PNMI_MAC_ENTRIES,
  618. sizeof(SK_PNMI_STAT),
  619. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxDeferralCts),
  620. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_DEFFERAL},
  621. {OID_SKGE_STAT_TX_EXCESS_DEF,
  622. SK_PNMI_MAC_ENTRIES,
  623. sizeof(SK_PNMI_STAT),
  624. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxExcessiveDeferralCts),
  625. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_EXCESS_DEF},
  626. {OID_SKGE_STAT_TX_UNDERRUN,
  627. SK_PNMI_MAC_ENTRIES,
  628. sizeof(SK_PNMI_STAT),
  629. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxFifoUnderrunCts),
  630. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_UNDERRUN},
  631. {OID_SKGE_STAT_TX_CARRIER,
  632. SK_PNMI_MAC_ENTRIES,
  633. sizeof(SK_PNMI_STAT),
  634. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxCarrierCts),
  635. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_CARRIER},
  636. /* {OID_SKGE_STAT_TX_UTIL,
  637. SK_PNMI_MAC_ENTRIES,
  638. sizeof(SK_PNMI_STAT),
  639. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxUtilization),
  640. SK_PNMI_RO, MacPrivateStat, (SK_U16)(-1)}, */
  641. {OID_SKGE_STAT_TX_64,
  642. SK_PNMI_MAC_ENTRIES,
  643. sizeof(SK_PNMI_STAT),
  644. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTx64Cts),
  645. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_64},
  646. {OID_SKGE_STAT_TX_127,
  647. SK_PNMI_MAC_ENTRIES,
  648. sizeof(SK_PNMI_STAT),
  649. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTx127Cts),
  650. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_127},
  651. {OID_SKGE_STAT_TX_255,
  652. SK_PNMI_MAC_ENTRIES,
  653. sizeof(SK_PNMI_STAT),
  654. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTx255Cts),
  655. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_255},
  656. {OID_SKGE_STAT_TX_511,
  657. SK_PNMI_MAC_ENTRIES,
  658. sizeof(SK_PNMI_STAT),
  659. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTx511Cts),
  660. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_511},
  661. {OID_SKGE_STAT_TX_1023,
  662. SK_PNMI_MAC_ENTRIES,
  663. sizeof(SK_PNMI_STAT),
  664. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTx1023Cts),
  665. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_1023},
  666. {OID_SKGE_STAT_TX_MAX,
  667. SK_PNMI_MAC_ENTRIES,
  668. sizeof(SK_PNMI_STAT),
  669. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxMaxCts),
  670. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_MAX},
  671. {OID_SKGE_STAT_TX_SYNC,
  672. SK_PNMI_MAC_ENTRIES,
  673. sizeof(SK_PNMI_STAT),
  674. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxSyncCts),
  675. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_SYNC},
  676. {OID_SKGE_STAT_TX_SYNC_OCTETS,
  677. SK_PNMI_MAC_ENTRIES,
  678. sizeof(SK_PNMI_STAT),
  679. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatTxSyncOctetsCts),
  680. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HTX_SYNC_OCTET},
  681. {OID_SKGE_STAT_RX,
  682. SK_PNMI_MAC_ENTRIES,
  683. sizeof(SK_PNMI_STAT),
  684. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxOkCts),
  685. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX},
  686. {OID_SKGE_STAT_RX_OCTETS,
  687. SK_PNMI_MAC_ENTRIES,
  688. sizeof(SK_PNMI_STAT),
  689. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxOctetsOkCts),
  690. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_OCTET},
  691. {OID_SKGE_STAT_RX_BROADCAST,
  692. SK_PNMI_MAC_ENTRIES,
  693. sizeof(SK_PNMI_STAT),
  694. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxBroadcastOkCts),
  695. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_BROADCAST},
  696. {OID_SKGE_STAT_RX_MULTICAST,
  697. SK_PNMI_MAC_ENTRIES,
  698. sizeof(SK_PNMI_STAT),
  699. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxMulticastOkCts),
  700. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_MULTICAST},
  701. {OID_SKGE_STAT_RX_UNICAST,
  702. SK_PNMI_MAC_ENTRIES,
  703. sizeof(SK_PNMI_STAT),
  704. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxUnicastOkCts),
  705. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_UNICAST},
  706. {OID_SKGE_STAT_RX_LONGFRAMES,
  707. SK_PNMI_MAC_ENTRIES,
  708. sizeof(SK_PNMI_STAT),
  709. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxLongFramesCts),
  710. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_LONGFRAMES},
  711. {OID_SKGE_STAT_RX_PFLOWC,
  712. SK_PNMI_MAC_ENTRIES,
  713. sizeof(SK_PNMI_STAT),
  714. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxPauseMacCtrlCts),
  715. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_PMACC},
  716. {OID_SKGE_STAT_RX_FLOWC,
  717. SK_PNMI_MAC_ENTRIES,
  718. sizeof(SK_PNMI_STAT),
  719. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxMacCtrlCts),
  720. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_MACC},
  721. {OID_SKGE_STAT_RX_PFLOWC_ERR,
  722. SK_PNMI_MAC_ENTRIES,
  723. sizeof(SK_PNMI_STAT),
  724. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxPauseMacCtrlErrorCts),
  725. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_PMACC_ERR},
  726. {OID_SKGE_STAT_RX_FLOWC_UNKWN,
  727. SK_PNMI_MAC_ENTRIES,
  728. sizeof(SK_PNMI_STAT),
  729. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxMacCtrlUnknownCts),
  730. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_MACC_UNKWN},
  731. {OID_SKGE_STAT_RX_BURST,
  732. SK_PNMI_MAC_ENTRIES,
  733. sizeof(SK_PNMI_STAT),
  734. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxBurstCts),
  735. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_BURST},
  736. {OID_SKGE_STAT_RX_MISSED,
  737. SK_PNMI_MAC_ENTRIES,
  738. sizeof(SK_PNMI_STAT),
  739. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxMissedCts),
  740. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_MISSED},
  741. {OID_SKGE_STAT_RX_FRAMING,
  742. SK_PNMI_MAC_ENTRIES,
  743. sizeof(SK_PNMI_STAT),
  744. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxFramingCts),
  745. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_FRAMING},
  746. {OID_SKGE_STAT_RX_OVERFLOW,
  747. SK_PNMI_MAC_ENTRIES,
  748. sizeof(SK_PNMI_STAT),
  749. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxFifoOverflowCts),
  750. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_OVERFLOW},
  751. {OID_SKGE_STAT_RX_JABBER,
  752. SK_PNMI_MAC_ENTRIES,
  753. sizeof(SK_PNMI_STAT),
  754. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxJabberCts),
  755. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_JABBER},
  756. {OID_SKGE_STAT_RX_CARRIER,
  757. SK_PNMI_MAC_ENTRIES,
  758. sizeof(SK_PNMI_STAT),
  759. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxCarrierCts),
  760. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_CARRIER},
  761. {OID_SKGE_STAT_RX_IR_LENGTH,
  762. SK_PNMI_MAC_ENTRIES,
  763. sizeof(SK_PNMI_STAT),
  764. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxIRLengthCts),
  765. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_IRLENGTH},
  766. {OID_SKGE_STAT_RX_SYMBOL,
  767. SK_PNMI_MAC_ENTRIES,
  768. sizeof(SK_PNMI_STAT),
  769. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxSymbolCts),
  770. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_SYMBOL},
  771. {OID_SKGE_STAT_RX_SHORTS,
  772. SK_PNMI_MAC_ENTRIES,
  773. sizeof(SK_PNMI_STAT),
  774. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxShortsCts),
  775. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_SHORTS},
  776. {OID_SKGE_STAT_RX_RUNT,
  777. SK_PNMI_MAC_ENTRIES,
  778. sizeof(SK_PNMI_STAT),
  779. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxRuntCts),
  780. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_RUNT},
  781. {OID_SKGE_STAT_RX_CEXT,
  782. SK_PNMI_MAC_ENTRIES,
  783. sizeof(SK_PNMI_STAT),
  784. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxCextCts),
  785. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_CEXT},
  786. {OID_SKGE_STAT_RX_TOO_LONG,
  787. SK_PNMI_MAC_ENTRIES,
  788. sizeof(SK_PNMI_STAT),
  789. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxTooLongCts),
  790. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_TOO_LONG},
  791. {OID_SKGE_STAT_RX_FCS,
  792. SK_PNMI_MAC_ENTRIES,
  793. sizeof(SK_PNMI_STAT),
  794. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxFcsCts),
  795. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_FCS},
  796. /* {OID_SKGE_STAT_RX_UTIL,
  797. SK_PNMI_MAC_ENTRIES,
  798. sizeof(SK_PNMI_STAT),
  799. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxUtilization),
  800. SK_PNMI_RO, MacPrivateStat, (SK_U16)(-1)}, */
  801. {OID_SKGE_STAT_RX_64,
  802. SK_PNMI_MAC_ENTRIES,
  803. sizeof(SK_PNMI_STAT),
  804. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRx64Cts),
  805. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_64},
  806. {OID_SKGE_STAT_RX_127,
  807. SK_PNMI_MAC_ENTRIES,
  808. sizeof(SK_PNMI_STAT),
  809. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRx127Cts),
  810. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_127},
  811. {OID_SKGE_STAT_RX_255,
  812. SK_PNMI_MAC_ENTRIES,
  813. sizeof(SK_PNMI_STAT),
  814. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRx255Cts),
  815. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_255},
  816. {OID_SKGE_STAT_RX_511,
  817. SK_PNMI_MAC_ENTRIES,
  818. sizeof(SK_PNMI_STAT),
  819. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRx511Cts),
  820. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_511},
  821. {OID_SKGE_STAT_RX_1023,
  822. SK_PNMI_MAC_ENTRIES,
  823. sizeof(SK_PNMI_STAT),
  824. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRx1023Cts),
  825. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_1023},
  826. {OID_SKGE_STAT_RX_MAX,
  827. SK_PNMI_MAC_ENTRIES,
  828. sizeof(SK_PNMI_STAT),
  829. SK_PNMI_OFF(Stat) + SK_PNMI_STA_OFF(StatRxMaxCts),
  830. SK_PNMI_RO, MacPrivateStat, SK_PNMI_HRX_MAX},
  831. {OID_SKGE_PHYS_CUR_ADDR,
  832. SK_PNMI_MAC_ENTRIES,
  833. sizeof(SK_PNMI_CONF),
  834. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfMacCurrentAddr),
  835. SK_PNMI_RW, Addr, 0},
  836. {OID_SKGE_PHYS_FAC_ADDR,
  837. SK_PNMI_MAC_ENTRIES,
  838. sizeof(SK_PNMI_CONF),
  839. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfMacFactoryAddr),
  840. SK_PNMI_RO, Addr, 0},
  841. {OID_SKGE_PMD,
  842. SK_PNMI_MAC_ENTRIES,
  843. sizeof(SK_PNMI_CONF),
  844. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfPMD),
  845. SK_PNMI_RO, MacPrivateConf, 0},
  846. {OID_SKGE_CONNECTOR,
  847. SK_PNMI_MAC_ENTRIES,
  848. sizeof(SK_PNMI_CONF),
  849. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfConnector),
  850. SK_PNMI_RO, MacPrivateConf, 0},
  851. {OID_SKGE_LINK_CAP,
  852. SK_PNMI_MAC_ENTRIES,
  853. sizeof(SK_PNMI_CONF),
  854. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfLinkCapability),
  855. SK_PNMI_RO, MacPrivateConf, 0},
  856. {OID_SKGE_LINK_MODE,
  857. SK_PNMI_MAC_ENTRIES,
  858. sizeof(SK_PNMI_CONF),
  859. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfLinkMode),
  860. SK_PNMI_RW, MacPrivateConf, 0},
  861. {OID_SKGE_LINK_MODE_STATUS,
  862. SK_PNMI_MAC_ENTRIES,
  863. sizeof(SK_PNMI_CONF),
  864. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfLinkModeStatus),
  865. SK_PNMI_RO, MacPrivateConf, 0},
  866. {OID_SKGE_LINK_STATUS,
  867. SK_PNMI_MAC_ENTRIES,
  868. sizeof(SK_PNMI_CONF),
  869. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfLinkStatus),
  870. SK_PNMI_RO, MacPrivateConf, 0},
  871. {OID_SKGE_FLOWCTRL_CAP,
  872. SK_PNMI_MAC_ENTRIES,
  873. sizeof(SK_PNMI_CONF),
  874. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfFlowCtrlCapability),
  875. SK_PNMI_RO, MacPrivateConf, 0},
  876. {OID_SKGE_FLOWCTRL_MODE,
  877. SK_PNMI_MAC_ENTRIES,
  878. sizeof(SK_PNMI_CONF),
  879. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfFlowCtrlMode),
  880. SK_PNMI_RW, MacPrivateConf, 0},
  881. {OID_SKGE_FLOWCTRL_STATUS,
  882. SK_PNMI_MAC_ENTRIES,
  883. sizeof(SK_PNMI_CONF),
  884. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfFlowCtrlStatus),
  885. SK_PNMI_RO, MacPrivateConf, 0},
  886. {OID_SKGE_PHY_OPERATION_CAP,
  887. SK_PNMI_MAC_ENTRIES,
  888. sizeof(SK_PNMI_CONF),
  889. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfPhyOperationCapability),
  890. SK_PNMI_RO, MacPrivateConf, 0},
  891. {OID_SKGE_PHY_OPERATION_MODE,
  892. SK_PNMI_MAC_ENTRIES,
  893. sizeof(SK_PNMI_CONF),
  894. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfPhyOperationMode),
  895. SK_PNMI_RW, MacPrivateConf, 0},
  896. {OID_SKGE_PHY_OPERATION_STATUS,
  897. SK_PNMI_MAC_ENTRIES,
  898. sizeof(SK_PNMI_CONF),
  899. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfPhyOperationStatus),
  900. SK_PNMI_RO, MacPrivateConf, 0},
  901. {OID_SKGE_SPEED_CAP,
  902. SK_PNMI_MAC_ENTRIES,
  903. sizeof(SK_PNMI_CONF),
  904. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfSpeedCapability),
  905. SK_PNMI_RO, MacPrivateConf, 0},
  906. {OID_SKGE_SPEED_MODE,
  907. SK_PNMI_MAC_ENTRIES,
  908. sizeof(SK_PNMI_CONF),
  909. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfSpeedMode),
  910. SK_PNMI_RW, MacPrivateConf, 0},
  911. {OID_SKGE_SPEED_STATUS,
  912. SK_PNMI_MAC_ENTRIES,
  913. sizeof(SK_PNMI_CONF),
  914. SK_PNMI_OFF(Conf) + SK_PNMI_CNF_OFF(ConfSpeedStatus),
  915. SK_PNMI_RO, MacPrivateConf, 0},
  916. {OID_SKGE_TRAP,
  917. 1,
  918. 0,
  919. SK_PNMI_MAI_OFF(Trap),
  920. SK_PNMI_RO, General, 0},
  921. {OID_SKGE_TRAP_NUMBER,
  922. 1,
  923. 0,
  924. SK_PNMI_MAI_OFF(TrapNumber),
  925. SK_PNMI_RO, General, 0},
  926. {OID_SKGE_RLMT_MODE,
  927. 1,
  928. 0,
  929. SK_PNMI_MAI_OFF(RlmtMode),
  930. SK_PNMI_RW, Rlmt, 0},
  931. {OID_SKGE_RLMT_PORT_NUMBER,
  932. 1,
  933. 0,
  934. SK_PNMI_MAI_OFF(RlmtPortNumber),
  935. SK_PNMI_RO, Rlmt, 0},
  936. {OID_SKGE_RLMT_PORT_ACTIVE,
  937. 1,
  938. 0,
  939. SK_PNMI_MAI_OFF(RlmtPortActive),
  940. SK_PNMI_RO, Rlmt, 0},
  941. {OID_SKGE_RLMT_PORT_PREFERRED,
  942. 1,
  943. 0,
  944. SK_PNMI_MAI_OFF(RlmtPortPreferred),
  945. SK_PNMI_RW, Rlmt, 0},
  946. {OID_SKGE_RLMT_CHANGE_CTS,
  947. 1,
  948. 0,
  949. SK_PNMI_MAI_OFF(RlmtChangeCts),
  950. SK_PNMI_RO, Rlmt, 0},
  951. {OID_SKGE_RLMT_CHANGE_TIME,
  952. 1,
  953. 0,
  954. SK_PNMI_MAI_OFF(RlmtChangeTime),
  955. SK_PNMI_RO, Rlmt, 0},
  956. {OID_SKGE_RLMT_CHANGE_ESTIM,
  957. 1,
  958. 0,
  959. SK_PNMI_MAI_OFF(RlmtChangeEstimate),
  960. SK_PNMI_RO, Rlmt, 0},
  961. {OID_SKGE_RLMT_CHANGE_THRES,
  962. 1,
  963. 0,
  964. SK_PNMI_MAI_OFF(RlmtChangeThreshold),
  965. SK_PNMI_RW, Rlmt, 0},
  966. {OID_SKGE_RLMT_PORT_INDEX,
  967. SK_PNMI_MAC_ENTRIES,
  968. sizeof(SK_PNMI_RLMT),
  969. SK_PNMI_OFF(Rlmt) + SK_PNMI_RLM_OFF(RlmtIndex),
  970. SK_PNMI_RO, RlmtStat, 0},
  971. {OID_SKGE_RLMT_STATUS,
  972. SK_PNMI_MAC_ENTRIES,
  973. sizeof(SK_PNMI_RLMT),
  974. SK_PNMI_OFF(Rlmt) + SK_PNMI_RLM_OFF(RlmtStatus),
  975. SK_PNMI_RO, RlmtStat, 0},
  976. {OID_SKGE_RLMT_TX_HELLO_CTS,
  977. SK_PNMI_MAC_ENTRIES,
  978. sizeof(SK_PNMI_RLMT),
  979. SK_PNMI_OFF(Rlmt) + SK_PNMI_RLM_OFF(RlmtTxHelloCts),
  980. SK_PNMI_RO, RlmtStat, 0},
  981. {OID_SKGE_RLMT_RX_HELLO_CTS,
  982. SK_PNMI_MAC_ENTRIES,
  983. sizeof(SK_PNMI_RLMT),
  984. SK_PNMI_OFF(Rlmt) + SK_PNMI_RLM_OFF(RlmtRxHelloCts),
  985. SK_PNMI_RO, RlmtStat, 0},
  986. {OID_SKGE_RLMT_TX_SP_REQ_CTS,
  987. SK_PNMI_MAC_ENTRIES,
  988. sizeof(SK_PNMI_RLMT),
  989. SK_PNMI_OFF(Rlmt) + SK_PNMI_RLM_OFF(RlmtTxSpHelloReqCts),
  990. SK_PNMI_RO, RlmtStat, 0},
  991. {OID_SKGE_RLMT_RX_SP_CTS,
  992. SK_PNMI_MAC_ENTRIES,
  993. sizeof(SK_PNMI_RLMT),
  994. SK_PNMI_OFF(Rlmt) + SK_PNMI_RLM_OFF(RlmtRxSpHelloCts),
  995. SK_PNMI_RO, RlmtStat, 0},
  996. {OID_SKGE_RLMT_MONITOR_NUMBER,
  997. 1,
  998. 0,
  999. SK_PNMI_MAI_OFF(RlmtMonitorNumber),
  1000. SK_PNMI_RO, General, 0},
  1001. {OID_SKGE_RLMT_MONITOR_INDEX,
  1002. SK_PNMI_MONITOR_ENTRIES,
  1003. sizeof(SK_PNMI_RLMT_MONITOR),
  1004. SK_PNMI_OFF(RlmtMonitor) + SK_PNMI_MON_OFF(RlmtMonitorIndex),
  1005. SK_PNMI_RO, Monitor, 0},
  1006. {OID_SKGE_RLMT_MONITOR_ADDR,
  1007. SK_PNMI_MONITOR_ENTRIES,
  1008. sizeof(SK_PNMI_RLMT_MONITOR),
  1009. SK_PNMI_OFF(RlmtMonitor) + SK_PNMI_MON_OFF(RlmtMonitorAddr),
  1010. SK_PNMI_RO, Monitor, 0},
  1011. {OID_SKGE_RLMT_MONITOR_ERRS,
  1012. SK_PNMI_MONITOR_ENTRIES,
  1013. sizeof(SK_PNMI_RLMT_MONITOR),
  1014. SK_PNMI_OFF(RlmtMonitor) + SK_PNMI_MON_OFF(RlmtMonitorErrorCts),
  1015. SK_PNMI_RO, Monitor, 0},
  1016. {OID_SKGE_RLMT_MONITOR_TIMESTAMP,
  1017. SK_PNMI_MONITOR_ENTRIES,
  1018. sizeof(SK_PNMI_RLMT_MONITOR),
  1019. SK_PNMI_OFF(RlmtMonitor) + SK_PNMI_MON_OFF(RlmtMonitorTimestamp),
  1020. SK_PNMI_RO, Monitor, 0},
  1021. {OID_SKGE_RLMT_MONITOR_ADMIN,
  1022. SK_PNMI_MONITOR_ENTRIES,
  1023. sizeof(SK_PNMI_RLMT_MONITOR),
  1024. SK_PNMI_OFF(RlmtMonitor) + SK_PNMI_MON_OFF(RlmtMonitorAdmin),
  1025. SK_PNMI_RW, Monitor, 0},
  1026. {OID_SKGE_MTU,
  1027. 1,
  1028. 0,
  1029. SK_PNMI_MAI_OFF(MtuSize),
  1030. SK_PNMI_RW, MacPrivateConf, 0},
  1031. {OID_SKGE_VCT_GET,
  1032. 0,
  1033. 0,
  1034. 0,
  1035. SK_PNMI_RO, Vct, 0},
  1036. {OID_SKGE_VCT_SET,
  1037. 0,
  1038. 0,
  1039. 0,
  1040. SK_PNMI_WO, Vct, 0},
  1041. {OID_SKGE_VCT_STATUS,
  1042. 0,
  1043. 0,
  1044. 0,
  1045. SK_PNMI_RO, Vct, 0},
  1046. };