_IOWR(ATMDRV_MAJOR, 15, ATMDRV_OAM_LOOPBACK)
#define ATMIOCTL_PORT_MIRRORING \
_IOWR(ATMDRV_MAJOR, 16, MirrorCfg)
+#define ATMIOCTL_GET_PRIORITY_PACKET_GROUP \
+ _IOWR(ATMDRV_MAJOR, 17, ATMDRV_PRIORITY_PACKET_GROUP)
+#define ATMIOCTL_SET_PRIORITY_PACKET_GROUP \
+ _IOWR(ATMDRV_MAJOR, 18, ATMDRV_PRIORITY_PACKET_GROUP)
+#define ATMIOCTL_SET_TRAFFIC_TYPE \
+ _IOWR(ATMDRV_MAJOR, 19, ATMDRV_TRAFFIC_TYPE)
+// USR9109/9113
+#define ATMIOCTL_NVRamCfg \
+ _IOWR(ATMDRV_MAJOR, 20, ATMDRV_SET_MAC)
-#define MAX_ATMDRV_IOCTL_COMMANDS 17
+#define MAX_ATMDRV_IOCTL_COMMANDS 21
/* Typedefs. */
typedef struct
BCMATM_STATUS baStatus;
} ATMDRV_INITIALIZE, *PATMDRV_INITIALIZE;
+// USR9109/9113
+typedef struct
+{ PATM_MAC_PARMS pMac;
+ BCMATM_STATUS baStatus;
+} ATMDRV_SET_MAC, *PATMDRV_SET_MAC;
+
typedef struct
{
UINT8 ucPhyPort;
BCMATM_STATUS baStatus;
} ATMDRV_TRAFFIC_DESCR_TABLE_SIZE, *PATMDRV_TRAFFIC_DESCR_TABLE_SIZE;
+typedef struct
+{
+ UINT32 ulGroupNumber;
+ PATM_PRIORITY_PACKET_ENTRY pPriorityPackets;
+ UINT32 ulPriorityPacketsSize;
+ BCMATM_STATUS baStatus;
+} ATMDRV_PRIORITY_PACKET_GROUP, *PATMDRV_PRIORITY_PACKET_GROUP;
+
typedef struct
{
PATM_TRAFFIC_DESCR_PARM_ENTRY pTrafficDescrTable;
BCMATM_STATUS baStatus;
} ATMDRV_TEST, *PATMDRV_TEST;
+typedef struct
+{
+ int ulTrafficType;
+ BCMATM_STATUS baStatus;
+}
+ATMDRV_TRAFFIC_TYPE, *PATMDRV_TRAFFIC_TYPE;
+
typedef struct
{
ATM_VCC_ADDR VccAddr;
UINT32 type;
BCMATM_STATUS baStatus;
+ UINT32 repetition;
+ UINT32 timeout;
+ UINT32 sent;
+ UINT32 received;
+ UINT32 minResponseTime;
+ UINT32 maxResponseTime;
+ UINT32 avgResponseTime;
} ATMDRV_OAM_LOOPBACK, *PATMDRV_OAM_LOOPBACK;
#include "portMirror.h"
#define RM_TYPE_DEFAULT 0x20 /* forward/source_generated/congested */
#define RM_UNUSED_BYTES_OFFSET 2
#define RM_UNUSED_BYTES_LEN 46
+#define OAM_LOOPBACK_DEFAULT_REPETITION 1
+#define OAM_LOOPBACK_DEFAULT_TIMEOUT 1000 /* msec */
+#define OAM_LOOPBACK_RX_TIMEOUT_INTERVAL 10 /* check receive of OAM response every 10 ms */
+
#if defined(__cplusplus)
}
#endif