2. DPU 管理口与数据口网络配置
管理口与数据口的角色划分
Marvell DPU 上通常存在两类以太网接口:管理口(如 oob0 / eth0,接 BMC 或带外交换网)和数据口(如 p0、p1,接 PCIe 主机侧或外部交换网)。管理口用于 SSH、SDK RPC、固件升级等控制面流量;数据口用于承载主机侧或外部网络的业务流量。两者必须分属不同子网,避免控制面与数据面互相抢占路由。
本案例的典型拓扑是:实验主机通过管理网访问 DPU 管理 IP,DPU 数据口与主机侧 PF/VF 或对端交换机互联。配置完成后需要同时验证两条路径:主机 → DPU 管理 IP(控制面),以及主机侧 ↔ DPU 数据口(数据面)。
管理 IP 配置
通过串口或 BMC 登录 DPU 后,先确认管理口名称与当前状态:
ip link show oob0
ip addr show oob0
若管理口未启用,先拉起链路并配置静态 IP(示例网段 192.168.10.0/24):
sudo ip link set oob0 up
sudo ip addr add 192.168.10.100/24 dev oob0
sudo ip route add default via 192.168.10.1 dev oob0
验证管理面连通性:
ping -c 3 192.168.10.10
ssh admin@192.168.10.10 "echo ok"
若使用 Marvell SDK 的
dpu-cli 或 rshim 工具,管理 IP 也可通过 SDK 配置持久化,重启后自动生效。建议在 /etc/network/interfaces 或 NetworkManager 中写入静态配置,避免每次手动执行。数据口绑定与主机侧互通
数据口 p0 需要与主机侧 PF/VF 建立二层或三层可达。常见做法有两种:
- 三层直连:DPU 数据口配 10.0.0.100/24,主机侧 PF 配 10.0.0.1/24,直接 ping 通。
- 二层桥接:将 DPU 数据口与主机侧 PF 加入同一 Linux bridge 或 OVS,后续案例 3 的 OVS 卸载即基于此结构。
三层直连配置示例:
# DPU 侧
sudo ip link set p0 up
sudo ip addr add 10.0.0.100/24 dev p0
# 主机侧(对端 PF)
sudo ip link set enp3s0f0 up
sudo ip addr add 10.0.0.1/24 dev enp3s0f0
验证数据面:
# 主机侧
ping -c 3 10.0.0.100
# DPU 侧
ping -c 3 10.0.0.1
配置检查与常见问题
| 检查项 | 命令 | 预期结果 |
|---|---|---|
| 管理口链路 | ip link show oob0 | state UP |
| 管理 IP | ip addr show oob0 | 192.168.10.100/24 |
| 数据口链路 | ip link show p0 | state UP |
| 数据 IP | ip addr show p0 | 10.0.0.100/24 |
| 路由表 | ip route | 默认路由指向管理网关 |
| ARP 表 | ip neigh | 对端 IP 对应 MAC 可达 |
管理口与数据口不要配置在同一子网,否则内核可能选择错误出口,导致 SSH 断连或数据面不通。若必须同网段,需用策略路由(
ip rule)显式指定源地址。持久化与重启验证
临时 ip addr add 在重启后会丢失。生产环境建议写入网络配置文件。以 Netplan 为例(Ubuntu 系 DPU 常见):
network:
version: 2
ethernets:
oob0:
addresses: [192.168.10.100/24]
routes:
- to: default
via: 192.168.10.1
p0:
addresses: [10.0.0.100/24]
应用并重启验证:
sudo netplan apply
sudo reboot
# 重启后
ip addr show oob0
ip addr show p0
ping -c 3 192.168.10.10
ping -c 3 10.0.0.1
两条 ping 均通,说明管理面与数据面基础网络环境已就绪,可进入后续 OVS 卸载与 VXLAN 隧道配置。