broadcom Knet 功能调试记录
来源:互联网 发布:大连住电软件 编辑:程序博客网 时间:2024/06/15 14:50
broadcom Knet 功能调试记录
broadcom部分交换芯片集成了CPU,CPU模块和交换模块通过DMA通道进行数据的通信,broadcom把该通道通过knet虚接口的方式提供CPU的网口功能,和sdk提供的rxtx模块功能有下面区别:
rxtx功能只是一种发送和接收报文的处理方式,最终仍是调用驱动层面的发送和接收接口。Knet虚接口相当于底层驱动,把DMA通道封装成一个接口的形式,屏蔽上层应用感知底层DMA方式实现收发包。
Knet在应用上需要在make.local文件中定义FEATURE_LIST=KNET,把knet功能开关打开,KNET驱动的实现在sdk的kernel层,源码路径:\systems\linux\kernel\modules\bcm-knet\bcm-knet.c
对于BCM 534XX的greyhound系列芯片,在\systems\linux\user\iproc-3\下进行编译,编译结果会生成linux-kernel-bde.ko,linux-user-bde.ko, linux-uk-proxy.ko, linux-bcm-knet.ko这几个ko文件和bcm.user执行文件;
生成的几个ko文件和bcm.user文件加载到目标板中,在linux系统命令行下先对几个模块使用mknod添加相应的字符设备文件;然后进行insmod,处理如下:
mknod /dev/linux-kernel-bde c 125 0
mknod /dev/linux-user-bde c 125 0
mknod /dev/linux-uk-proxy. c 125 0
mknod /dev/linux-kernel-bde c 125 0
insmod linux-kernel-bde.ko
insmod linux-user-bde.ko
insmod linux-uk-proxy.ko
insmod linux-bcm-knet.ko use_rx_skb=”1” num_rx_prio=”2” mac_addr=”00:11:22:33:44:55”rx_buffer_size=”9238” rcpu_mode=”1” rcpu_dmac=”00:01:02:03:04:05” rcpu_smac=”00:00:33:44:55:66”rcpu_ethertype=”de08” rcpu_vlan=”4094”
安装好驱动模块后,运行应用程序,如bcm.user;
在bcm shell命令行界面下执行下面命令:
sc arprequersttocpu=1 //设置arp请求报文送cpu处理
sc arpreplytocpu=1 //设置arp应答报文送cpu处理
sc l3egressmode=1 //启用三层出接口管理
l3 intf add vlan=1 mac=00:11:22:33:44:55 intf=3 //三层出接口封装信息
l3 egrss add intf=3 copytocpu=true //三层接口object信息创建
l3 l3table add ip 192.168.4.10 intf=$egr_object_id //添加一条静态表项
knet netif create type=mete vlan=0 ifname=vintf0 rcpu=yes //创建knet虚接口
knet fileter create desttype=netif destid=1 prio=127 striptag=no //创建knet虚接口
使用bcm 提供的rx /tx应用验证收发包,使用pc连接网口进行ping验证收发包;
需要注意的是不同支持knet的芯片对应的cpu报文头格式可能是不相同的,移植代码时要注意;
- broadcom Knet 功能调试记录
- ROS功能程序调试记录
- PHP错误日志记录功能,一般用于调试BUG
- 调试记录
- 调试记录
- 调试记录
- 高通MSM8255 GPS 调试分析&&Android系统之Broadcom GPS 移植
- BROADCOM sdk
- Android KitKat 4.4 Wifi移植之AP模式与网络共享功能调试记录
- spring+ hibernate调试记录
- Nand 驱动调试记录
- sha1调试记录
- directshow程序调试记录
- STC89C5A60S2单片机调试记录
- NativeSample调试过程记录
- WCN1312调试记录
- 驱动调试记录
- camera调试记录
- Hadoop--Hive安装错误解析
- JSP内置对象:在同一个页面实现成绩输入及总成绩显示
- 数据库中的事务是什么
- 第一天
- vim 插件 Ycm安装
- broadcom Knet 功能调试记录
- Minicom安装和使用和lte调试方法
- 如何通过反射使用一个类的方法
- Spring 启动时报No active profile set, falling back to default profiles default
- Maven与Gradle项目互转
- AP_应付税务预扣税Withholding Tax中付款时产生预扣税(案例)
- 《C语言程序设计教程》(主编黄迪明、余勤)第七章课后习题答案
- 1、蓝牙核心技术了解(蓝牙协议、架构、硬件和软件笔记)
- sklearn.preprocessing.Binarizer