blob: 1b00daf3e982be6c748a25578cd419cae5fe3a44 [file] [log] [blame]
/*
* Copyright (c) 2013, 2015-2019, 2021, The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#include "shell_config.h"
#include "shell_sw.h"
#if 0
/*cmdline tree descript*/
struct cmd_des_t gcmd_des[] =
{
/*port ctrl*/
#ifdef IN_PORTCONTROL
{
"port", "config port control",
{
{"duplex", "set", "set duplex mode of a port", "<port_id> <half|full>", SW_API_PT_DUPLEX_SET, NULL},
{"speed", "set", "set speed mode of a port", "<port_id> <10|100|1000>", SW_API_PT_SPEED_SET, NULL},
{"autoAdv", "set", "set auto-negotiation advertisement of a port", "<port_id> <cap_bitmap>", SW_API_PT_AN_ADV_SET, NULL},
{"autoNeg", "enable", "enable auto-negotiation of a port", "<port_id>", SW_API_PT_AN_ENABLE, NULL},
{"autoNeg", "restart", "restart auto-negotiation process of a port", "<port_id>", SW_API_PT_AN_RESTART, NULL},
{"autoNegenable", "set", "enable auto-negotiation of a port", "<port_id>", SW_API_PT_AN_ENABLE, NULL},
{"autoNegrestart", "set", "restart auto-negotiation process of a port", "<port_id>", SW_API_PT_AN_RESTART, NULL},
{"header", "set", "set atheros header/tag status of a port", "<port_id> <enable|disable>", SW_API_PT_HDR_SET, NULL},
{"txhdr", "set", "set tx frame atheros header/tag status of a port", "<port_id> <noheader|onlymanagement|allframe>", SW_API_PT_TXHDR_SET, NULL},
{"rxhdr", "set", "set rx frame atheros header/tag status of a port", "<port_id> <noheader|onlymanagement|allframe>", SW_API_PT_RXHDR_SET, NULL},
{"hdrtype", "set", "set atheros header/tag type", "<enable|disable> <type 0x-0xffff>", SW_API_HEADER_TYPE_SET, NULL},
{"flowCtrl", "set", "set flow control status of a port", "<port_id> <enable|disable>", SW_API_PT_FLOWCTRL_SET, NULL},
{"flowCtrlforcemode", "set", "set flow control force mode of a port", "<port_id> <enable|disable>", SW_API_PT_FLOWCTRL_MODE_SET, NULL},
{"powersave", "set", "set powersave status of a port", "<port_id> <enable|disable>", SW_API_PT_POWERSAVE_SET, NULL},
{"hibernate", "set", "set hibernate status of a port", "<port_id> <enable|disable>", SW_API_PT_HIBERNATE_SET, NULL},
{"cdt", "run", "run cable diagnostic test of a port", "<port_id> <mdi_pair>", SW_API_PT_CDT, NULL},
{"txmacstatus", "set", "set txmac status of a port", "<port_id> <enable|disable>", SW_API_TXMAC_STATUS_SET, NULL},
{"rxmacstatus", "set", "set rxmac status of a port", "<port_id> <enable|disable>", SW_API_RXMAC_STATUS_SET, NULL},
{"txfcstatus", "set", "set tx flow control status of a port", "<port_id> <enable|disable>", SW_API_TXFC_STATUS_SET, NULL},
{"rxfcstatus", "set", "set rx flow control status of a port", "<port_id> <enable|disable>", SW_API_RXFC_STATUS_SET, NULL},
{"bpstatus", "set", "set back pressure status of a port", "<port_id> <enable|disable>", SW_API_BP_STATUS_SET, NULL},
{"linkforcemode", "set", "set link force mode of a port", "<port_id> <enable|disable>", SW_API_PT_LINK_MODE_SET, NULL},
{"macLoopback", "set", "set mac level loop back mode of port", "<port_id> <enable|disable>", SW_API_PT_MAC_LOOPBACK_SET, NULL},
{"congedrop", "set", "set congestion drop of port queue", "<port_id> <queue_id> <enable|disable>", SW_API_PT_CONGESTION_DROP_SET, NULL},
{"ringfcthresh", "set", "set flwo ctrl thres of ring", "<ring_id> <on_thres> <off_thres>", SW_API_PT_RING_FLOW_CTRL_THRES_SET, NULL},
{"Ieee8023az", "set", "set 8023az status of a port", "<port_id> <enable|disable>", SW_API_PT_8023AZ_SET, NULL},
{"crossover", "set", "set crossover mode of a port", "<port_id> <auto|mdi|mdix>", SW_API_PT_MDIX_SET, NULL},
{"crossover", "get", "get crossover mode of a port", "<port_id>", SW_API_PT_MDIX_GET, NULL},
{"crossover", "status", "get current crossover status of a port", "<port_id>", SW_API_PT_MDIX_STATUS_GET, NULL},
{"preferMedium", "set", "set prefer medium of a combo port", "<port_id> <copper|fiber>", SW_API_PT_COMBO_PREFER_MEDIUM_SET, NULL},
{"preferMedium", "get", "get prefer medium of a combo port", "<port_id>", SW_API_PT_COMBO_PREFER_MEDIUM_GET, NULL},
{"mediumType", "get", "get current medium status of a combo port", "<port_id>", SW_API_PT_COMBO_MEDIUM_STATUS_GET, NULL},
{"fiberMode", "set", "set fiber mode of a combo fiber port", "<port_id> <100fx|1000bx>", SW_API_PT_COMBO_FIBER_MODE_SET, NULL},
{"fiberMode", "get", "get fiber mode of a combo fiber port", "<port_id>", SW_API_PT_COMBO_FIBER_MODE_GET, NULL},
{"localLoopback", "set", "set local loopback of a port", "<port_id> <enable|disable>", SW_API_PT_LOCAL_LOOPBACK_SET, NULL},
{"localLoopback", "get", "get local loopback of a port", "<port_id>", SW_API_PT_LOCAL_LOOPBACK_GET, NULL},
{"remoteLoopback", "set", "set remote loopback of a port", "<port_id> <enable|disable>", SW_API_PT_REMOTE_LOOPBACK_SET, NULL},
{"remoteLoopback", "get", "get remote loopback of a port", "<port_id>", SW_API_PT_REMOTE_LOOPBACK_GET, NULL},
{"reset", "set", "reset phy of a port", "<port_id>", SW_API_PT_RESET, NULL},
{"poweroff", "set", "power off phy of a port", "<port_id>", SW_API_PT_POWER_OFF, NULL},
{"poweron", "set", "power on phy of a port", "<port_id>", SW_API_PT_POWER_ON, NULL},
{"magicFrameMac", "set", "set magic frame mac address of a port", "<port_id> <mac_address>", SW_API_PT_MAGIC_FRAME_MAC_SET, NULL},
{"magicFrameMac", "get", "get magic frame mac address of a port", "<port_id>", SW_API_PT_MAGIC_FRAME_MAC_GET, NULL},
{"phyId", "get", "get phy id of a port", "<port_id>", SW_API_PT_PHY_ID_GET, NULL},
{"wolstatus", "set", "set wol status of a port", "<port_id> <enable|disable>", SW_API_PT_WOL_STATUS_SET, NULL},
{"wolstatus", "get", "get wol status of a port", "<port_id>", SW_API_PT_WOL_STATUS_GET, NULL},
{"interfaceMode", "set", "set interface mode of phy", "<port_id> <psgmii_baset|psgmii_bx1000|psgmii_fx100|psgmii_amdet|sgmii_baset>", SW_API_PT_INTERFACE_MODE_SET, NULL},
{"interfaceMode", "get", "get interface mode of phy", "<port_id>", SW_API_PT_INTERFACE_MODE_GET, NULL},
{"interfaceMode", "status", "get current interface mode of phy", "<port_id>", SW_API_PT_INTERFACE_MODE_STATUS_GET, NULL},
{"counter", "set", "set counter status of a port", "<port_id> <enable|disable>", SW_API_PT_COUNTER_SET, NULL},
{"counter", "get", "get counter status of a port", "<port_id>", SW_API_PT_COUNTER_GET, NULL},
{"counter", "show", "show counter statistics of a port", "<port_id>", SW_API_PT_COUNTER_SHOW, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL},/*end of desc*/
},
},
#endif
/*vlan*/
#ifdef IN_VLAN
{
"vlan", "config VLAN table",
{
{"entry", "set", "create a VLAN entry", "<vlan_id>", SW_API_VLAN_ADD, NULL},
{"entry", "create", "create a VLAN entry", "<vlan_id>", SW_API_VLAN_ADD, NULL},
{"entry", "del", "delete a VLAN entryn", "<vlan_id>", SW_API_VLAN_DEL, NULL},
{"entry", "update", "update port member of a VLAN entry", "<vlan_id> <member_bitmap> <0>", SW_API_VLAN_MEM_UPDATE, NULL},
{"entry", "find", "find a VLAN entry by VLAN id", "<vlan_id>", SW_API_VLAN_FIND, NULL},
{"entry", "next", "find next VLAN entry by VLAN id", "<vlan_id>",SW_API_VLAN_NEXT, NULL},
{"entry", "append", "append a VLAN entry", "", SW_API_VLAN_APPEND, NULL},
{"entry", "flush", "flush all VLAN entries", "",SW_API_VLAN_FLUSH, NULL},
{"fid", "set", "set VLAN entry fid", "<vlan_id> <fid>",SW_API_VLAN_FID_SET, NULL},
{"member", "set", "add VLAN entry member", "<vlan_id> <port_id> <unmodified|untagged|tagged>",SW_API_VLAN_MEMBER_ADD, NULL},
{"member", "add", "add VLAN entry member", "<vlan_id> <port_id> <unmodified|untagged|tagged>",SW_API_VLAN_MEMBER_ADD, NULL},
{"member", "del", "del VLAN entry member", "<vlan_id> <port_id>",SW_API_VLAN_MEMBER_DEL, NULL},
{"learnsts", "set", "set VLAN entry learn status", "<vlan_id> <enable|disable>",SW_API_VLAN_LEARN_STATE_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/*portvlan*/
#ifdef IN_PORTVLAN
{
"portVlan", "config port base VLAN",
{
{"ingress", "set", "set ingress VLAN mode of a port", "<port_id> <disable|secure|check|fallback>", SW_API_PT_ING_MODE_SET, NULL},
{"egress", "set", "set egress VLAN mode of a port", "<port_id> <unmodified|untagged|tagged|hybrid|untouched>", SW_API_PT_EG_MODE_SET, NULL},
{"member", "set", "add a member to the port based VLAN of a port", "<port_id> <port_bitmap>", SW_API_PT_VLAN_MEM_UPDATE, NULL},
{"member", "add", "add a member to the port based VLAN of a port", "<port_id> <memport_id>", SW_API_PT_VLAN_MEM_ADD, NULL},
{"member", "del", "delete a member from the port based VLAN of a port", "<port_id> <memport_id>", SW_API_PT_VLAN_MEM_DEL, NULL},
{"member", "update", "update members of the port based VLAN of a port", "<port_id> <port_bitmap>", SW_API_PT_VLAN_MEM_UPDATE, NULL},
{"defaultVid", "set", "set default VLAN id of a port", "<port_id> <vid>", SW_API_PT_DEF_VID_SET, NULL},
{"forceVid", "set", "set VLAN id enforcement status of a port", "<port_id> <enable|disable>", SW_API_PT_FORCE_DEF_VID_SET, NULL},
{"forceMode", "set", "set port based VLAN enforcement status of a port", "<port_id> <enable|disable>", SW_API_PT_FORCE_PORTVLAN_SET, NULL},
{"nestVlan", "set", "set nest VLAN status of a port", "<port_id> <enable|disable>", SW_API_PT_NESTVLAN_SET, NULL},
{"sVlanTPID", "set", "set service VLAN tpid", "<tpid>", SW_API_NESTVLAN_TPID_SET, NULL},
{"invlan", "set", "set port invlan mode", "<port_id> <admit_all|admit_tagged|admit_untagged>", SW_API_PT_IN_VLAN_MODE_SET, NULL},
{"tlsMode", "set", "set TLS mode", "<port_id> <enable|disable>", SW_API_PT_TLS_SET, NULL},
{"priPropagation", "set", "set priority propagation", "<port_id> <enable|disable>", SW_API_PT_PRI_PROPAGATION_SET, NULL},
{"defaultSVid", "set", "set default SVID", "<port_id> <vlan_id>", SW_API_PT_DEF_SVID_SET, NULL},
{"defaultCVid", "set", "set default CVID", "<port_id> <vlan_id>", SW_API_PT_DEF_CVID_SET, NULL},
{"vlanPropagation", "set", "set vlan propagation", "<port_id> <disable|clone|replace>", SW_API_PT_VLAN_PROPAGATION_SET, NULL},
{"translation", "set", "add vlan translation", "<port_id>", SW_API_PT_VLAN_TRANS_ADD, NULL},
{"translation", "add", "add vlan translation", "<port_id>", SW_API_PT_VLAN_TRANS_ADD, NULL},
{"translation", "del", "del vlan translation", "<port_id>", SW_API_PT_VLAN_TRANS_DEL, NULL},
{"translation", "iterate", "iterate vlan translation tables", "<port_id> <iterator>", SW_API_PT_VLAN_TRANS_ITERATE, NULL},
{"qinqMode", "set", "set qinq mode", "<ctag|stag>", SW_API_QINQ_MODE_SET, NULL},
{"qinqRole", "set", "set qinq role", "<port_id> <edge|core>", SW_API_PT_QINQ_ROLE_SET, NULL},
{"macvlanxlt", "set", "set mac vlan xlt status", "<port_id> <enable|disable>", SW_API_PT_MAC_VLAN_XLT_SET, NULL},
{"netiso", "set", "enable public/private net isolate", "<enable|disable>", SW_API_NETISOLATE_SET, NULL},
{"egbypass", "set", "enable egress translation filter bypass", "<enable|disable>", SW_API_EG_FLTR_BYPASS_EN_SET, NULL},
{"ptvrfid", "set", "set port VRF ID", "<port_id> <vrf_id>", SW_API_PT_VRF_ID_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/*fdb*/
#ifdef IN_FDB
{
"fdb", "config FDB table",
{
{"entry", "set", "add a FDB entry", "", SW_API_FDB_ADD, NULL},
{"entry", "add", "add a FDB entry", "", SW_API_FDB_ADD, NULL},
{"entry", "del", "delete a FDB entry", "", SW_API_FDB_DELMAC, NULL},
{"entry", "flush", "flush all FDB entries", "<0:dynamic only|1:dynamic and static>", SW_API_FDB_DELALL, NULL},
{"entry", "find", "find a FDB entry", "", SW_API_FDB_FIND, NULL},
{"entry", "iterate", "iterate all FDB entries", "<iterator>", SW_API_FDB_ITERATE, NULL},
{"entry", "extendnext", "find next FDB entry in extend mode", "", SW_API_FDB_EXTEND_NEXT, NULL},
{"entry", "extendfirst", "find first FDB entry in extend mode", "", SW_API_FDB_EXTEND_FIRST, NULL},
{"entry", "transfer", "transfer port info in FDB entry", "<old port_id> <new port_id> <fid>", SW_API_FDB_TRANSFER, NULL},
{"portEntry", "flush", "flush all FDB entries by a port", "<port_id> <0:dynamic only|1:dynamic and static>", SW_API_FDB_DELPORT, NULL},
{"firstEntry", "find", "find the first FDB entry", "", SW_API_FDB_FIRST, NULL},
{"nextEntry", "find", "find next FDB entry", "", SW_API_FDB_NEXT, NULL},
{"portLearn", "set", "set FDB entry learning status of a port", "<port_id> <enable|disable>", SW_API_FDB_PT_LEARN_SET, NULL},
{"ageCtrl", "set", "set FDB entry aging status", "<enable|disable>", SW_API_FDB_AGE_CTRL_SET, NULL},
{"vlansmode", "set", "set FDB vlan search mode", "<ivl|svl>", SW_API_FDB_VLAN_IVL_SVL_SET, NULL},
{"ageTime", "set", "set FDB entry aging time", "<time:s>", SW_API_FDB_AGE_TIME_SET, NULL},
{"ptlearnlimit", "set", "set port FDB entry learn limit", "<port_id> <enable|disable> <limitcounter>", SW_API_PT_FDB_LEARN_LIMIT_SET, NULL},
{"ptlearnexceedcmd", "set", "set port forwarding cmd when exceed learn limit", "<port_id> <forward|drop|cpycpu|rdtcpu>", SW_API_PT_FDB_LEARN_EXCEED_CMD_SET, NULL},
{"learnlimit", "set", "set FDB entry learn limit", "<enable|disable> <limitcounter>", SW_API_FDB_LEARN_LIMIT_SET, NULL},
{"learnexceedcmd", "set", "set forwarding cmd when exceed learn limit", "<forward|drop|cpycpu|rdtcpu>", SW_API_FDB_LEARN_EXCEED_CMD_SET, NULL},
{"resventry", "set", "add a reserve FDB entry", "", SW_API_FDB_RESV_ADD, NULL},
{"resventry", "add", "add a reserve FDB entry", "", SW_API_FDB_RESV_ADD, NULL},
{"resventry", "del", "delete reserve a FDB entry", "", SW_API_FDB_RESV_DEL, NULL},
{"resventry", "find", "find a reserve FDB entry", "", SW_API_FDB_RESV_FIND, NULL},
{"resventry", "iterate", "iterate all reserve FDB entries", "<iterator>", SW_API_FDB_RESV_ITERATE, NULL},
{"ptLearnstatic", "set", "set FDB entry learning static status of a port", "<port_id> <enable|disable>", SW_API_FDB_PT_LEARN_STATIC_SET, NULL},
{"port", "add", "add one port to a FDB entry", "<fid> <macaddr> <port_id>", SW_API_FDB_PORT_ADD, NULL},
{"port", "del", "del one port from a FDB entry", "<fid> <macaddr> <port_id>", SW_API_FDB_PORT_DEL, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/*acl*/
#ifdef IN_ACL
{
"acl", "config ACL",
{
{"list", "create", "create an ACL list", "<list_id> <priority>", SW_API_ACL_LIST_CREAT, NULL},
{"list", "destroy", "destroy an ACL list", "<list_id>", SW_API_ACL_LIST_DESTROY, NULL},
{"list", "bind", "bind an ACL list to a port", "<list_id> <0-0:direction> <0-0:objtype> <objindex>", SW_API_ACL_LIST_BIND, NULL},
{"list", "unbind", "unbind an ACL list from a port", "<list_id> <0-0:direction> <0-0:objtype> <objindex>", SW_API_ACL_LIST_UNBIND, NULL},
{"rule", "add", "add ACL rules to an ACL list", "<list_id> <rule_id> <rule_nr>", SW_API_ACL_RULE_ADD, NULL},
{"rule", "del", "delete ACL rules from an ACL list", "<list_id> <rule_id> <rule_nr>", SW_API_ACL_RULE_DELETE, NULL},
{"rule", "query", "query a ACL rule", "<list_id> <rule_id>", SW_API_ACL_RULE_QUERY, NULL},
{"rule", "active", "active ACL rules in an ACL list", "<list_id> <rule_id> <rule_nr>", SW_API_ACL_RULE_ACTIVE, NULL},
{"rule", "deactive", "deactive ACL rules in an ACL list", "<list_id> <rule_id> <rule_nr>", SW_API_ACL_RULE_DEACTIVE, NULL},
{"srcfiltersts", "set", "set status of ACL rules source filter", "<rule_id> <enable|disable>", SW_API_ACL_RULE_SRC_FILTER_STS_SET, NULL},
{"status", "set", "set status of ACL engine", "<enable|disable>", SW_API_ACL_STATUS_SET, NULL},
{"udfprofile", "set", "set port udf profile", "<port_id> <l2/l2snap/l3/l3plus/l4> <offset> <length>", SW_API_ACL_PT_UDF_PROFILE_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/*qos*/
#ifdef IN_QOS
{
"qos", "config Qos",
{
#ifndef ISISC
{"schMode", "set", "set traffic scheduling mode", "<sp|wrr|mix|mix_plus> <q0,q1,q3,q4>", SW_API_QOS_SCH_MODE_SET, NULL},
#endif
{"qTxBufSts", "set", "set queue tx buffer counting status of a port", "<port_id> <enable|disable>", SW_API_QOS_QU_TX_BUF_ST_SET, NULL},
#ifdef ISISC
{"qTxBufNr", "set", "set queue tx buffer number", "<port_id> <queueid:0-3> <number:0-120>", SW_API_QOS_QU_TX_BUF_NR_SET, NULL},
#else
{"qTxBufNr", "set", "set queue tx buffer number", "<port_id> <queueid:0-3> <number:0-60>", SW_API_QOS_QU_TX_BUF_NR_SET, NULL},
#endif
{"ptTxBufSts", "set", "set port tx buffer counting status of a port", "<port_id> <enable|disable>", SW_API_QOS_PT_TX_BUF_ST_SET, NULL},
{"ptRedEn", "set", "set status of port wred of a port", "<port_id> <enable|disable>", SW_API_QOS_PT_RED_EN_SET, NULL},
#ifdef ISISC
{"ptTxBufNr", "set", "set port tx buffer number", "<port_id> <number:0-504>", SW_API_QOS_PT_TX_BUF_NR_SET, NULL},
#else
{"ptTxBufNr", "set", "set port tx buffer number", "<port_id> <number:0-252>", SW_API_QOS_PT_TX_BUF_NR_SET, NULL},
#endif
#ifdef ISISC
{"ptRxBufNr", "set", "set port rx buffer number", "<port_id> <number:0-120>", SW_API_QOS_PT_RX_BUF_NR_SET, NULL},
#else
{"ptRxBufNr", "set", "set port rx buffer number", "<port_id> <number:0-60>", SW_API_QOS_PT_RX_BUF_NR_SET, NULL},
#endif
#ifndef ISISC
{"up2q", "set", "set user priority to queue mapping", "<up:0-7> <queueid:0-3>", SW_API_COSMAP_UP_QU_SET, NULL},
{"dscp2q", "set", "set dscp to queue mapping", "<dscp:0-63> <queueid:0-3>", SW_API_COSMAP_DSCP_QU_SET, NULL},
#endif
#ifdef ISISC
{"ptMode", "set", "set Qos mode of a port", "<port_id> <da|up|dscp> <enable|disable>", SW_API_QOS_PT_MODE_SET, NULL},
{"ptModePri", "set", "set the priority of Qos modes of a port", "<port_id> <da|up|dscp> <priority:0-3>", SW_API_QOS_PT_MODE_PRI_SET, NULL},
#else
{"ptMode", "set", "set Qos mode of a port", "<port_id> <da|up|dscp|port> <enable|disable>", SW_API_QOS_PT_MODE_SET, NULL},
{"ptModePri", "set", "set the priority of Qos modes of a port", "<port_id> <da|up|dscp|port> <priority:0-3>", SW_API_QOS_PT_MODE_PRI_SET, NULL},
#endif
#ifndef ISISC
{"ptDefaultUp", "set", "set default user priority for received frames of a port", "<port_id> <up:0-7>", SW_API_QOS_PORT_DEF_UP_SET, NULL},
#endif
{"ptschMode", "set", "set port traffic scheduling mode", "<port_id> <sp|wrr|mix|mixplus> <q0,q1,q2,q3,q4,q5>", SW_API_QOS_PORT_SCH_MODE_SET, NULL},
{"ptDefaultSpri", "set", "set default stag priority for received frames of a port", "<port_id> <spri:0-7>", SW_API_QOS_PT_DEF_SPRI_SET, NULL},
{"ptDefaultCpri", "set", "set default ctag priority for received frames of a port", "<port_id> <cpri:0-7>", SW_API_QOS_PT_DEF_CPRI_SET, NULL},
{"ptFSpriSts", "set", "set port force Stag priority status for received frames of a port", "<port_id> <enable|disable>", SW_API_QOS_PT_FORCE_SPRI_ST_SET, NULL},
{"ptFCpriSts", "set", "set port force Ctag priority status for received frames of a port", "<port_id> <enable|disable>", SW_API_QOS_PT_FORCE_CPRI_ST_SET, NULL},
{"ptQuRemark", "set", "set egress queue based remark", "<port_id> <queue_id> <table_id> <enable|disable>", SW_API_QOS_QUEUE_REMARK_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/*igmp*/
#ifdef IN_IGMP
{
"igmp", "config IGMP/MLD",
{
{"mode", "set", "set IGMP/MLD snooping status of a port", "<port_id> <enable|disable>", SW_API_PT_IGMPS_MODE_SET, NULL},
{"cmd", "set", "set IGMP/MLD frames forwarding command", "<forward|drop|cpycpu|rdtcpu>", SW_API_IGMP_MLD_CMD_SET, NULL},
{"portJoin", "set", "set IGMP/MLD hardware joining status", "<port_id> <enable|disable>", SW_API_IGMP_PT_JOIN_SET, NULL},
{"portLeave", "set", "set IGMP/MLD hardware leaving status", "<port_id> <enable|disable>", SW_API_IGMP_PT_LEAVE_SET, NULL},
{"rp", "set", "set IGMP/MLD router ports", "<port_bit_map>", SW_API_IGMP_RP_SET, NULL},
{"createStatus", "set", "set IGMP/MLD ability for creating entry", "<enable|disable>", SW_API_IGMP_ENTRY_CREAT_SET, NULL},
{"static", "set", "set IGMP/MLD static status for creating entry", "<enable|disable>", SW_API_IGMP_ENTRY_STATIC_SET, NULL},
{"leaky", "set", "set IGMP/MLD leaky status for creating entry", "<enable|disable>", SW_API_IGMP_ENTRY_LEAKY_SET, NULL},
{"version3", "set", "set IGMP v3/MLD v2 status for creating entry", "<enable|disable>", SW_API_IGMP_ENTRY_V3_SET, NULL},
{"queue", "set", "set IGMP/MLD queue status for creating entry", "<enable|disable> <queue_id>", SW_API_IGMP_ENTRY_QUEUE_SET, NULL},
{"ptlearnlimit", "set", "set port Multicast entry learn limit", "<port_id> <enable|disable> <limitcounter>", SW_API_PT_IGMP_LEARN_LIMIT_SET, NULL},
{"ptlearnexceedcmd", "set", "set port forwarding cmd when exceed multicast learn limit", "<port_id> <forward|drop|cpycpu|rdtcpu>", SW_API_PT_IGMP_LEARN_EXCEED_CMD_SET, NULL},
{"multi", "set", "set igmp/mld entry", "<entry>", SW_API_IGMP_SG_ENTRY_SET, NULL},
{"multi", "clear", "clear igmp/mld entry", "<entry>", SW_API_IGMP_SG_ENTRY_CLEAR, NULL},
{"multi", "show", "show all igmp/mld entry", "", SW_API_IGMP_SG_ENTRY_SHOW, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/*leaky*/
#ifdef IN_LEAKY
{
"leaky", "config leaky",
{
{"ucMode", "set", "set unicast packets leaky mode", "<port|fdb>", SW_API_UC_LEAKY_MODE_SET, NULL},
{"mcMode", "set", "set multicast packets leaky mode", "<port|fdb>", SW_API_MC_LEAKY_MODE_SET, NULL},
{"arpMode", "set", "set arp packets leaky mode", "<port_id> <enable|disable>", SW_API_ARP_LEAKY_MODE_SET, NULL},
{"ptUcMode", "set", "set unicast packets leaky status of a port", "<port_id> <enable|disable>", SW_API_PT_UC_LEAKY_MODE_SET, NULL},
{"ptMcMode", "set", "set multicast packets leaky status of a port", "<port_id> <enable|disable>", SW_API_PT_MC_LEAKY_MODE_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/*mirror*/
#ifdef IN_MIRROR
{
"mirror", "config mirror",
{
{"analyPt", "set", "set mirror analysis port", "<port_id>", SW_API_MIRROR_ANALY_PT_SET, NULL},
{"ptIngress", "set", "set ingress mirror status of a port", "<port_id> <enable|disable>", SW_API_MIRROR_IN_PT_SET, NULL},
{"ptEgress", "set", "set egress mirror status of a port", "<port_id> <enable|disable>", SW_API_MIRROR_EG_PT_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/*rate*/
#ifdef IN_RATE
{
"rate", "config rate limit",
{
#ifndef ISISC
{"qEgress", "set", "set egress rate limit of a queue", "<port_id> <queueid:0-3> <speed:(kbps)> <enable|disable>", SW_API_RATE_QU_EGRL_SET, NULL},
{"ptEgress", "set", "set egress rate limit of a port", "<port_id> <speed:(kbps)> <enable|disable>", SW_API_RATE_PT_EGRL_SET, NULL},
{"ptIngress", "set", "set ingress rate limit of a port", "<port_id> <speed:(kbps)> <enable|disable>", SW_API_RATE_PT_INRL_SET, NULL},
{"stormCtrl", "set", "set storm control status of a particular frame type", "<port_id> <unicast|multicast|broadcast> <enable|disable>", SW_API_STORM_CTRL_FRAME_SET, NULL},
{"stormCtrlRate", "set", "set storm ctrl rate", "<port_id> <rate:(packets/s)>", SW_API_STORM_CTRL_RATE_SET, NULL},
#endif
{"portpolicer", "set", "set port policer", "<port_id>", SW_API_RATE_PORT_POLICER_SET, NULL},
{"portshaper", "set", "set port egress shaper", "<port_id> <enable|disable>", SW_API_RATE_PORT_SHAPER_SET, NULL},
{"queueshaper", "set", "set queue egress shaper", "<port_id> <queue_id> <enable|disable>", SW_API_RATE_QUEUE_SHAPER_SET, NULL},
{"aclpolicer", "set", "set acl policer", "<policer_id>", SW_API_RATE_ACL_POLICER_SET, NULL},
{"ptAddRateByte", "set", "set add_rate_byte when cal rate ", "<port_id> <number:0-255>", SW_API_RATE_PT_ADDRATEBYTE_SET, NULL},
{"ptgolflowen", "set", "set status of port globle flow control", "<port_id> <enable|disable>", SW_API_RATE_PT_GOL_FLOW_EN_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
#ifdef IN_SEC
#ifdef ISISC
{
"sec", "config security",
{
{"mac", "set", "set MAC layer related security", "<resv_vid/invalid_src_addr> <value>", SW_API_SEC_MAC_SET, NULL},
{"ip", "set", "set IP layer related security", "<invalid_ver/same_addr/ttl_change_status/ttl_val> <value>", SW_API_SEC_IP_SET, NULL},
{"ip4", "set", "set IP4 related security", "<invalid_hl/hdr_opts/invalid_df/frag_offset_min_len/frag_offset_min_size/frag_offset_max_len/invalid_frag_offset/invalid_sip/invalid_dip/invalid_chksum/invalid_pl/df_clear_status/ipid_random_status> <value>", SW_API_SEC_IP4_SET, NULL},
{"ip6", "set", "set IP6 related security", "<invalid_dip/invalid_sip/invalid_pl> <value>", SW_API_SEC_IP6_SET, NULL},
{"tcp", "set", "set TCP related security", "<blat/invalid_hl/min_hdr_size/invalid_syn/su_block/sp_block/sap_block/xmas_scan/null_scan/sr_block/sf_block/sar_block/rst_scan/rst_with_data/fa_block/pa_block/ua_block/invalid_chksum/invalid_urgptr/invalid_opts> <value>", SW_API_SEC_TCP_SET, NULL},
{"udp", "set", "set UDP related security", "<blat/invalid_len/invalid_chksum> <value>", SW_API_SEC_UDP_SET, NULL},
{"icmp4", "set", "set ICMP4 related security", "<ping_pl_exceed/ping_frag/ping_max_pl> <value>", SW_API_SEC_ICMP4_SET, NULL},
{"icmp6", "set", "set ICMP6 related security", "<ping_pl_exceed/ping_frag/ping_max_pl> <value>", SW_API_SEC_ICMP6_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
#endif
/*stp*/
#ifdef IN_STP
{
"stp", "config STP",
{
{"portState", "set", "set STP state of a port", "<st_id> <port_id> <disable|block|listen|learn|forward>", SW_API_STP_PT_STATE_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/*mib*/
#ifdef IN_MIB
{
"mib", "show MIB statistics information",
{
{"status", "set", "set mib status", "<enable|disable>", SW_API_MIB_STATUS_SET, NULL},
{"counters", "flush", "flush counters of a port", "<port_id>", SW_API_PT_MIB_FLUSH_COUNTERS, NULL},
{"cpuKeep", "set", "set cpu keep bit", "<enable|disable>", SW_API_MIB_CPU_KEEP_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/* led */
#ifdef IN_LED
{
"led", "set/get led control pattern",
{
{"ctrlpattern", "set", "set led control pattern", "<group_id> <led_id>", SW_API_LED_PATTERN_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/* cosmap */
#ifdef IN_COSMAP
{
"cosmap", "set/get cosmap table",
{
{"dscp2pri", "set", "set dscp to priority map table", "<dscp> <priority>", SW_API_COSMAP_DSCP_TO_PRI_SET, NULL},
{"dscp2dp", "set", "set dscp to dp map table", "<dscp> <dp>", SW_API_COSMAP_DSCP_TO_DP_SET, NULL},
{"up2pri", "set", "set dot1p to priority map table", "<up> <priority>", SW_API_COSMAP_UP_TO_PRI_SET, NULL},
{"up2dp", "set", "set dot1p to dp map table", "<up> <dp>", SW_API_COSMAP_UP_TO_DP_SET, NULL},
{"dscp2ehpri", "set", "set dscp to priority map table for WAN port", "<dscp> <priority>", SW_API_COSMAP_DSCP_TO_EHPRI_SET, NULL},
{"dscp2ehdp", "set", "set dscp to dp map table for WAN port", "<dscp> <dp>", SW_API_COSMAP_DSCP_TO_EHDP_SET, NULL},
{"up2ehpri", "set", "set dot1p to priority map table for WAN port", "<up> <priority>", SW_API_COSMAP_UP_TO_EHPRI_SET, NULL},
{"up2ehdp", "set", "set dot1p to dp map table for WAN port", "<up> <dp>", SW_API_COSMAP_UP_TO_EHDP_SET, NULL},
{"pri2q", "set", "set priority to queue mapping", "<priority> <queueid>", SW_API_COSMAP_PRI_TO_QU_SET, NULL},
{"pri2ehq", "set", "set priority to enhanced queue mapping", "<priority> <queueid>", SW_API_COSMAP_PRI_TO_EHQU_SET, NULL},
{"egRemark", "set", "set egress remark table", "<tableid>", SW_API_COSMAP_EG_REMARK_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/*misc*/
#ifdef IN_MISC
{
"misc", "config miscellaneous",
{
#ifndef ISISC
{"arp", "set", "set arp packets hardware identification status", "<enable|disable>", SW_API_ARP_STATUS_SET, NULL},
#endif
{"frameMaxSize", "set", "set the maximal received frame size of the device", "<size:byte>", SW_API_FRAME_MAX_SIZE_SET, NULL},
#ifndef ISISC
{"ptUnkSaCmd", "set", "set forwarding command for frames with unknown source address", "<port_id> <forward|drop|cpycpu|rdtcpu>", SW_API_PT_UNK_SA_CMD_SET, NULL},
#endif
{"ptUnkUcFilter", "set", "set flooding status of unknown unicast frames", "<port_id> <enable|disable>", SW_API_PT_UNK_UC_FILTER_SET, NULL},
{"ptUnkMcFilter", "set", "set flooding status of unknown multicast frames", "<port_id> <enable|disable>", SW_API_PT_UNK_MC_FILTER_SET, NULL},
{"ptBcFilter", "set", "set flooding status of broadcast frames", "<port_id> <enable|disable>", SW_API_PT_BC_FILTER_SET, NULL},
{"cpuPort", "set", "set cpu port status", "<enable|disable>", SW_API_CPU_PORT_STATUS_SET, NULL},
#ifndef ISISC
{"bctoCpu", "set", "set broadcast frames to Cpu port status", "<enable|disable>", SW_API_BC_TO_CPU_PORT_SET, NULL},
#endif
#ifdef ISISC
{"PppoeCmd", "set", "set pppoe frames forwarding command", "<forward|rdtcpu>", SW_API_PPPOE_CMD_SET, NULL},
#else
{"PppoeCmd", "set", "set pppoe frames forwarding command", "<forward|drop|cpycpu|rdtcpu>", SW_API_PPPOE_CMD_SET, NULL},
#endif
{"Pppoe", "set", "set pppoe frames hardware identification status", "<enable|disable>", SW_API_PPPOE_STATUS_SET, NULL},
{"ptDhcp", "set", "set dhcp frames hardware identification status", "<port_id> <enable|disable>", SW_API_PT_DHCP_SET, NULL},
#ifdef ISISC
{"arpcmd", "set", "set arp packets forwarding command", "<forward|cpycpu|rdtcpu>", SW_API_ARP_CMD_SET, NULL},
#else
{"arpcmd", "set", "set arp packets forwarding command", "<forward|drop|cpycpu|rdtcpu>", SW_API_ARP_CMD_SET, NULL},
#endif
#ifdef ISISC
{"eapolcmd", "set", "set eapol packets forwarding command", "<cpycpu|rdtcpu>", SW_API_EAPOL_CMD_SET, NULL},
#else
{"eapolcmd", "set", "set eapol packets forwarding command", "<forward|drop|cpycpu|rdtcpu>", SW_API_EAPOL_CMD_SET, NULL},
#endif
#ifndef ISISC
{"pppoesession", "add", "add a pppoe session entry", "<session_id> <enable|disable>", SW_API_PPPOE_SESSION_ADD, NULL},
{"pppoesession", "del", "del a pppoe session entry", "<session_id>", SW_API_PPPOE_SESSION_DEL, NULL},
#endif
{"eapolstatus", "set", "set eapol frames hardware identification status", "<port_id> <enable|disable>", SW_API_EAPOL_STATUS_SET, NULL},
{"rip", "set", "set rip packets copy to cpu status", "<enable|disable>", SW_API_RIPV1_STATUS_SET, NULL},
{"ptarpreq", "set", "set arp request packets hardware identification status", "<port_id> <enable|disable>", SW_API_PT_ARP_REQ_STATUS_SET, NULL},
{"ptarpack", "set", "set arp ack packets hardware identification status", "<port_id> <enable|disable>", SW_API_PT_ARP_ACK_STATUS_SET, NULL},
{"extendpppoe", "set", "add a pppoe session entry", "", SW_API_PPPOE_SESSION_TABLE_ADD, NULL},
{"extendpppoe", "add", "add a pppoe session entry", "", SW_API_PPPOE_SESSION_TABLE_ADD, NULL},
{"extendpppoe", "del", "del a pppoe session entry", "", SW_API_PPPOE_SESSION_TABLE_DEL, NULL},
{"pppoeid", "set", "set a pppoe session id entry", "<index> <id>", SW_API_PPPOE_SESSION_ID_SET, NULL},
{"intrmask", "set", "set switch interrupt mask", "<intr_mask>", SW_API_INTR_MASK_SET, NULL},
{"intrstatus", "clear", "clear switch interrupt status", "<intr_mask>", SW_API_INTR_STATUS_CLEAR, NULL},
{"intrportlinkmask", "set", "set link interrupt mask of a port", "<port_id> <intr_mask>", SW_API_INTR_PORT_LINK_MASK_SET, NULL},
{"intrmaskmaclinkchg", "set", "set switch interrupt mask for mac link change", "<port_id> <enable | disable>", SW_API_INTR_MASK_MAC_LINKCHG_SET, NULL},
{"intrstatusmaclinkchg", "clear", "clear switch interrupt status for mac link change", "", SW_API_INTR_STATUS_MAC_LINKCHG_CLEAR, NULL},
{"cpuVid", "set", "set to_cpu vid status", "<enable|disable>", SW_API_CPU_VID_EN_SET, NULL},
{"rtdPppoe", "set", "set RM_RTD_PPPOE_EN status", "<enable|disable>", SW_API_RTD_PPPOE_EN_SET, NULL},
{"glomacaddr", "set", "set global macaddr", "<macaddr>", SW_API_GLOBAL_MACADDR_SET, NULL},
{"lldp", "set", "set lldp frames hardware identification status", "<enable|disable>", SW_API_LLDP_STATUS_SET, NULL},
{"framecrc", "set", "set frame crc reserve enable", "<enable|disable>", SW_API_FRAME_CRC_RESERVE_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/* IP */
#ifdef IN_IP
{
"ip", "config ip",
{
{"hostentry", "set", "add host entry", "", SW_API_IP_HOST_ADD, NULL},
{"hostentry", "add", "add host entry", "", SW_API_IP_HOST_ADD, NULL},
{"hostentry", "del", "del host entry", "<del_mode>", SW_API_IP_HOST_DEL, NULL},
{"hostentry", "next", "next host entry", "<next_mode>", SW_API_IP_HOST_NEXT, NULL},
{"hostentry", "bindcnt", "bind counter to host entry", "<host entry id> <cnt id> <enable|disable>", SW_API_IP_HOST_COUNTER_BIND, NULL},
{"hostentry", "bindpppoe", "bind pppoe to host entry", "<host entry id> <pppoe id> <enable|disable>", SW_API_IP_HOST_PPPOE_BIND, NULL},
{"ptarplearn", "set", "set port arp learn flag, bit0 req bit1 ack", "<port_id> <flag>", SW_API_IP_PT_ARP_LEARN_SET, NULL},
{"arplearn", "set", "set arp learn mode", "<learnlocal|learnall>", SW_API_IP_ARP_LEARN_SET, NULL},
{"ptipsrcguard", "set", "set ip source guard mode", "<port_id> <mac_ip|mac_ip_port|mac_ip_vlan|mac_ip_port_vlan|no_guard>", SW_API_IP_SOURCE_GUARD_SET, NULL},
{"ptarpsrcguard", "set", "set arp source guard mode", "<port_id> <mac_ip|mac_ip_port|mac_ip_vlan|mac_ip_port_vlan|no_guard>", SW_API_IP_ARP_GUARD_SET, NULL},
{"routestatus", "set", "set ip route status", "<enable|disable>", SW_API_IP_ROUTE_STATUS_SET, NULL},
{"intfentry", "set", "add interface mac address", "", SW_API_IP_INTF_ENTRY_ADD, NULL},
{"intfentry", "add", "add interface mac address", "", SW_API_IP_INTF_ENTRY_ADD, NULL},
{"intfentry", "del", "del interface mac address", "", SW_API_IP_INTF_ENTRY_DEL, NULL},
{"ipunksrc", "set", "set ip unkown source command", "<forward|drop|cpycpu|rdtcpu>", SW_API_IP_UNK_SOURCE_CMD_SET, NULL},
{"arpunksrc", "set", "set arp unkown source command", "<forward|drop|cpycpu|rdtcpu>", SW_API_ARP_UNK_SOURCE_CMD_SET, NULL},
{"ipagetime", "set", "set dynamic ip entry age time", "<time>", SW_API_IP_AGE_TIME_SET, NULL},
{"wcmphashmode", "set", "set wcmp hash mode", "<hashmode>", SW_API_WCMP_HASH_MODE_SET, NULL},
{"wcmpentry", "set", "set wcmp entry", "<wcmp_id>", SW_API_IP_WCMP_ENTRY_SET, NULL},
{"vrfbaseaddr", "set", "set vrf prv base address", "<ip4 addr>", SW_API_IP_VRF_BASE_ADDR_SET, NULL},
{"vrfbasemask", "set", "set vrf prv base mask", "<ip4 addr>", SW_API_IP_VRF_BASE_MASK_SET, NULL},
{"defaultroute", "set", "set default route entry", "", SW_API_IP_DEFAULT_ROUTE_SET, NULL},
{"hostroute", "set", "set host route entry", "", SW_API_IP_HOST_ROUTE_SET, NULL},
{"rfsip4", "set", "set rfs ip4", "", SW_API_IP_RFS_IP4_SET, NULL},
{"rfsip6", "set", "set rfs ip6", "", SW_API_IP_RFS_IP6_SET, NULL},
{"defaultflowcmd", "set", "set default flow command", "<vrf id> <lan2lan|wan2lan|lan2wan|wan2wan> <forward|drop|rdtcpu|admit_all>", SW_API_IP_DEFAULT_FLOW_CMD_SET, NULL},
{"defaultrtflowcmd", "set", "set default route flow command", "<vrf id> <lan2lan|wan2lan|lan2wan|wan2wan> <forward|drop|rdtcpu|admit_all>", SW_API_IP_DEFAULT_RT_FLOW_CMD_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/* NAT */
#ifdef IN_NAT
{
"nat", "config nat",
{
{"natentry", "set", "add nat entry", "", SW_API_NAT_ADD, NULL},
{"natentry", "add", "add nat entry", "", SW_API_NAT_ADD, NULL},
{"natentry", "del", "del nat entry", "<del_mode>", SW_API_NAT_DEL, NULL},
{"natentry", "next", "next nat entry", "<next_mode>", SW_API_NAT_NEXT, NULL},
{"natentry", "bindcnt", "bind counter to nat entry", "<nat entry id> <cnt id> <enable|disable>", SW_API_NAT_COUNTER_BIND, NULL},
{"naptentry", "set", "add napt entry", "", SW_API_NAPT_ADD, NULL},
{"naptentry", "add", "add napt entry", "", SW_API_NAPT_ADD, NULL},
{"naptentry", "del", "del napt entry", "<del_mode>", SW_API_NAPT_DEL, NULL},
{"naptentry", "next", "next napt entry", "<next_mode>", SW_API_NAPT_NEXT, NULL},
{"naptentry", "bindcnt", "bind counter to napt entry", "<napt entry id> <cnt id> <enable|disable>", SW_API_NAPT_COUNTER_BIND, NULL},
{"natstatus", "set", "set nat status", "<enable|disable>", SW_API_NAT_STATUS_SET, NULL},
{"naptstatus", "set", "set napt status", "<enable|disable>", SW_API_NAPT_STATUS_SET, NULL},
{"nathash", "set", "set nat hash mode", "<flag>", SW_API_NAT_HASH_MODE_SET, NULL},
{"naptmode", "set", "set napt mode", "<fullcone|strictcone|portstrict|synmatric>", SW_API_NAPT_MODE_SET, NULL},
{"prvbaseaddr", "set", "set nat prv base address", "<ip4 addr>", SW_API_PRV_BASE_ADDR_SET, NULL},
{"prvaddrmode", "set", "set nat prv address map mode", "<enable|disable>", SW_API_PRV_ADDR_MODE_SET, NULL},
{"pubaddr", "set", "add pub address", "", SW_API_PUB_ADDR_ENTRY_ADD, NULL},
{"pubaddr", "add", "add pub address", "", SW_API_PUB_ADDR_ENTRY_ADD, NULL},
{"pubaddr", "del", "del pub address", "<del_mode>", SW_API_PUB_ADDR_ENTRY_DEL, NULL},
{"natunksess", "set", "set nat unkown session command", "<forward|drop|cpycpu|rdtcpu>", SW_API_NAT_UNK_SESSION_CMD_SET, NULL},
{"prvbasemask", "set", "set nat prv base mask", "<ip4 mask>", SW_API_PRV_BASE_MASK_SET, NULL},
{"global", "set", "set global nat function", "<enable|disable> <enable:sync counter|disable:unsync counter>", SW_API_NAT_GLOBAL_SET, NULL},
{"flowentry", "set", "add flow entry", "", SW_API_FLOW_ADD, NULL},
{"flowentry", "add", "add flow entry", "", SW_API_FLOW_ADD, NULL},
{"flowentry", "del", "del flow entry", "<del_mode>", SW_API_FLOW_DEL, NULL},
{"flowentry", "next", "next flow entry", "<next_mode>", SW_API_FLOW_NEXT, NULL},
{"flowcookie", "set", "set flow cookie", "", SW_API_FLOW_COOKIE_SET, NULL},
{"flowrfs", "set", "set flow rfs", "<action>", SW_API_FLOW_RFS_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/*Trunk*/
#ifdef IN_TRUNK
{
"trunk", "config trunk",
{
{"group", "set", "set trunk group member info", "<trunk_id> <disable|enable> <port_bitmap>", SW_API_TRUNK_GROUP_SET, NULL},
{"hashmode", "set", "set trunk hash mode", "<hash_mode>", SW_API_TRUNK_HASH_SET, NULL},
{"mansa", "set", "set trunk manipulable sa", "<macaddr>", SW_API_TRUNK_MAN_SA_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/*Interface Control*/
#ifdef IN_INTERFACECONTROL
{
"interface", "config interface",
{
{"macmode", "set", "set mac mode info", "<port_id>", SW_API_MAC_MODE_SET, NULL},
{"pt3azstatus", "set", "get mac mode info", "<port_id> <enable/disable>", SW_API_PORT_3AZ_STATUS_SET, NULL},
{"phymode", "set", "set phy mode info", "<phy_id>", SW_API_PHY_MODE_SET, NULL},
{"fx100ctrl", "set", "set fx100 config", "", SW_API_FX100_CTRL_SET, NULL},
{"mac06exch", "set", "set mac0 and mac6 exchange status", "<enable/disable>", SW_API_MAC06_EXCH_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
#endif
/* debug */
{
"debug", "read/write register",
{
{"phy", "get", "read phy register", "<ph_id> <reg_addr>", SW_API_PHY_GET, NULL},
{"phy", "set", "write phy register", "<ph_id> <reg_addr> <value>", SW_API_PHY_SET, NULL},
{"reg", "get", "read switch register", "<reg_addr> <4>", SW_API_REG_GET, NULL},
{"reg", "set", "write switch register", "<reg_addr> <value> <4>", SW_API_REG_SET, NULL},
{"reg", "dump", "dump switch register group", "<group id> <0-6>", SW_API_REG_DUMP, NULL},
{"dbgreg", "dump", "dump switch dbg register group", "", SW_API_DBG_REG_DUMP, NULL},
{"field", "get", "read switch register field", "<reg_addr> <offset> <len> <4>", SW_API_REG_FIELD_GET, NULL},
{"field", "set", "write switch register field", "<reg_addr> <offset> <len> <value> <4>", SW_API_REG_FIELD_SET, NULL},
{"aclList", "dump", "dump all acl list", "", SW_API_ACL_LIST_DUMP, NULL},
{"aclRule", "dump", "dump all acl rule", "", SW_API_ACL_RULE_DUMP, NULL},
{"device", "reset", "reset device", "", SW_API_SWITCH_RESET, NULL},
{"ssdk", "config", "show ssdk configuration", "", SW_API_SSDK_CFG, NULL},
{"preg", "get", "read psgmii register", "<reg_addr> <4>", SW_API_PSGMII_REG_GET, NULL},
{"preg", "set", "write psgmii register", "<reg_addr> <value> <4>", SW_API_PSGMII_REG_SET, NULL},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
/*debug*/
{
"device", "set device id",
{
{"id", "set", "set device id", "<dev_id>", SW_CMD_SET_DEVID, cmd_set_devid},
{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/
},
},
{"help", "type ? get help", {{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/}},
{"quit", "type quit/q quit shell", {{NULL, NULL, NULL, NULL, (int)NULL, NULL}/*end of desc*/}},
{NULL, NULL, {{NULL, NULL, NULL, NULL, (int)NULL, NULL}}} /*end of desc*/
};
#else
#ifdef IN_PORTCONTROL
struct sub_cmd_des_t g_port_des[] =
{
{"duplex", "set", SW_API_PT_DUPLEX_SET, NULL},
{"speed", "set", SW_API_PT_SPEED_SET, NULL},
{"autoNeg", "enable", SW_API_PT_AN_ENABLE, NULL},
{"autoAdv", "set", SW_API_PT_AN_ADV_SET, NULL},
{"autoNeg", "restart", SW_API_PT_AN_RESTART, NULL},
{"autoNegenable", "set", SW_API_PT_AN_ENABLE, NULL},
{"autoNegrestart", "set", SW_API_PT_AN_RESTART, NULL},
#ifndef IN_PORTCONTROL_MINI
{"header", "set", SW_API_PT_HDR_SET, NULL},
#endif
{"txhdr", "set", SW_API_PT_TXHDR_SET, NULL},
{"rxhdr", "set", SW_API_PT_RXHDR_SET, NULL},
{"hdrtype", "set", SW_API_HEADER_TYPE_SET, NULL},
{"poweroff", "set", SW_API_PT_POWER_OFF, NULL},
{"poweron", "set", SW_API_PT_POWER_ON, NULL},
#ifndef IN_PORTCONTROL_MINI
{"flowCtrl", "set", SW_API_PT_FLOWCTRL_SET, NULL},
{"flowCtrlforcemode", "set", SW_API_PT_FLOWCTRL_MODE_SET, NULL},
{"powersave", "set", SW_API_PT_POWERSAVE_SET, NULL},
{"hibernate", "set", SW_API_PT_HIBERNATE_SET, NULL},
{"cdt", "run", SW_API_PT_CDT, NULL},
{"txmacstatus", "set", SW_API_TXMAC_STATUS_SET, NULL},
{"rxmacstatus", "set", SW_API_RXMAC_STATUS_SET, NULL},
{"txfcstatus", "set", SW_API_TXFC_STATUS_SET, NULL},
{"rxfcstatus", "set", SW_API_RXFC_STATUS_SET, NULL},
{"bpstatus", "set", SW_API_BP_STATUS_SET, NULL},
{"linkforcemode", "set", SW_API_PT_LINK_MODE_SET, NULL},
{"macLoopback", "set", SW_API_PT_MAC_LOOPBACK_SET, NULL},
{"congedrop", "set", SW_API_PT_CONGESTION_DROP_SET, NULL},
{"ringfcthresh", "set", SW_API_PT_RING_FLOW_CTRL_THRES_SET, NULL},
{"Ieee8023az", "set", SW_API_PT_8023AZ_SET, NULL},
{"crossover", "set", SW_API_PT_MDIX_SET, NULL},
{"preferMedium", "set", SW_API_PT_COMBO_PREFER_MEDIUM_SET, NULL},
{"fiberMode", "set", SW_API_PT_COMBO_FIBER_MODE_SET, NULL},
{"localLoopback", "set", SW_API_PT_LOCAL_LOOPBACK_SET, NULL},
{"remoteLoopback", "set", SW_API_PT_REMOTE_LOOPBACK_SET, NULL},
{"reset", "set", SW_API_PT_RESET, NULL},
{"magicFrameMac", "set", SW_API_PT_MAGIC_FRAME_MAC_SET, NULL},
{"wolstatus", "set", SW_API_PT_WOL_STATUS_SET, NULL},
{"interfaceMode", "set", SW_API_PT_INTERFACE_MODE_SET, NULL},
{"InterfaceModeApply", "set", SW_API_PT_INTERFACE_MODE_APPLY, NULL},
{"mtu", "set", SW_API_PT_MTU_SET, NULL},
{"mru", "set", SW_API_PT_MRU_SET, NULL},
{"srcfilter", "set", SW_API_PT_SOURCE_FILTER_SET, NULL},
{"frameMaxSize", "set", SW_API_PT_FRAME_MAX_SIZE_SET, NULL},
{"interface3az", "set", SW_API_PT_INTERFACE_3AZ_STATUS_SET, NULL},
{"promiscmode", "set", SW_API_PT_PROMISC_MODE_SET, NULL},
{"eeecfg", "set", SW_API_PT_INTERFACE_EEE_CFG_SET, NULL},
{"srcfiltercfg", "set", SW_API_PT_SOURCE_FILTER_CONFIG_SET, NULL},
{"switchportloopback", "set", SW_API_PT_SWITCH_PORT_LOOPBACK_SET, NULL},
#endif
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_VLAN
struct sub_cmd_des_t g_vlan_des[] =
{
{"entry", "set", SW_API_VLAN_ADD, NULL},
{"entry", "create", SW_API_VLAN_ADD, NULL},
{"entry", "del", SW_API_VLAN_DEL, NULL},
{"entry", "update", SW_API_VLAN_MEM_UPDATE, NULL},
{"entry", "append", SW_API_VLAN_APPEND, NULL},
{"entry", "flush", SW_API_VLAN_FLUSH, NULL},
{"fid", "set", SW_API_VLAN_FID_SET, NULL},
{"member", "set", SW_API_VLAN_MEMBER_ADD, NULL},
{"member", "add", SW_API_VLAN_MEMBER_ADD, NULL},
{"member", "del", SW_API_VLAN_MEMBER_DEL, NULL},
#ifndef IN_VLAN_MINI
{"learnsts", "set", SW_API_VLAN_LEARN_STATE_SET, NULL},
#endif
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_PORTVLAN
struct sub_cmd_des_t g_portvlan_des[] =
{
{"ingress", "set", SW_API_PT_ING_MODE_SET, NULL},
{"egress", "set", SW_API_PT_EG_MODE_SET, NULL},
{"member", "set", SW_API_PT_VLAN_MEM_UPDATE, NULL},
{"member", "add", SW_API_PT_VLAN_MEM_ADD, NULL},
{"member", "del", SW_API_PT_VLAN_MEM_DEL, NULL},
{"member", "update", SW_API_PT_VLAN_MEM_UPDATE, NULL},
{"defaultVid", "set", SW_API_PT_DEF_VID_SET, NULL},
{"forceVid", "set", SW_API_PT_FORCE_DEF_VID_SET, NULL},
{"forceMode", "set", SW_API_PT_FORCE_PORTVLAN_SET, NULL},
{"nestVlan", "set", SW_API_PT_NESTVLAN_SET, NULL},
{"sVlanTPID", "set", SW_API_NESTVLAN_TPID_SET, NULL},
{"invlan", "set", SW_API_PT_IN_VLAN_MODE_SET, NULL},
{"globalQinQMode", "set", SW_API_GLOBAL_QINQ_MODE_SET, NULL},
{"ptQinQMode", "set", SW_API_PORT_QINQ_MODE_SET, NULL},
#ifdef HPPE
{"inTpid", "set", SW_API_TPID_SET, NULL},
{"egTpid", "set", SW_API_EGRESS_TPID_SET, NULL},
{"ingressFilter", "set", SW_API_PT_INGRESS_VLAN_FILTER_SET, NULL},
{"defaultVlanTag", "set", SW_API_PT_DEFAULT_VLANTAG_SET, NULL},
{"tagPropagation", "set", SW_API_PT_TAG_PROPAGATION_SET, NULL},
{"translationMissAction", "set", SW_API_PT_VLAN_XLT_MISS_CMD_SET, NULL},
{"egMode", "set", SW_API_PT_VLANTAG_EGMODE_SET, NULL},
{"vsiEgMode", "set", SW_API_PT_VSI_EGMODE_SET, NULL},
{"vsiEgModeEn", "set", SW_API_PT_VLANTAG_VSI_EGMODE_EN_SET, NULL},
{"counter", "set", SW_API_PT_VLAN_COUNTER_CLEANUP, NULL},
{"translationAdv", "set", SW_API_PT_VLAN_TRANS_ADV_ADD, NULL},
#endif
#ifndef IN_PORTVLAN_MINI
{"tlsMode", "set", SW_API_PT_TLS_SET, NULL},
{"priPropagation", "set", SW_API_PT_PRI_PROPAGATION_SET, NULL},
#endif
{"defaultSVid", "set", SW_API_PT_DEF_SVID_SET, NULL},
{"defaultCVid", "set", SW_API_PT_DEF_CVID_SET, NULL},
#ifndef IN_PORTVLAN_MINI
{"vlanPropagation", "set", SW_API_PT_VLAN_PROPAGATION_SET, NULL},
{"translation", "set", SW_API_PT_VLAN_TRANS_ADD, NULL},
{"translation", "add", SW_API_PT_VLAN_TRANS_ADD, NULL},
{"translation", "del", SW_API_PT_VLAN_TRANS_DEL, NULL},
{"qinqMode", "set", SW_API_QINQ_MODE_SET, NULL},
{"qinqRole", "set", SW_API_PT_QINQ_ROLE_SET, NULL},
{"macvlanxlt", "set", SW_API_PT_MAC_VLAN_XLT_SET, NULL},
{"netiso", "set", SW_API_NETISOLATE_SET, NULL},
{"egbypass", "set", SW_API_EG_FLTR_BYPASS_EN_SET, NULL},
{"ptvrfid", "set", SW_API_PT_VRF_ID_SET, NULL},
#endif
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_FDB
struct sub_cmd_des_t g_fdb_des[] =
{
#ifndef IN_FDB_MINI
{"entry", "set", SW_API_FDB_ADD, NULL},
{"entry", "add", SW_API_FDB_ADD, NULL},
{"entry", "del", SW_API_FDB_DELMAC, NULL},
{"entry", "flush", SW_API_FDB_DELALL, NULL},
{"entry", "transfer", SW_API_FDB_TRANSFER, NULL},
{"portEntry", "flush", SW_API_FDB_DELPORT, NULL},
{"firstEntry", "find", SW_API_FDB_FIRST, NULL},
{"nextEntry", "find", SW_API_FDB_NEXT, NULL},
#endif
{"portLearn", "set", SW_API_FDB_PT_LEARN_SET, NULL},
#ifndef IN_FDB_MINI
{"ageCtrl", "set", SW_API_FDB_AGE_CTRL_SET, NULL},
{"vlansmode", "set", SW_API_FDB_VLAN_IVL_SVL_SET, NULL},
{"ageTime", "set", SW_API_FDB_AGE_TIME_SET, NULL},
{"ptlearnlimit", "set", SW_API_PT_FDB_LEARN_LIMIT_SET, NULL},
{"ptlearnexceedcmd", "set", SW_API_PT_FDB_LEARN_EXCEED_CMD_SET, NULL},
{"learnlimit", "set", SW_API_FDB_LEARN_LIMIT_SET, NULL},
{"learnexceedcmd", "set", SW_API_FDB_LEARN_EXCEED_CMD_SET, NULL},
{"resventry", "set", SW_API_FDB_RESV_ADD, NULL},
{"resventry", "add", SW_API_FDB_RESV_ADD, NULL},
{"resventry", "del", SW_API_FDB_RESV_DEL, NULL},
{"ptLearnstatic", "set", SW_API_FDB_PT_LEARN_STATIC_SET, NULL},
{"port", "add", SW_API_FDB_PORT_ADD, NULL},
{"port", "del", SW_API_FDB_PORT_DEL, NULL},
{"LearnCtrl", "set", SW_API_FDB_LEARN_CTRL_SET, NULL},
{"PtLearnCtrl", "set", SW_API_FDB_PT_NEWADDR_LEARN_SET, NULL},
{"PtStationMove", "set", SW_API_FDB_PT_STAMOVE_SET, NULL},
{"PtMacLimitCtrl", "set", SW_API_FDB_PT_MACLIMIT_CTRL_SET, NULL},
{"fidEntry", "flush", SW_API_FDB_DEL_BY_FID, NULL},
#endif
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_ACL
struct sub_cmd_des_t g_acl_des[] =
{
{"list", "create", SW_API_ACL_LIST_CREAT, NULL},
{"list", "destroy", SW_API_ACL_LIST_DESTROY, NULL},
{"list", "bind", SW_API_ACL_LIST_BIND, NULL},
{"list", "unbind", SW_API_ACL_LIST_UNBIND, NULL},
{"rule", "add", SW_API_ACL_RULE_ADD, NULL},
{"rule", "del", SW_API_ACL_RULE_DELETE, NULL},
{"rule", "active", SW_API_ACL_RULE_ACTIVE, NULL},
{"rule", "deactive", SW_API_ACL_RULE_DEACTIVE, NULL},
{"srcfiltersts", "set", SW_API_ACL_RULE_SRC_FILTER_STS_SET, NULL},
{"status", "set", SW_API_ACL_STATUS_SET, NULL},
{"udfprofile", "set", SW_API_ACL_PT_UDF_PROFILE_SET, NULL},
{"udf", "set", SW_API_ACL_UDF_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_QOS
struct sub_cmd_des_t g_qos_des[] =
{
#ifndef IN_QOS_MINI
#ifndef ISISC
{"schMode", "set", SW_API_QOS_SCH_MODE_SET, NULL},
#endif
{"qTxBufSts", "set", SW_API_QOS_QU_TX_BUF_ST_SET, NULL},
#ifdef ISISC
{"qTxBufNr", "set", SW_API_QOS_QU_TX_BUF_NR_SET, NULL},
#else
{"qTxBufNr", "set", SW_API_QOS_QU_TX_BUF_NR_SET, NULL},
#endif
{"ptTxBufSts", "set", SW_API_QOS_PT_TX_BUF_ST_SET, NULL},
{"ptRedEn", "set", SW_API_QOS_PT_RED_EN_SET, NULL},
#ifdef ISISC
{"ptTxBufNr", "set", SW_API_QOS_PT_TX_BUF_NR_SET, NULL},
#else
{"ptTxBufNr", "set", SW_API_QOS_PT_TX_BUF_NR_SET, NULL},
#endif
#ifdef ISISC
{"ptRxBufNr", "set", SW_API_QOS_PT_RX_BUF_NR_SET, NULL},
#else
{"ptRxBufNr", "set", SW_API_QOS_PT_RX_BUF_NR_SET, NULL},
#endif
#ifndef ISISC
{"up2q", "set", SW_API_COSMAP_UP_QU_SET, NULL},
{"dscp2q", "set", SW_API_COSMAP_DSCP_QU_SET, NULL},
#endif
#endif
#ifdef ISISC
{"ptMode", "set", SW_API_QOS_PT_MODE_SET, NULL},
{"ptModePri", "set", SW_API_QOS_PT_MODE_PRI_SET, NULL},
#else
{"ptMode", "set", SW_API_QOS_PT_MODE_SET, NULL},
{"ptModePri", "set", SW_API_QOS_PT_MODE_PRI_SET, NULL},
#endif
#ifndef IN_QOS_MINI
#ifndef ISISC
{"ptDefaultUp", "set", SW_API_QOS_PORT_DEF_UP_SET, NULL},
#endif
{"ptschMode", "set", SW_API_QOS_PORT_SCH_MODE_SET, NULL},
{"ptDefaultSpri", "set", SW_API_QOS_PT_DEF_SPRI_SET, NULL},
{"ptDefaultCpri", "set", SW_API_QOS_PT_DEF_CPRI_SET, NULL},
{"ptFSpriSts", "set", SW_API_QOS_PT_FORCE_SPRI_ST_SET, NULL},
{"ptFCpriSts", "set", SW_API_QOS_PT_FORCE_CPRI_ST_SET, NULL},
{"ptQuRemark", "set", SW_API_QOS_QUEUE_REMARK_SET, NULL},
{"ptgroup", "set", SW_API_QOS_PORT_GROUP_SET, NULL},
{"ptpriprece", "set", SW_API_QOS_PORT_PRI_SET, NULL},
{"ptremark", "set", SW_API_QOS_PORT_REMARK_SET, NULL},
{"pcpmap", "set", SW_API_QOS_PCP_MAP_SET, NULL},
{"flowmap", "set", SW_API_QOS_FLOW_MAP_SET, NULL},
{"dscpmap", "set", SW_API_QOS_DSCP_MAP_SET, NULL},
{"qscheduler", "set", SW_API_QOS_QUEUE_SCHEDULER_SET, NULL},
{"ringqueue", "set", SW_API_QOS_RING_QUEUE_MAP_SET, NULL},
{"dequeue", "set", SW_API_QOS_SCHEDULER_DEQUEU_CTRL_SET, NULL},
{"portscheduler", "set", SW_API_QOS_PORT_SCHEDULER_CFG_RESET, NULL},
#endif
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_IGMP
struct sub_cmd_des_t g_igmp_des[] =
{
{"mode", "set", SW_API_PT_IGMPS_MODE_SET, NULL},
{"cmd", "set", SW_API_IGMP_MLD_CMD_SET, NULL},
{"portJoin", "set", SW_API_IGMP_PT_JOIN_SET, NULL},
{"portLeave", "set", SW_API_IGMP_PT_LEAVE_SET, NULL},
{"rp", "set", SW_API_IGMP_RP_SET, NULL},
{"createStatus", "set", SW_API_IGMP_ENTRY_CREAT_SET, NULL},
{"static", "set", SW_API_IGMP_ENTRY_STATIC_SET, NULL},
{"leaky", "set", SW_API_IGMP_ENTRY_LEAKY_SET, NULL},
{"version3", "set", SW_API_IGMP_ENTRY_V3_SET, NULL},
{"queue", "set", SW_API_IGMP_ENTRY_QUEUE_SET, NULL},
{"ptlearnlimit", "set", SW_API_PT_IGMP_LEARN_LIMIT_SET, NULL},
{"ptlearnexceedcmd", "set", SW_API_PT_IGMP_LEARN_EXCEED_CMD_SET, NULL},
{"multi", "set", SW_API_IGMP_SG_ENTRY_SET, NULL},
{"multi", "clear", SW_API_IGMP_SG_ENTRY_CLEAR, NULL},
{"multi", "show", SW_API_IGMP_SG_ENTRY_SHOW, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_LEAKY
struct sub_cmd_des_t g_leaky_des[] =
{
{"ucMode", "set", SW_API_UC_LEAKY_MODE_SET, NULL},
{"mcMode", "set", SW_API_MC_LEAKY_MODE_SET, NULL},
{"arpMode", "set", SW_API_ARP_LEAKY_MODE_SET, NULL},
{"ptUcMode", "set", SW_API_PT_UC_LEAKY_MODE_SET, NULL},
{"ptMcMode", "set", SW_API_PT_MC_LEAKY_MODE_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_MIRROR
struct sub_cmd_des_t g_mirror_des[] =
{
{"analyPt", "set", SW_API_MIRROR_ANALY_PT_SET, NULL},
{"ptIngress", "set", SW_API_MIRROR_IN_PT_SET, NULL},
{"ptEgress", "set", SW_API_MIRROR_EG_PT_SET, NULL},
{"analyCfg", "set", SW_API_MIRROR_ANALYSIS_CONFIG_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_RATE
struct sub_cmd_des_t g_rate_des[] =
{
#ifndef ISISC
{"qEgress", "set", SW_API_RATE_QU_EGRL_SET, NULL},
{"ptEgress", "set", SW_API_RATE_PT_EGRL_SET, NULL},
{"ptIngress", "set", SW_API_RATE_PT_INRL_SET, NULL},
{"stormCtrl", "set", SW_API_STORM_CTRL_FRAME_SET, NULL},
{"stormCtrlRate", "set", SW_API_STORM_CTRL_RATE_SET, NULL},
#endif
{"portpolicer", "set", SW_API_RATE_PORT_POLICER_SET, NULL},
{"portshaper", "set", SW_API_RATE_PORT_SHAPER_SET, NULL},
{"queueshaper", "set", SW_API_RATE_QUEUE_SHAPER_SET, NULL},
{"aclpolicer", "set", SW_API_RATE_ACL_POLICER_SET, NULL},
{"ptAddRateByte", "set", SW_API_RATE_PT_ADDRATEBYTE_SET, NULL},
{"ptgolflowen", "set", SW_API_RATE_PT_GOL_FLOW_EN_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_SEC
#ifdef ISISC
struct sub_cmd_des_t g_sec_des[] =
{
{"mac", "set", SW_API_SEC_MAC_SET, NULL},
{"ip", "set", SW_API_SEC_IP_SET, NULL},
{"ip4", "set", SW_API_SEC_IP4_SET, NULL},
{"ip6", "set", SW_API_SEC_IP6_SET, NULL},
{"tcp", "set", SW_API_SEC_TCP_SET, NULL},
{"udp", "set", SW_API_SEC_UDP_SET, NULL},
{"icmp4", "set", SW_API_SEC_ICMP4_SET, NULL},
{"icmp6", "set", SW_API_SEC_ICMP6_SET, NULL},
{"l3parser", "set", SW_API_SEC_L3_PARSER_CTRL_SET, NULL},
{"l4parser", "set", SW_API_SEC_L4_PARSER_CTRL_SET, NULL},
{"expctrl", "set", SW_API_SEC_EXP_CTRL_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#endif
#ifdef IN_STP
struct sub_cmd_des_t g_stp_des[] =
{
{"portState", "set", SW_API_STP_PT_STATE_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_MIB
struct sub_cmd_des_t g_mib_des[] =
{
{"status", "set", SW_API_MIB_STATUS_SET, NULL},
{"counters", "flush", SW_API_PT_MIB_FLUSH_COUNTERS, NULL},
{"cpuKeep", "set", SW_API_MIB_CPU_KEEP_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_LED
struct sub_cmd_des_t g_led_des[] =
{
{"ctrlpattern", "set", SW_API_LED_PATTERN_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_COSMAP
struct sub_cmd_des_t g_cosmap_des[] =
{
#ifndef IN_COSMAP_MINI
{"dscp2pri", "set", SW_API_COSMAP_DSCP_TO_PRI_SET, NULL},
{"dscp2dp", "set", SW_API_COSMAP_DSCP_TO_DP_SET, NULL},
{"up2pri", "set", SW_API_COSMAP_UP_TO_PRI_SET, NULL},
{"up2dp", "set", SW_API_COSMAP_UP_TO_DP_SET, NULL},
{"dscp2ehpri", "set", SW_API_COSMAP_DSCP_TO_EHPRI_SET, NULL},
{"dscp2ehdp", "set", SW_API_COSMAP_DSCP_TO_EHDP_SET, NULL},
{"up2ehpri", "set", SW_API_COSMAP_UP_TO_EHPRI_SET, NULL},
{"up2ehdp", "set", SW_API_COSMAP_UP_TO_EHDP_SET, NULL},
#endif
{"pri2q", "set", SW_API_COSMAP_PRI_TO_QU_SET, NULL},
{"pri2ehq", "set", SW_API_COSMAP_PRI_TO_EHQU_SET, NULL},
#ifndef IN_COSMAP_MINI
{"egRemark", "set", SW_API_COSMAP_EG_REMARK_SET, NULL},
#endif
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_MISC
struct sub_cmd_des_t g_misc_des[] =
{
#ifndef ISISC
{"arp", "set", SW_API_ARP_STATUS_SET, NULL},
#endif
{"frameMaxSize", "set", SW_API_FRAME_MAX_SIZE_SET, NULL},
#ifndef ISISC
{"ptUnkSaCmd", "set", SW_API_PT_UNK_SA_CMD_SET, NULL},
#endif
{"ptUnkUcFilter", "set", SW_API_PT_UNK_UC_FILTER_SET, NULL},
{"ptUnkMcFilter", "set", SW_API_PT_UNK_MC_FILTER_SET, NULL},
{"ptBcFilter", "set", SW_API_PT_BC_FILTER_SET, NULL},
{"cpuPort", "set", SW_API_CPU_PORT_STATUS_SET, NULL},
#ifndef ISISC
{"bctoCpu", "set", SW_API_BC_TO_CPU_PORT_SET, NULL},
#endif
#ifndef IN_MISC_MINI
{"ptDhcp", "set", SW_API_PT_DHCP_SET, NULL},
#ifdef ISISC
{"arpcmd", "set", SW_API_ARP_CMD_SET, NULL},
#else
{"arpcmd", "set", SW_API_ARP_CMD_SET, NULL},
#endif
#endif
{"eapolcmd", "set", SW_API_EAPOL_CMD_SET, NULL},
{"eapolstatus", "set", SW_API_EAPOL_STATUS_SET, NULL},
#ifndef IN_MISC_MINI
{"rip", "set", SW_API_RIPV1_STATUS_SET, NULL},
{"ptarpreq", "set", SW_API_PT_ARP_REQ_STATUS_SET, NULL},
{"ptarpack", "set", SW_API_PT_ARP_ACK_STATUS_SET, NULL},
{"intrmask", "set", SW_API_INTR_MASK_SET, NULL},
{"intrstatus", "clear", SW_API_INTR_STATUS_CLEAR, NULL},
{"intrportlinkmask", "set", SW_API_INTR_PORT_LINK_MASK_SET, NULL},
{"intrmaskmaclinkchg", "set", SW_API_INTR_MASK_MAC_LINKCHG_SET, NULL},
{"intrstatusmaclinkchg", "clear", SW_API_INTR_STATUS_MAC_LINKCHG_CLEAR, NULL},
{"cpuVid", "set", SW_API_CPU_VID_EN_SET, NULL},
{"glomacaddr", "set", SW_API_GLOBAL_MACADDR_SET, NULL},
{"lldp", "set", SW_API_LLDP_STATUS_SET, NULL},
{"framecrc", "set", SW_API_FRAME_CRC_RESERVE_SET, NULL},
#endif
#ifdef IN_PPPOE
{"pppoesession", "add", SW_API_PPPOE_SESSION_ADD, NULL},
{"pppoesession", "del", SW_API_PPPOE_SESSION_DEL, NULL},
{"extendpppoe", "set", SW_API_PPPOE_SESSION_TABLE_ADD, NULL},
{"extendpppoe", "add", SW_API_PPPOE_SESSION_TABLE_ADD, NULL},
{"extendpppoe", "del", SW_API_PPPOE_SESSION_TABLE_DEL, NULL},
{"pppoeid", "set", SW_API_PPPOE_SESSION_ID_SET, NULL},
{"PppoeCmd", "set", SW_API_PPPOE_CMD_SET, NULL},
{"PppoeCmd", "set", SW_API_PPPOE_CMD_SET, NULL},
{"rtdPppoe", "set", SW_API_RTD_PPPOE_EN_SET, NULL},
{"Pppoe", "set", SW_API_PPPOE_STATUS_SET, NULL},
{"pppoeen", "set", SW_API_PPPOE_EN_SET, NULL},
#endif
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_IP
struct sub_cmd_des_t g_ip_des[] =
{
#ifndef IN_IP_MINI
{"hostentry", "set", SW_API_IP_HOST_ADD, NULL},
{"hostentry", "add", SW_API_IP_HOST_ADD, NULL},
{"hostentry", "del", SW_API_IP_HOST_DEL, NULL},
{"hostentry", "next", SW_API_IP_HOST_NEXT, NULL},
{"hostentry", "bindcnt", SW_API_IP_HOST_COUNTER_BIND, NULL},
{"hostentry", "bindpppoe", SW_API_IP_HOST_PPPOE_BIND, NULL},
{"ptarplearn", "set", SW_API_IP_PT_ARP_LEARN_SET, NULL},
{"arplearn", "set", SW_API_IP_ARP_LEARN_SET, NULL},
{"ptipsrcguard", "set", SW_API_IP_SOURCE_GUARD_SET, NULL},
{"ptarpsrcguard", "set", SW_API_IP_ARP_GUARD_SET, NULL},
{"routestatus", "set", SW_API_IP_ROUTE_STATUS_SET, NULL},
{"intfentry", "set", SW_API_IP_INTF_ENTRY_ADD, NULL},
{"intfentry", "add", SW_API_IP_INTF_ENTRY_ADD, NULL},
{"intfentry", "del", SW_API_IP_INTF_ENTRY_DEL, NULL},
{"ipunksrc", "set", SW_API_IP_UNK_SOURCE_CMD_SET, NULL},
{"arpunksrc", "set", SW_API_ARP_UNK_SOURCE_CMD_SET, NULL},
{"ipagetime", "set", SW_API_IP_AGE_TIME_SET, NULL},
{"wcmphashmode", "set", SW_API_WCMP_HASH_MODE_SET, NULL},
{"wcmpentry", "set", SW_API_IP_WCMP_ENTRY_SET, NULL},
{"vrfbaseaddr", "set", SW_API_IP_VRF_BASE_ADDR_SET, NULL},
{"vrfbasemask", "set", SW_API_IP_VRF_BASE_MASK_SET, NULL},
{"defaultroute", "set", SW_API_IP_DEFAULT_ROUTE_SET, NULL},
{"hostroute", "set", SW_API_IP_HOST_ROUTE_SET, NULL},
{"rfsip4", "set", SW_API_IP_RFS_IP4_SET, NULL},
{"rfsip6", "set", SW_API_IP_RFS_IP6_SET, NULL},
{"defaultflowcmd", "set", SW_API_IP_DEFAULT_FLOW_CMD_SET, NULL},
{"defaultrtflowcmd", "set", SW_API_IP_DEFAULT_RT_FLOW_CMD_SET, NULL},
{"vsiarpsg", "set", SW_API_IP_VIS_ARP_SG_CFG_SET, NULL},
{"networkroute", "set", SW_API_IP_NETWORK_ROUTE_ADD, NULL},
{"networkroute", "add", SW_API_IP_NETWORK_ROUTE_ADD, NULL},
{"intf", "set", SW_API_IP_INTF_SET, NULL},
{"vsiintf", "set", SW_API_IP_VSI_INTF_SET, NULL},
{"portintf", "set", SW_API_IP_PORT_INTF_SET, NULL},
{"nexthop", "set", SW_API_IP_NEXTHOP_SET, NULL},
{"portsg", "set", SW_API_IP_PORT_SG_SET, NULL},
{"vsisg", "set", SW_API_IP_VSI_SG_SET, NULL},
{"pubip", "set", SW_API_IP_PUB_IP_SET, NULL},
{"portmac", "set", SW_API_IP_PORT_MAC_SET, NULL},
{"routemiss", "set", SW_API_IP_ROUTE_MISS_SET, NULL},
{"portarpsg", "set", SW_API_IP_PORT_ARP_SG_SET, NULL},
{"mcmode", "set", SW_API_IP_VSI_MC_MODE_SET, NULL},
{"globalctrl", "set", SW_API_GLOBAL_CTRL_SET, NULL},
#endif
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_FLOW
struct sub_cmd_des_t g_flow_des[] =
{
{"status", "set", SW_API_FLOW_STATUS_SET, NULL},
{"agetime", "set", SW_API_FLOW_AGE_TIMER_SET, NULL},
{"mgmt", "set", SW_API_FLOW_CTRL_SET, NULL},
{"entry", "add", SW_API_FLOW_ENTRY_ADD, NULL},
{"entry", "set", SW_API_FLOW_ENTRY_ADD, NULL},
{"entry", "del", SW_API_FLOW_ENTRY_DEL, NULL},
{"host", "set", SW_API_FLOW_HOST_ADD, NULL},
{"host", "add", SW_API_FLOW_HOST_ADD, NULL},
{"host", "del", SW_API_FLOW_HOST_DEL, NULL},
{"global", "set", SW_API_FLOW_GLOBAL_CFG_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_NAT
struct sub_cmd_des_t g_nat_des[] =
{
{"natentry", "set", SW_API_NAT_ADD, NULL},
{"natentry", "add", SW_API_NAT_ADD, NULL},
{"natentry", "del", SW_API_NAT_DEL, NULL},
{"natentry", "next", SW_API_NAT_NEXT, NULL},
{"natentry", "bindcnt", SW_API_NAT_COUNTER_BIND, NULL},
{"naptentry", "set", SW_API_NAPT_ADD, NULL},
{"naptentry", "add", SW_API_NAPT_ADD, NULL},
{"naptentry", "del", SW_API_NAPT_DEL, NULL},
{"naptentry", "next", SW_API_NAPT_NEXT, NULL},
{"naptentry", "bindcnt", SW_API_NAPT_COUNTER_BIND, NULL},
{"natstatus", "set", SW_API_NAT_STATUS_SET, NULL},
{"naptstatus", "set", SW_API_NAPT_STATUS_SET, NULL},
{"nathash", "set", SW_API_NAT_HASH_MODE_SET, NULL},
{"naptmode", "set", SW_API_NAPT_MODE_SET, NULL},
{"prvbaseaddr", "set", SW_API_PRV_BASE_ADDR_SET, NULL},
{"prvaddrmode", "set", SW_API_PRV_ADDR_MODE_SET, NULL},
{"pubaddr", "set", SW_API_PUB_ADDR_ENTRY_ADD, NULL},
{"pubaddr", "add", SW_API_PUB_ADDR_ENTRY_ADD, NULL},
{"pubaddr", "del", SW_API_PUB_ADDR_ENTRY_DEL, NULL},
{"natunksess", "set", SW_API_NAT_UNK_SESSION_CMD_SET, NULL},
{"prvbasemask", "set", SW_API_PRV_BASE_MASK_SET, NULL},
{"global", "set", SW_API_NAT_GLOBAL_SET, NULL},
{"flowentry", "set", SW_API_FLOW_ADD, NULL},
{"flowentry", "add", SW_API_FLOW_ADD, NULL},
{"flowentry", "del", SW_API_FLOW_DEL, NULL},
{"flowentry", "next", SW_API_FLOW_NEXT, NULL},
{"flowcookie", "set", SW_API_FLOW_COOKIE_SET, NULL},
{"flowrfs", "set", SW_API_FLOW_RFS_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_TRUNK
struct sub_cmd_des_t g_trunk_des[] =
{
{"group", "set", SW_API_TRUNK_GROUP_SET, NULL},
{"hashmode", "set", SW_API_TRUNK_HASH_SET, NULL},
{"mansa", "set", SW_API_TRUNK_MAN_SA_SET, NULL},
{"failover", "set", SW_API_TRUNK_FAILOVER_EN_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_INTERFACECONTROL
struct sub_cmd_des_t g_interfacecontrol_des[] =
{
{"macmode", "set", SW_API_MAC_MODE_SET, NULL},
{"pt3azstatus", "set", SW_API_PORT_3AZ_STATUS_SET, NULL},
{"phymode", "set", SW_API_PHY_MODE_SET, NULL},
{"fx100ctrl", "set", SW_API_FX100_CTRL_SET, NULL},
{"mac06exch", "set", SW_API_MAC06_EXCH_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_VSI
struct sub_cmd_des_t g_vsi_des[] =
{
{"vsi", "alloc", SW_API_VSI_ALLOC, NULL},
{"vsi", "free", SW_API_VSI_FREE, NULL},
{"portbasedvsi", "set", SW_API_PORT_VSI_SET, NULL},
{"vlanbasedvsi", "set", SW_API_PORT_VLAN_VSI_SET, NULL},
{"learnctrl", "set", SW_API_VSI_NEWADDR_LRN_SET, NULL},
{"stationmove", "set", SW_API_VSI_STAMOVE_SET, NULL},
{"member", "set", SW_API_VSI_MEMBER_SET, NULL},
{"counter", "cleanup", SW_API_VSI_COUNTER_CLEANUP, NULL},
{NULL, NULL, 0, NULL}/*end of desc*/
};
#endif
#ifdef IN_POLICER
struct sub_cmd_des_t g_policer_des[] =
{
{"timeslot", "set", SW_API_POLICER_TIMESLOT_SET, NULL},
{"fcscompensation", "set", SW_API_POLICER_COMPENSATION_SET, NULL},
{"portentry", "set", SW_API_POLICER_PORT_ENTRY_SET, NULL},
{"aclentry", "set", SW_API_POLICER_ACL_ENTRY_SET, NULL},
{"bypass", "set", SW_API_POLICER_BYPASS_EN_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
#ifdef IN_SHAPER
struct sub_cmd_des_t g_shaper_des[] =
{
{"porttimeslot", "set", SW_API_PORT_SHAPER_TIMESLOT_SET, NULL},
{"flowtimeslot", "set", SW_API_FLOW_SHAPER_TIMESLOT_SET, NULL},
{"queuetimeslot", "set", SW_API_QUEUE_SHAPER_TIMESLOT_SET, NULL},
{"porttoken", "set", SW_API_PORT_SHAPER_TOKEN_NUMBER_SET, NULL},
{"flowtoken", "set", SW_API_FLOW_SHAPER_TOKEN_NUMBER_SET, NULL},
{"queuetoken", "set", SW_API_QUEUE_SHAPER_TOKEN_NUMBER_SET, NULL},
{"portshaper", "set", SW_API_PORT_SHAPER_SET, NULL},
{"flowshaper", "set", SW_API_FLOW_SHAPER_SET, NULL},
{"queueshaper", "set", SW_API_QUEUE_SHAPER_SET, NULL},
{"ipgcompensation", "set", SW_API_SHAPER_IPG_PRE_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
/*QM*/
#ifdef IN_QM
struct sub_cmd_des_t g_qm_des[] =
{
{"ucastqbase", "set", SW_API_UCAST_QUEUE_BASE_PROFILE_SET, NULL},
{"ucastpriclass", "set", SW_API_UCAST_PRIORITY_CLASS_SET, NULL},
{"mcastpriclass", "set", SW_API_MCAST_PRIORITY_CLASS_SET, NULL},
{"queue", "flush", SW_API_QUEUE_FLUSH, NULL},
{"queue", "set", SW_API_QUEUE_FLUSH, NULL},
{"ucasthash", "set", SW_API_UCAST_HASH_MAP_SET, NULL},
{"ucastdflthash", "set", SW_API_UCAST_DFLT_HASH_MAP_SET, NULL},
{"mcastcpucode", "set", SW_API_MCAST_CPUCODE_CLASS_SET, NULL},
{"acctrl", "set", SW_API_AC_CTRL_SET, NULL},
{"acprebuffer", "set", SW_API_AC_PRE_BUFFER_SET, NULL},
{"acqgroup", "set", SW_API_QUEUE_GROUP_SET, NULL},
{"acstaticthresh", "set", SW_API_STATIC_THRESH_SET, NULL},
{"acdynamicthresh", "set", SW_API_DYNAMIC_THRESH_SET, NULL},
{"acgroupbuff", "set", SW_API_GOURP_BUFFER_SET, NULL},
{"cntctrl", "set", SW_API_QUEUE_CNT_CTRL_SET, NULL},
{"cnt", "cleanup", SW_API_QUEUE_CNT_CLEANUP, NULL},
{"cnt", "set", SW_API_QUEUE_CNT_CLEANUP, NULL},
{"enqueue", "set", SW_API_QM_ENQUEUE_CTRL_SET, NULL},
{"srcprofile", "set", SW_API_QM_SOURCE_PROFILE_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
/*BM*/
#ifdef IN_BM
struct sub_cmd_des_t g_bm_des[] =
{
{"ctrl", "set", SW_API_BM_CTRL_SET, NULL},
{"portgroupmap", "set", SW_API_BM_PORTGROUP_MAP_SET, NULL},
{"groupbuff", "set", SW_API_BM_GROUP_BUFFER_SET, NULL},
{"portrsvbuff", "set", SW_API_BM_PORT_RSVBUFFER_SET, NULL},
{"portsthresh", "set", SW_API_BM_STATIC_THRESH_SET, NULL},
{"portdthresh", "set", SW_API_BM_DYNAMIC_THRESH_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
/*Servcode*/
#ifdef IN_SERVCODE
struct sub_cmd_des_t g_servcode_des[] =
{
{"config", "set", SW_API_SERVCODE_CONFIG_SET, NULL},
{"loopcheck", "set", SW_API_SERVCODE_LOOPCHECK_EN, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
/*rss hash*/
#ifdef IN_RSS_HASH
struct sub_cmd_des_t g_rss_hash_des[] =
{
{"config", "set", SW_API_RSS_HASH_CONFIG_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
/*Ctrlpkt*/
#ifdef IN_CTRLPKT
struct sub_cmd_des_t g_ctrlpkt_des[] =
{
{"ethernetType", "set", SW_API_MGMTCTRL_ETHTYPE_PROFILE_SET, NULL},
{"rfdb", "set", SW_API_MGMTCTRL_RFDB_PROFILE_SET, NULL},
{"appProfile", "set", SW_API_MGMTCTRL_CTRLPKT_PROFILE_ADD, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
#endif
struct sub_cmd_des_t g_debug_des[] =
{
{"module_func", "set", SW_API_MODULE_FUNC_CTRL_SET, NULL},
{NULL, NULL, 0, NULL},/*end of desc*/
};
struct cmd_des_t gcmd_des[] =
{
/*port ctrl*/
#ifdef IN_PORTCONTROL
{
"port", g_port_des,
},
#endif
/*vlan*/
#ifdef IN_VLAN
{
"vlan", g_vlan_des,
},
#endif
/*portvlan*/
#ifdef IN_PORTVLAN
{
"portVlan", g_portvlan_des,
},
#endif
/*fdb*/
#ifdef IN_FDB
{
"fdb", g_fdb_des,
},
#endif
/*acl*/
#ifdef IN_ACL
{
"acl", g_acl_des,
},
#endif
/*qos*/
#ifdef IN_QOS
{
"qos", g_qos_des,
},
#endif
/*igmp*/
#ifdef IN_IGMP
{
"igmp", g_igmp_des,
},
#endif
/*leaky*/
#ifdef IN_LEAKY
{
"leaky", g_leaky_des,
},
#endif
/*mirror*/
#ifdef IN_MIRROR
{
"mirror", g_mirror_des,
},
#endif
/*rate*/
#ifdef IN_RATE
{
"rate", g_rate_des,
},
#endif
#ifdef IN_SEC
#ifdef ISISC
{
"sec", g_sec_des,
},
#endif
#endif
/*stp*/
#ifdef IN_STP
{
"stp", g_stp_des,
},
#endif
/*mib*/
#ifdef IN_MIB
{
"mib", g_mib_des,
},
#endif
/* led */
#ifdef IN_LED
{
"led", g_led_des,
},
#endif
/* cosmap */
#ifdef IN_COSMAP
{
"cosmap", g_cosmap_des,
},
#endif
/*misc*/
#ifdef IN_MISC
{
"misc", g_misc_des,
},
#endif
/* IP */
#ifdef IN_IP
{
"ip", g_ip_des,
},
#endif
/* FLOW */
#ifdef IN_FLOW
{
"flow", g_flow_des,
},
#endif
/* NAT */
#ifdef IN_NAT
{
"nat", g_nat_des,
},
#endif
/*Trunk*/
#ifdef IN_TRUNK
{
"trunk", g_trunk_des,
},
#endif
/*Interface Control*/
#ifdef IN_INTERFACECONTROL
{
"interface", g_interfacecontrol_des,
},
#endif
#ifdef IN_VSI
{
"vsi", g_vsi_des,
},
#endif
/*policer*/
#ifdef IN_POLICER
{
"policer", g_policer_des,
},
#endif
/*shaper*/
#ifdef IN_SHAPER
{
"shaper", g_shaper_des,
},
#endif
/*qm Control*/
#ifdef IN_QM
{
"qm", g_qm_des,
},
#endif
/*bm Control*/
#ifdef IN_BM
{
"bm", g_bm_des,
},
#endif
#ifdef IN_SERVCODE
{
"servcode", g_servcode_des,
},
#endif
#ifdef IN_RSS_HASH
{
"rsshash", g_rss_hash_des,
},
#endif
#ifdef IN_CTRLPKT
{
"ctrlpkt", g_ctrlpkt_des,
},
#endif
{
"debug", g_debug_des,
},
{NULL, NULL} /*end of desc*/
};
#endif