bcm 使用技巧

2023-10-29 01:10
文章标签 使用 技巧 bcm

本文主要是介绍bcm 使用技巧,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. log和debug使用

使用bcm sdk调试时,其实sdk代码自带很多日志,掌握开启日志的方法可以很方便定位问题:

进入bcm命令行后,输入pwd可以查看当前目录;
cd /flash 切换到想要存文件的目录
输入 log flie=aaa on 在该目录创建aaa文件用于记录bcm终端输出的日志;

debug命令开启不同模块的日志:
开启SOC模块所有日志:
debug SOC +
遇到打印多的情况,手动输入恢复默认配置:
debug SOC =
一般来说这回造成大量输出日志,所以尽可能缩小日志范围:
如只查看soc模块下的phy日志,具体可以通过debug show查看;
debug soc phy debug

debug SOC error,只看err日志;
debug SOC debug,查看debug日志;

2. 查看bcm 表项修改的方法

一般定位bcm问题时,可能由于某个表项mem被修改,但却找不到哪里的代码修改;

可以通过在表项修改的代码增加print_backtrace(参考之前写的文章)来快速定位;

在这里插入图片描述
调试时,可以通过修改变量g_test,当出现满足条件的修改时就会输出调用栈信息

在这里插入图片描述

3. 使用DEBUG寄存器找出RDBGC原因

简单一些的通过RDBGC0有统计,可以查看ING_EVENT_DEBUG表项
getreg ING_EVENT_DEBUG
其结果代表了,哪个bit或几个bit导致的丢包原因:
可以先停止发包,再使用setreg ING_EVENT_DEBUG 0,然后开启发包;
查看ING_EVENT_DEBUG的值哪个bit置位

如果多个bit置位,可以进一步通过 RDBGC0_SELECT来选择只由某一个bit触发
RDBGC0_SELECT

4. 莫名其妙的表项修改

有时候遇到一些莫名其妙的问题,怀疑是某些表项被修改,但有不确定;
list 模块名,先看看该模块相关的表项或者寄存器listr
二层为常用的表项也要查:
d chg l2_entry
d chg vlan_profile

5. bcm一些命令

5.1 phy相关

phy control xx 查看端口phy的一些配置如CL74、DFE等
BCM.0> phy ge0 * //phy 端口名 *可以查看支持的寄存器名称
Port ge0:
PHYID2r [0x70000002] = 0x600d
REGID1<15:0>=0x600d
PHYID3r [0x70000003] = 0x8770
REGID2<15:0>=0x8770
BCM.0> phy ge0 CL72_TXC_TAP_LIMIT_CTL1r //通过具体的命令可以查看和修改对应寄存器值

6.bcm的部分接口

6.1 获取bcm芯片ID

soc_cm_get_id(unit, &dev_id, &rev_id)
对应 show unit 里面的内容
unit 0:
pci device b170 rev 11

7.bcm查看风暴抑制命令

BCM.0> rate
Current settings:
xe0: Bcast= TRUE,Limit=1000000; Mcast=FALSE ; Dlfbc=FALSE ;
xe1: Bcast=FALSE ; Mcast=FALSE ; Dlfbc=FALSE ;

这篇关于bcm 使用技巧的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/297238

相关文章

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

Springboot3 ResponseEntity 完全使用案例

《Springboot3ResponseEntity完全使用案例》ResponseEntity是SpringBoot中控制HTTP响应的核心工具——它能让你精准定义响应状态码、响应头、响应体,相比... 目录Spring Boot 3 ResponseEntity 完全使用教程前置准备1. 项目基础依赖(M

Java使用Spire.Barcode for Java实现条形码生成与识别

《Java使用Spire.BarcodeforJava实现条形码生成与识别》在现代商业和技术领域,条形码无处不在,本教程将引导您深入了解如何在您的Java项目中利用Spire.Barcodefor... 目录1. Spire.Barcode for Java 简介与环境配置2. 使用 Spire.Barco

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

C# 预处理指令(# 指令)的具体使用

《C#预处理指令(#指令)的具体使用》本文主要介绍了C#预处理指令(#指令)的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录1、预处理指令的本质2、条件编译指令2.1 #define 和 #undef2.2 #if, #el

C#中Trace.Assert的使用小结

《C#中Trace.Assert的使用小结》Trace.Assert是.NET中的运行时断言检查工具,用于验证代码中的关键条件,下面就来详细的介绍一下Trace.Assert的使用,具有一定的参考价值... 目录1、 什么是 Trace.Assert?1.1 最简单的比喻1.2 基本语法2、⚡ 工作原理3

C# IPAddress 和 IPEndPoint 类的使用小结

《C#IPAddress和IPEndPoint类的使用小结》本文主要介绍了C#IPAddress和IPEndPoint类的使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录一、核心作用网络编程基础类二、IPAddress 类详解三种初始化方式1. byte 数组初始化2. l

C语言逗号运算符和逗号表达式的使用小结

《C语言逗号运算符和逗号表达式的使用小结》本文详细介绍了C语言中的逗号运算符和逗号表达式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 在C语言中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把两个表达式连接其一般形式为:表达