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