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