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