# zce_decoder_demo **Repository Path**: initios/zce_decoder_demo ## Basic Information - **Project Name**: zce_decoder_demo - **Description**: demo for short signal of zce - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-05-01 - **Last Updated**: 2025-04-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 1. 环境要求 操作系统版本:CentOS Linux release 7.9.2009 (Core) ```bash # 查看系统版本 cat /etc/redhat-release ``` Linux 内核版本:3.10.0-1160.el7.x86_64 ```bash # 查看内核版本 uname -r ``` 网卡型号:Solarflare SFC9220 ```bash # 查看网卡型号 lspci ``` 网卡配置: - 网卡节点名称:ens1f1 - 本机IP地址:10.226.13.22 - 组播目标地址:239.239.239.5 --- ### 2. 添加静态路由 临时添加路由表: ```bash route add -host 239.239.239.5 dev ens1f1 ``` 永久添加路由表需要修改配置文件: ```bash vi /etc/sysconfig/network-scripts/route-ens1f1 # 添加以下内容 239.239.239.5/32 dev ens1f1 ``` > 注意:在实际环境中,文件名需要根据实际网络节点名称进行修改。 --- ### 3. 禁用源地址路由校验 编辑系统配置文件: ```bash vi /etc/sysctl.conf # 添加以下内容 net.ipv4.conf.all.rp_filter = 0 net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.ens1f1.rp_filter = 0 ``` 运行以下命令可以查看配置是否生效: ```bash sysctl -p ``` --- ### 4. 加入组播组 在环境要求里面提到了目标组播地址和本机IP地址,现在需要加入这个组播组: ```bash /root/addgroup -g multi://239.239.239.5@10.226.13.22 & # 参数说明: # 239.239.239.5:组播目标地址 # 10.226.13.22:本机IP地址 ``` 为了让add-group在机器重启后立即启动,可以将上述命令加入到crontab ```bash # 编辑crontab crontab -e # 添加以下内容 @reboot /root/addgroup -g multi://239.239.239.5@10.226.13.22 & ``` --- ### 5. 验证组播包接收 运行如下命令查看是否能捕获到目标地址为239.239.239.5的组播包 ```bash tcpdump -i ens1f1 -nnn ``` --- ### 6. 运行demo方法 exanic版本 ```bash # 进入EXANIC目录 cd EXANIC # 运行程序,其中exanic0:0为网卡名称 ./zce_exanic exanic0:0 ``` raw_socket版本 ```bash # 进入RAW_SOCKET目录 cd RAW_SOCKET # 运行程序,其中ens1f1为网卡名称 ./zce_raw_socket ens1f1 ```