ethernet
前言
S100芯片提供多个标准千兆/万兆以太网控制器, 支持传统的以太网报文收发, PTP/TSN 时间敏感性网络, 以及 EtherCAT 主站等特性。
S600芯片提供多个标准千兆/万兆以太网控制器, 支持传统的以太网报文收发, PTP/TSN 时间敏感性网络, 以及 EtherCAT 主站等特性。
控制器内置硬件多队列, MTL 二层传输层, DMA 引擎等。以实现上述各种场景的报文收发。 本文主要包括网卡使用指南, 开发板 Bringup, 关键特性描述等。
名词解释
| 缩略语 | 英文全名 | 中文解释 |
|---|---|---|
| PTP | Precision Time Protocol | 精确时钟协议 |
| PHC | PTP Hardware Clock | PTP 时钟 |
| TSN | Time-Sensitive Networking | 时间敏感网络 |
| CBS | Credit-Based Shaper | 基于信用的整形器机制 |
| EST | Enhancements to Scheduled Traffic | 增强型整形机制 |
| FPE | Frame Preemption | 帧抢占 |
| tc | traffic control | 流量控制 |
网卡特性介绍
| 特性 | 解释 | S100 |
|---|---|---|
| 配置 | 网口数量配置 | 双网口 |
| 接口 | mac--phy 接口 | 支持 SGMII |
| PPS | 秒脉冲, pps out/in | ✅ |
| TSO | TCP 分段卸载 | ✅ |
| 多队列 | 网卡多队列功能 | ✅ |
| AVB/TSN | 时间敏感性网络 | ✅ |
| C22/C45 | MDIO PHY 数据协议 | ✅ |
| 特性 | 解释 | S600 |
|---|---|---|
| 配置 | 网口数量配置 | 3x gmac + 3x xgmac 其中前2个 gmac 和 pcie 复用 phy |
| 接口 | mac--phy 接口 | 支持 SGMII/USXGMII |
| PPS | 秒脉冲, pps out/in | ✅ |
| TSO | TCP 分段卸载 | ✅ |
| 多队列 | 网卡多队列功能 | ✅ |
| AVB/TSN | 时间敏感性网络 | ✅ |
| C22/C45 | MDIO PHY 数据协议 | ✅ |
网络配置
U-Boot
- 配置 IP
setenv ipaddr x.x.x.x
setenv gatewayip x.x.x.x
setenv netmask x.x.x.x
- 配置 VLAN
setenv vlan xx
- 配置 MAC 地址
setenv ethaddr xx:xx:xx:xx:xx:xx //设置eth mac地址
env del -f ethaddr //删除mac地址
- 切换当前使用的 eth
setenv ethact eth0
setenv ethact eth1
# 如果U-Boot支持双网卡可以切换成功。单网卡切换无效。
Linux/Ubuntu
注意
- 建议使用 Network Management, 即 Ubuntu 桌面进行网卡配置。
- 下述手动通过 ip, ethtool 等命令配置为次选方案。可自行结合 Ubuntu 版本以及网络资料判断是否生效。
- 配置 IP
ip addr add 192.168.1.10/24 dev eth0.10 //推荐
或者
ifconfig eth0.10 192.168.1.10 netmask 255.255.255.0
- 配置 VLAN
ip link add link eth0 name eth0.10 type vlan id 10 //添加vlan id 10
ip link set eth0.10 type vlan egress 0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5 //配置vlan priority 5