skgemib.c 30 KB

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