This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] [参考译文] [FAQ] TDA4VM:如何在 TDA4/DRA8器件上获取 CPSW 以太网统计信息?

Guru**** 2539500 points
Other Parts Discussed in Thread: TDA4VM

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1220277/faq-tda4vm-how-to-get-cpsw-ethernet-statistics-on-tda4-dra8-devices

器件型号:TDA4VM
主题中讨论的其他器件:DRA821TDA4VHDRA829

我需要在 TDA4/DRA8器件上查看 CPSW 的以太网统计信息以进行调试。 有没有办法让我读他们?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好!

    CPSW IP 具有一个统计模块、其中记录了 IP 的所有端口的多个统计信息。 有关各个统计数据的描述和寄存器地址、请参阅 SoC 的 TRM (第12.2.4.6.19节、标题- CPSW 网络统计信息)。 为了轻松阅读这些统计信息、我们准备了以下工具。

    来自 CCS (针对 enet LLD 应用和 Ethfw)

    1. 启动正确的目标配置并连接到运行应用的内核。 对于 Ethfw 服务器、它将为 MCU2_0 (CCS 调试窗口中的 MAIN_Cortex_R5_0_0)。
    2. 选择 Tools→GEL Files 选项。 此时应打开名为 GEL Files 的窗口
    3. 右键点击 GEL Files 窗口右侧的空白区域、然后选择"Load GEL..."
    4. 导航到"[PSDK-RTOS-INSTALL-DIR]/pdk-[version]/packages/ti/drv/enet/tool/debug_gels /"文件夹、然后选择 cpsw_stats_print_regs.gel
    5. 您应该在 GEL Files 窗口中看到"cpsw_stats_print_regs.gel"。 暂停/暂停已连接的内核(如果要在应用程序运行时获得统计信息、请暂停/暂停另一个未运行任何应用程序的内核。 在这种情况下、您可能必须重复步骤3和4)。
    6. 转至"Scripts"→"CPSW Statistics Print"、并选择要为其打印 ALE 表的 IP
      1. 适用于 MCU CPSW 2G 的 cpsw_2g_statsprint_nonzero
      2. 主 CPSW 5G 的 cpsw_5g_statsprint_nonzero (DRA821)
      3. 主 CPSW 9G 的 cpsw_9G_statsprint_nonzero (DRA829/TDA4VM/TDA4VH)
    7. 您应该会在控制台中看到打印的 ALE 表。 输出将如下所示:
      1. MCU_Cortex_R5_0: GEL Output:           STATS          
        MCU_Cortex_R5_0: GEL Output: --------------------------------
        MCU_Cortex_R5_0: GEL Output:           PORT0 STATS          
        MCU_Cortex_R5_0: GEL Output: --------------------------------
        MCU_Cortex_R5_0: GEL Output: STAT_0_RXGOODFRAMES              = 0x0002F960
        MCU_Cortex_R5_0: GEL Output: STAT_0_RXBROADCASTFRAMES         = 0x0000193B
        MCU_Cortex_R5_0: GEL Output: STAT_0_RXMULTICASTFRAMES         = 0x0000012C
        MCU_Cortex_R5_0: GEL Output: STAT_0_RXOCTETS                  = 0x01049D67
        MCU_Cortex_R5_0: GEL Output: STAT_0_TXGOODFRAMES              = 0x00006AD5
        MCU_Cortex_R5_0: GEL Output: STAT_0_TXBROADCASTFRAMES         = 0x0000193C
        MCU_Cortex_R5_0: GEL Output: STAT_0_TXMULTICASTFRAMES         = 0x000025A7
        MCU_Cortex_R5_0: GEL Output: STAT_0_TXOCTETS                  = 0x005AAD86
        MCU_Cortex_R5_0: GEL Output: STAT_0_OCTETFRAMES64             = 0x000057BB
        MCU_Cortex_R5_0: GEL Output: STAT_0_OCTETFRAMES65T127         = 0x0002C0DE
        MCU_Cortex_R5_0: GEL Output: STAT_0_OCTETFRAMES128T255        = 0x00000113
        MCU_Cortex_R5_0: GEL Output: STAT_0_OCTETFRAMES256T511        = 0x00004A86
        MCU_Cortex_R5_0: GEL Output: STAT_0_OCTETFRAMES512T1023       = 0x00000003
        MCU_Cortex_R5_0: GEL Output: STAT_0_NETOCTETS                 = 0x015F4AED
        MCU_Cortex_R5_0: GEL Output: STAT_0_TX_PRI_REG             [0]= 0x00006AD5
        MCU_Cortex_R5_0: GEL Output: STAT_0_TX_PRI_BCNT_REG        [0]= 0x005AAD86
        MCU_Cortex_R5_0: GEL Output: --------------------------------
        MCU_Cortex_R5_0: GEL Output:           PORT1 STATS          
        MCU_Cortex_R5_0: GEL Output: --------------------------------
        MCU_Cortex_R5_0: GEL Output: --------------------------------
        MCU_Cortex_R5_0: GEL Output:           PORT2 STATS          
        MCU_Cortex_R5_0: GEL Output: --------------------------------
        MCU_Cortex_R5_0: GEL Output: STAT_2_RXGOODFRAMES              = 0x0000E330
        MCU_Cortex_R5_0: GEL Output: STAT_2_RXBROADCASTFRAMES         = 0x00000002
        MCU_Cortex_R5_0: GEL Output: STAT_2_RXMULTICASTFRAMES         = 0x0000B73C
        MCU_Cortex_R5_0: GEL Output: STAT_2_ALE_DROP                  = 0x0000919E
        MCU_Cortex_R5_0: GEL Output: STAT_2_RXOCTETS                  = 0x00C4315A
        MCU_Cortex_R5_0: GEL Output: STAT_2_TXGOODFRAMES              = 0x0002DF9A
        MCU_Cortex_R5_0: GEL Output: STAT_2_TXBROADCASTFRAMES         = 0x00000002
        MCU_Cortex_R5_0: GEL Output: STAT_2_TXMULTICASTFRAMES         = 0x0000009F
        MCU_Cortex_R5_0: GEL Output: STAT_2_TXOCTETS                  = 0x00E33C1A
        MCU_Cortex_R5_0: GEL Output: STAT_2_OCTETFRAMES64             = 0x000057BB
        MCU_Cortex_R5_0: GEL Output: STAT_2_OCTETFRAMES65T127         = 0x0002CD89
        MCU_Cortex_R5_0: GEL Output: STAT_2_OCTETFRAMES128T255        = 0x00006D84
        MCU_Cortex_R5_0: GEL Output: STAT_2_OCTETFRAMES256T511        = 0x00002FFC
        MCU_Cortex_R5_0: GEL Output: STAT_2_OCTETFRAMES512T1023       = 0x00000006
        MCU_Cortex_R5_0: GEL Output: STAT_2_NETOCTETS                 = 0x01A76D74
        MCU_Cortex_R5_0: GEL Output: STAT_2_PORTMASK_DROP             = 0x0000919E
        MCU_Cortex_R5_0: GEL Output: STAT_2_ALE_VID_INGRESS_DROP      = 0x00005BD0
        MCU_Cortex_R5_0: GEL Output: STAT_2_ALE_UNKN_UNI              = 0x00002BF2
        MCU_Cortex_R5_0: GEL Output: STAT_2_ALE_UNKN_UNI_BCNT         = 0x000B13A4
        MCU_Cortex_R5_0: GEL Output: STAT_2_ALE_UNKN_MLT              = 0x0000B73C
        MCU_Cortex_R5_0: GEL Output: STAT_2_ALE_UNKN_MLT_BCNT         = 0x00B91D36
        MCU_Cortex_R5_0: GEL Output: STAT_2_ALE_UNKN_BRD              = 0x00000002
        MCU_Cortex_R5_0: GEL Output: STAT_2_ALE_UNKN_BRD_BCNT         = 0x00000080
        MCU_Cortex_R5_0: GEL Output: STAT_2_TX_PRI_REG             [0]= 0x0002DF9A
        MCU_Cortex_R5_0: GEL Output: STAT_2_TX_PRI_BCNT_REG        [0]= 0x00E33C1A
        MCU_Cortex_R5_0: GEL Output: --------------------------------
        MCU_Cortex_R5_0: GEL Output:           PORT3 STATS          
        MCU_Cortex_R5_0: GEL Output: --------------------------------
        MCU_Cortex_R5_0: GEL Output: --------------------------------
        MCU_Cortex_R5_0: GEL Output:           PORT4 STATS          
        MCU_Cortex_R5_0: GEL Output: --------------------------------
        MCU_Cortex_R5_0: GEL Output: STAT_4_RXGOODFRAMES              = 0x00003389
        MCU_Cortex_R5_0: GEL Output: STAT_4_RXBROADCASTFRAMES         = 0x00003271
        MCU_Cortex_R5_0: GEL Output: STAT_4_RXMULTICASTFRAMES         = 0x00000118
        MCU_Cortex_R5_0: GEL Output: STAT_4_ALE_DROP                  = 0x00001A46
        MCU_Cortex_R5_0: GEL Output: STAT_4_RXOCTETS                  = 0x0043BF9D
        MCU_Cortex_R5_0: GEL Output: STAT_4_TXGOODFRAMES              = 0x000019C6
        MCU_Cortex_R5_0: GEL Output: STAT_4_TXBROADCASTFRAMES         = 0x00001939
        MCU_Cortex_R5_0: GEL Output: STAT_4_TXMULTICASTFRAMES         = 0x0000008D
        MCU_Cortex_R5_0: GEL Output: STAT_4_TXOCTETS                  = 0x0021614D
        MCU_Cortex_R5_0: GEL Output: STAT_4_OCTETFRAMES65T127         = 0x0000018F
        MCU_Cortex_R5_0: GEL Output: STAT_4_OCTETFRAMES128T255        = 0x00000016
        MCU_Cortex_R5_0: GEL Output: STAT_4_OCTETFRAMES256T511        = 0x00004BAA
        MCU_Cortex_R5_0: GEL Output: STAT_4_NETOCTETS                 = 0x006520EA
        MCU_Cortex_R5_0: GEL Output: STAT_4_PORTMASK_DROP             = 0x00001A46
        MCU_Cortex_R5_0: GEL Output: STAT_4_ALE_VID_INGRESS_DROP      = 0x000019BF
        MCU_Cortex_R5_0: GEL Output: STAT_4_ALE_UNKN_MLT              = 0x00000118
        MCU_Cortex_R5_0: GEL Output: STAT_4_ALE_UNKN_MLT_BCNT         = 0x00005CA4
        MCU_Cortex_R5_0: GEL Output: STAT_4_ALE_UNKN_BRD              = 0x00003271
        MCU_Cortex_R5_0: GEL Output: STAT_4_ALE_UNKN_BRD_BCNT         = 0x004362F9
        MCU_Cortex_R5_0: GEL Output: STAT_4_TX_PRI_REG             [0]= 0x000019C6
        MCU_Cortex_R5_0: GEL Output: STAT_4_TX_PRI_BCNT_REG        [0]= 0x0021614D
        
    8. 注:  这将只打印非零统计信息。 因此、未提及的统计数据将为0。

    来自以太网和 Linux (以太网 UART 上的输出)

    1. 在 Linux 命令提示符下,运行以下命令:
      1. ethtool -t $IF_NAME
        1. $if_name 是要查看统计信息的网络接口的名称。
        2. $if_name=eth1表示交换机端口(默认)
        3. $if_name=eth2用于仅 MAC 端口(默认)
    2. 示例日志:
      1.  Port 0 Statistics
        -----------------------------------------
          rxGoodFrames            = 56
          rxBcastFrames           = 16
          rxMcastFrames           = 40
          aleDrop                 = 42
          rxOctets                = 9712
          txGoodFrames            = 573
          txBcastFrames           = 220
          txMcastFrames           = 353
          txOctets                = 65372
          octetsFrames64          = 210
          octetsFrames65to127     = 299
          octetsFrames128to255    = 41
          octetsFrames256to511    = 71
          octetsFrames512to1023   = 8
          netOctets               = 75084
          portMaskDrop            = 42
          alePolicyMatch          = 6
          txPri[0]                = 573
          txPriBcnt[0]            = 65372
        
        
         External Port 0 Statistics
        -----------------------------------------
        
        
         External Port 1 Statistics
        -----------------------------------------
        
        
         External Port 2 Statistics
        -----------------------------------------
        
        
         External Port 3 Statistics
        -----------------------------------------
          rxGoodFrames            = 855
          rxBcastFrames           = 365
          rxMcastFrames           = 489
          aleDrop                 = 290
          rxOctets                = 107985
          octetsFrames64          = 213
          octetsFrames65to127     = 474
          octetsFrames128to255    = 26
          octetsFrames256to511    = 133
          octetsFrames512to1023   = 9
          netOctets               = 107985
          portMaskDrop            = 290
          aleVidIngressDrop       = 289
          aleUnknownUcast         = 1
          aleUnknownUcastBcnt     = 96
          aleUnknownMcast         = 489
          aleUnknownMcastBcnt     = 57352
          aleUnknownBcast         = 365
          aleUnknownBcastBcnt     = 50537
          alePolicyMatch          = 95
        
        
         External Port 4 Statistics
        -----------------------------------------
          rxGoodFrames            = 29
          rxBcastFrames           = 7
          rxMcastFrames           = 22
          aleDrop                 = 15
          rxOctets                = 5543
          txGoodFrames            = 14
          txBcastFrames           = 10
          txMcastFrames           = 4
          txOctets                = 4008
          octetsFrames65to127     = 13
          octetsFrames128to255    = 13
          octetsFrames256to511    = 17
          netOctets               = 9551
          portMaskDrop            = 15
          aleUnknownMcast         = 9
          aleUnknownMcastBcnt     = 1274
          aleUnknownBcast         = 3
          aleUnknownBcastBcnt     = 1038
          alePolicyMatch          = 7
          txPri[0]                = 10
          txPri[2]                = 4
          txPriBcnt[0]            = 2592
          txPriBcnt[2]            = 1416
        
        
         External Port 5 Statistics
        -----------------------------------------
        
        
         External Port 6 Statistics
        -----------------------------------------
        
        
         External Port 7 Statistics
        -----------------------------------------
        
        
        
    3. 注:  这将只打印非零统计信息。 因此、未提及的统计数据将为0。

    来自 Ethfw 与 Linux (Linux 控制台上的输出)

    在某些情况下、可能电路板上没有 ethfw UART、在这种情况下需要对 ethfw 应用补丁来定期将统计数据转储到 IPC 缓冲区、可以从 Linux 查看。 该补丁可在以下附件中找到、并在 SDK 8.6上进行了测试。

    附件: e2e.ti.com/.../6685.CPSW_5F00_Periodic_5F00_stat_5F00_dump.zip

    要应用该补丁并构建 ethfw,请执行以下操作:

    1. 从附件中提取补丁。
    2. 转至"[psdk-rtos-install-DIR]/ethfw"并在其中创建一个 Git 存储库(如果尚未创建)。 帧  
      1. git init -创建一个空的 git 存储库
      2. git add . -添加所有文件到 git 存储库
      3. git commit -m "Initial Commit" -做第一个提交  
    3. 应用补丁"0001-adds-support-for-periodice-CPSW-stat-collection.patch"
      1. 运行git am [Path_to_0001-Adds-support-for-periodic-CPSW-stat-collection.patch]""以应用补丁
    4. 根据您的设置和要求、根据附件中给出的"readme.txt"修改代码
    5. 要构建 ethfw、请转到 "[psdk-rtos-install-DIR]/ethfw"并运行以下命令
      1. make ethfw_all BUILD_SOC_LIST=<SOC_NAME>
        1. =J721E 时、对于 DRA829和 TDA4VM
        2. 对于 DRA821
        3. 对于 TDA4VH、=J784S4

    若要阅读统计数据:

    1. 可以使用命令读取打印的统计信息
      1. CAT /sys/kernel/debug/remoteproc/remoteproc */trace0
    2. 示例日志:
      1. =======================================================
                    CPSW Ethernet Firmware                     
        =======================================================
        Warning: Using 6 MAC address(es) from static pool
        ETHFW: Shared multicasts (software fanout):
          01:00:5e:00:00:01
          01:00:5e:00:00:fb
          01:00:5e:00:00:fc
          33:33:00:00:00:01
          33:33:ff:1d:92:c2
          01:80:c2:00:00:00
          01:80:c2:00:00:03
        ETHFW: Reserved multicasts:
          01:80:c2:00:00:0e
          01:1b:19:00:00:00
        EnetMcm: CPSW_5G on MAIN NAVSS
        Mdio_open: MDIO manual mode enabled
        PHY 16 is alive
        PHY 17 is alive
        PHY 18 is alive
        PHY 19 is alive
        EnetPhy_bindDriver: PHY 16: OUI:0001c1 Model:27 Ver:00 <-> 'vsc8514' : OK
        EnetPhy_bindDriver: PHY 17: OUI:0001c1 Model:27 Ver:00 <-> 'vsc8514' : OK
        EnetPhy_bindDriver: PHY 18: OUI:0001c1 Model:27 Ver:00 <-> 'vsc8514' : OK
        EnetPhy_bindDriver: PHY 19: OUI:0001c1 Model:27 Ver:00 <-> 'vsc8514' : OK
        
        ETHFW Version   : 0.02.00
        ETHFW Build Date: Apr 12, 2023
        ETHFW Build Time: 10:31:18
        ETHFW Commit SHA: 0909933c
        
        
         NETWORK TASK 
        Starting lwIP, local interface IP is dhcp-enabled
        Host MAC address: 70:ff:76:1d:92:c3
        [LWIPIF_LWIP] Enet LLD netif initialized successfully
        [LWIPIF_LWIP_IC] Interface started successfully
        [LWIPIF_LWIP_IC] NETIF INIT SUCCESS
        [LWIPIF_LWIP_IC] Interface started successfully
        [LWIPIF_LWIP_IC] NETIF INIT SUCCESS
        Added interface 'br4', IP is 0.0.0.0
        CpswProxyServer: Virtual port configuration:
          mpu_1_0 <-> Switch port 0: mpu_1_0_ethswitch-device-0
          mcu_2_1 <-> Switch port 1: mcu_2_1_ethswitch-device-1
          mpu_1_0 <-> MAC port 1: mpu_1_0_ethmac-device-1
          mcu_2_1 <-> MAC port 4: mcu_2_1_ethmac-device-4
        CpswProxyServer: initialization completed (core: mcu2_0)
        CpswMacPort_checkSgmiiStatus: MAC 2: SGMII link parter config port: link up: 1-Gbps Full-Duplex
        Cpsw_handleLinkUp: Port 2: Link up: 1-Gbps Full-Duplex
        
         ====== Iteration 1 =====
        
         Port 0 Statistics
        -----------------------------------------
          txGoodFrames            = 2
          txBcastFrames           = 2
          txOctets                = 674
          octetsFrames256to511    = 2
          netOctets               = 674
          txPri[0]                = 2
          txPriBcnt[0]            = 674
        
         External Port 1 Statistics
        -----------------------------------------
        
         External Port 2 Statistics
        -----------------------------------------
          rxGoodFrames            = 9
          rxBcastFrames           = 2
          rxMcastFrames           = 7
          aleDrop                 = 7
          rxOctets                = 1369
          octetsFrames65to127     = 6
          octetsFrames128to255    = 1
          octetsFrames256to511    = 2
          netOctets               = 1369
          portMaskDrop            = 7
          aleUnknownBcast         = 1
          aleUnknownBcastBcnt     = 337
        
         External Port 3 Statistics
        -----------------------------------------
        REMOTE_SERVICE: Init ... !!!
        REMOTE_SERVICE: Init ... Done !!!
        Function:CpswProxyServer_attachExtHandlerCb,HostId:0,CpswType:5
        Function:CpswProxyServer_attachExtHandlerCb,HostId:0,CpswType:5
        Function:CpswProxyServer_registerMacHandlerCb,HostId:0,Handle:a2bbd168,CoreKey:38acb7e6, MacAddress:70:ff:76:1d:92:c2, FlowIdx:85, FlowIdxOf
        fset:1
        Function:CpswProxyServer_setPromiscModeHandlerCb,HostId:0,Handle:a2bbd168,CoreKey:38acb7e6,mode:disable
        Function:CpswProxyServer_setPromiscModeHandlerCb,HostId:0,Handle:a2bbd168,CoreKey:38acb7e6,mode:disable
        Function:CpswProxyServer_registerMacHandlerCb,HostId:0,Handle:a2bbd168,CoreKey:38acb7e6, MacAddress:70:ff:76:1d:92:c1, FlowIdx:84, FlowIdxOf
        fset:0
        Cpsw_ioctlInternal: CPSW: Registered MAC address. ALE entry:7, Policer Entry:2
        Function:CpswProxyServer_filterAddMacHandlerCb,HostId:0,Handle:a2bbd168,CoreKey:38acb7e6, MacAddress:33:33:0:0:0:1, vlanId:0, FlowIdx:84, Fl
        owIdOffset:0
        Function:CpswProxyServer_filterAddMacHandlerCb,HostId:0,Handle:a2bbd168,CoreKey:38acb7e6, MacAddress:1:0:5e:0:0:1, vlanId:0, FlowIdx:84, Flo
        wIdOffset:0
        Function:CpswProxyServer_filterAddMacHandlerCb,HostId:0,Handle:a2bbd168,CoreKey:38acb7e6, MacAddress:33:33:ff:1d:92:c1, vlanId:0, FlowIdx:84
        , FlowIdOffset:0
        Function:CpswProxyServer_setPromiscModeHandlerCb,HostId:0,Handle:a2bbd168,CoreKey:38acb7e6,mode:disable
        Function:CpswProxyServer_filterAddMacHandlerCb,HostId:0,Handle:a2bbd168,CoreKey:38acb7e6, MacAddress:1:80:c2:0:0:0, vlanId:0, FlowIdx:84, Fl
        owIdOffset:0
        Function:CpswProxyServer_filterAddMacHandlerCb,HostId:0,Handle:a2bbd168,CoreKey:38acb7e6, MacAddress:1:80:c2:0:0:3, vlanId:0, FlowIdx:84, Fl
        owIdOffset:0
        Function:CpswProxyServer_filterAddMacHandlerCb,HostId:0,Handle:a2bbd168,CoreKey:38acb7e6, MacAddress:1:80:c2:0:0:e, vlanId:0, FlowIdx:84, Fl
        owIdOffset:0
        CpswProxyServer_isRsvdMcast: Reserved mcast cannot be added to filter
        Function:CpswProxyServer_setPromiscModeHandlerCb,HostId:0,Handle:a2bbd168,CoreKey:38acb7e6,mode:disable
        Function:CpswProxyServer_filterAddMacHandlerCb,HostId:0,Handle:a2bbd168,CoreKey:38acb7e6, MacAddress:33:33:0:0:0:fb, vlanId:0, FlowIdx:84, F
        lowIdOffset:0
        
         ====== Iteration 2 =====
        
         Port 0 Statistics
        -----------------------------------------
          rxGoodFrames            = 12
          rxBcastFrames           = 3
          rxMcastFrames           = 9
          aleDrop                 = 9
          rxOctets                = 1886
          txGoodFrames            = 3
          txBcastFrames           = 3
          txOctets                = 1011
          octetsFrames65to127     = 9
          octetsFrames256to511    = 6
          netOctets               = 2897
          portMaskDrop            = 9
          alePolicyMatch          = 1
          txPri[0]                = 3
          txPriBcnt[0]            = 1011
        
         External Port 1 Statistics
        -----------------------------------------
        
         External Port 2 Statistics
        -----------------------------------------
          rxGoodFrames            = 11
          rxBcastFrames           = 3
          rxMcastFrames           = 8
          aleDrop                 = 8
          rxOctets                = 1780
          txGoodFrames            = 3
          txBcastFrames           = 2
          txMcastFrames           = 1
          txOctets                = 781
          octetsFrames65to127     = 8
          octetsFrames128to255    = 1
          octetsFrames256to511    = 5
          netOctets               = 2561
          portMaskDrop            = 8
          aleUnknownBcast         = 2
          aleUnknownBcastBcnt     = 674
          txPri[0]                = 2
          txPri[2]                = 1
          txPriBcnt[0]            = 427
          txPriBcnt[2]            = 354
        
         External Port 3 Statistics
        -----------------------------------------
        Function:CpswProxyServer_setPromiscModeHandlerCb,HostId:0,Handle:a2bbd168,CoreKey:38acb7e6,mode:disable
        Function:CpswProxyServer_filterAddMacHandlerCb,HostId:0,Handle:a2bbd168,CoreKey:38acb7e6, MacAddress:33:33:0:1:0:3, vlanId:0, FlowIdx:84, Fl
        owIdOffset:0
        
         ====== Iteration 3 =====
        
         Port 0 Statistics
        -----------------------------------------
          rxGoodFrames            = 43
          rxBcastFrames           = 8
          rxMcastFrames           = 34
          aleDrop                 = 30
          rxOctets                = 6650
          txGoodFrames            = 6
          txBcastFrames           = 4
          txMcastFrames           = 1
          txOctets                = 1559
          octetsFrames65to127     = 30
          octetsFrames128to255    = 7
          octetsFrames256to511    = 12
          netOctets               = 8209
          portMaskDrop            = 30
          alePolicyMatch          = 14
          txPri[0]                = 6
          txPriBcnt[0]            = 1559
        
         External Port 1 Statistics
        -----------------------------------------
        
         External Port 2 Statistics
        -----------------------------------------
          rxGoodFrames            = 14
          rxBcastFrames           = 4
          rxMcastFrames           = 9
          aleDrop                 = 8
          rxOctets                = 2328
          txGoodFrames            = 13
          txBcastFrames           = 5
          txMcastFrames           = 7
          txOctets                = 2688
          octetsFrames65to127     = 15
          octetsFrames128to255    = 3
          octetsFrames256to511    = 9
          netOctets               = 5016
          portMaskDrop            = 8
          aleUnknownMcast         = 1
          aleUnknownMcastBcnt     = 90
          aleUnknownBcast         = 2
          aleUnknownBcastBcnt     = 674
          alePolicyMatch          = 2
          txPri[0]                = 11
          txPri[2]                = 2
          txPriBcnt[0]            = 1980
          txPriBcnt[2]            = 708
        
         External Port 3 Statistics
        -----------------------------------------
        
         ====== Iteration 4 =====
        
         Port 0 Statistics
        -----------------------------------------
          rxGoodFrames            = 47
          rxBcastFrames           = 10
          rxMcastFrames           = 35
          aleDrop                 = 32
          rxOctets                = 7488
          txGoodFrames            = 8
          txBcastFrames           = 5
          txMcastFrames           = 1
          txOctets                = 1978
          octetsFrames65to127     = 33
          octetsFrames128to255    = 7
          octetsFrames256to511    = 15
          netOctets               = 9466
          portMaskDrop            = 32
          alePolicyMatch          = 14
          txPri[0]                = 8
          txPriBcnt[0]            = 1978
        
         External Port 1 Statistics
        -----------------------------------------
        
         External Port 2 Statistics
        -----------------------------------------
          rxGoodFrames            = 17
          rxBcastFrames           = 5
          rxMcastFrames           = 10
          aleDrop                 = 9
          rxOctets                = 2821
          txGoodFrames            = 15
          txBcastFrames           = 6
          txMcastFrames           = 7
          txOctets                = 3115
          octetsFrames65to127     = 18
          octetsFrames128to255    = 3
          octetsFrames256to511    = 11
          netOctets               = 5936
          portMaskDrop            = 9
          aleUnknownUcast         = 1
          aleUnknownUcastBcnt     = 82
          aleUnknownMcast         = 1
          aleUnknownMcastBcnt     = 90
          aleUnknownBcast         = 3
          aleUnknownBcastBcnt     = 1011
          alePolicyMatch          = 3
          txPri[0]                = 13
          txPri[2]                = 2
          txPriBcnt[0]            = 2407
          txPriBcnt[2]            = 708
        
         External Port 3 Statistics
        -----------------------------------------
    3. 注:  这将只打印非零统计信息。 因此、未提及的统计数据将为0。

    来自 Linux (适用于原生 Linux 驱动程序)

    1. 从 Linux 命令提示符中运行以下命令
      1. ethtool -S $IF_NAME
        1. $if_name 是要查看统计信息的网络接口的名称。
    2. 示例日志:
      1. root@j7200-evm:~# ethtool -S eth2
        NIC statistics:
             p0_rx_good_frames: 345
             p0_rx_broadcast_frames: 21
             p0_rx_multicast_frames: 98
             p0_rx_crc_errors: 0
             p0_rx_oversized_frames: 0
             p0_rx_undersized_frames: 0
             p0_ale_drop: 0
             p0_ale_overrun_drop: 0
             p0_rx_octets: 39012
             p0_tx_good_frames: 59
             p0_tx_broadcast_frames: 27
             p0_tx_multicast_frames: 17
             p0_tx_octets: 13470
             p0_tx_64B_frames: 23
             p0_tx_65_to_127B_frames: 276
             p0_tx_128_to_255B_frames: 51
             p0_tx_256_to_511B_frames: 54
             p0_tx_512_to_1023B_frames: 0
             p0_tx_1024B_frames: 0
             p0_net_octets: 52482
             p0_rx_bottom_fifo_drop: 0
             p0_rx_port_mask_drop: 0
             p0_rx_top_fifo_drop: 0
             p0_ale_rate_limit_drop: 0
             p0_ale_vid_ingress_drop: 0
             p0_ale_da_eq_sa_drop: 0
             p0_ale_block_drop: 0
             p0_ale_secure_drop: 0
             p0_ale_auth_drop: 0
             p0_ale_unknown_ucast: 0
             p0_ale_unknown_ucast_bytes: 0
             p0_ale_unknown_mcast: 0
             p0_ale_unknown_mcast_bytes: 0
             p0_ale_unknown_bcast: 0
             p0_ale_unknown_bcast_bytes: 0
             p0_ale_pol_match: 0
             p0_ale_pol_match_red: 0
             p0_ale_pol_match_yellow: 0
             p0_ale_mcast_sa_drop: 0
             p0_ale_dual_vlan_drop: 0
             p0_ale_len_err_drop: 0
             p0_ale_ip_next_hdr_drop: 0
             p0_ale_ipv4_frag_drop: 0
             p0_tx_mem_protect_err: 0
             p0_tx_pri0: 59
             p0_tx_pri1: 0
             p0_tx_pri2: 0
             p0_tx_pri3: 0
             p0_tx_pri4: 0
             p0_tx_pri5: 0
             p0_tx_pri6: 0
             p0_tx_pri7: 0
             p0_tx_pri0_bcnt: 13470
             p0_tx_pri1_bcnt: 0
             p0_tx_pri2_bcnt: 0
             p0_tx_pri3_bcnt: 0
             p0_tx_pri4_bcnt: 0
             p0_tx_pri5_bcnt: 0
             p0_tx_pri6_bcnt: 0
             p0_tx_pri7_bcnt: 0
             p0_tx_pri0_drop: 0
             p0_tx_pri1_drop: 0
             p0_tx_pri2_drop: 0
             p0_tx_pri3_drop: 0
             p0_tx_pri4_drop: 0
             p0_tx_pri5_drop: 0
             p0_tx_pri6_drop: 0
             p0_tx_pri7_drop: 0
             p0_tx_pri0_drop_bcnt: 0
             p0_tx_pri1_drop_bcnt: 0
             p0_tx_pri2_drop_bcnt: 0
             p0_tx_pri3_drop_bcnt: 0
             p0_tx_pri4_drop_bcnt: 0
             p0_tx_pri5_drop_bcnt: 0
             p0_tx_pri6_drop_bcnt: 0
             p0_tx_pri7_drop_bcnt: 0
             rx_good_frames: 70
             rx_broadcast_frames: 2
             rx_multicast_frames: 55
             rx_pause_frames: 0
             rx_crc_errors: 0
             rx_align_code_errors: 0
             rx_oversized_frames: 0
             rx_jabber_frames: 0
             rx_undersized_frames: 0
             rx_fragments: 0
             ale_drop: 46
             ale_overrun_drop: 0
             rx_octets: 14584
             tx_good_frames: 277
             tx_broadcast_frames: 2
             tx_multicast_frames: 51
             tx_pause_frames: 0
             tx_deferred_frames: 0
             tx_collision_frames: 0
             tx_single_coll_frames: 0
             tx_mult_coll_frames: 0
             tx_excessive_collisions: 0
             tx_late_collisions: 0
             rx_ipg_error: 0
             tx_carrier_sense_errors: 0
             tx_octets: 26518
             tx_64B_frames: 23
             tx_65_to_127B_frames: 241
             tx_128_to_255B_frames: 66
             tx_256_to_511B_frames: 17
             tx_512_to_1023B_frames: 0
             tx_1024B_frames: 0
             net_octets: 41102
             rx_bottom_fifo_drop: 0
             rx_port_mask_drop: 46
             rx_top_fifo_drop: 0
             ale_rate_limit_drop: 0
             ale_vid_ingress_drop: 28
             ale_da_eq_sa_drop: 0
             ale_block_drop: 0
             ale_secure_drop: 0
             ale_auth_drop: 0
             ale_unknown_ucast: 13
             ale_unknown_ucast_bytes: 1398
             ale_unknown_mcast: 55
             ale_unknown_mcast_bytes: 13058
             ale_unknown_bcast: 2
             ale_unknown_bcast_bytes: 128
             ale_pol_match: 0
             ale_pol_match_red: 0
             ale_pol_match_yellow: 0
             ale_mcast_sa_drop: 0
             ale_dual_vlan_drop: 0
             ale_len_err_drop: 0
             ale_ip_next_hdr_drop: 0
             ale_ipv4_frag_drop: 0
             iet_rx_assembly_err: 0
             iet_rx_assembly_ok: 0
             iet_rx_smd_err: 0
             iet_rx_frag: 0
             iet_tx_hold: 0
             iet_tx_frag: 0
             tx_mem_protect_err: 0
             tx_pri0: 277
             tx_pri1: 0
             tx_pri2: 0
             tx_pri3: 0
             tx_pri4: 0
             tx_pri5: 0
             tx_pri6: 0
             tx_pri7: 0
             tx_pri0_bcnt: 26518
             tx_pri1_bcnt: 0
             tx_pri2_bcnt: 0
             tx_pri3_bcnt: 0
             tx_pri4_bcnt: 0
             tx_pri5_bcnt: 0
             tx_pri6_bcnt: 0
             tx_pri7_bcnt: 0
             tx_pri0_drop: 0
             tx_pri1_drop: 0
             tx_pri2_drop: 0
             tx_pri3_drop: 0
             tx_pri4_drop: 0
             tx_pri5_drop: 0
             tx_pri6_drop: 0
             tx_pri7_drop: 0
             tx_pri0_drop_bcnt: 0
             tx_pri1_drop_bcnt: 0
             tx_pri2_drop_bcnt: 0
             tx_pri3_drop_bcnt: 0
             tx_pri4_drop_bcnt: 0
             tx_pri5_drop_bcnt: 0
             tx_pri6_drop_bcnt: 0
             tx_pri7_drop_bcnt: 0

    此致、
    Tanmy.