2. DPU 管理口与数据口网络配置

DPU 管理口与数据口网络配置 学习卡片

管理口与数据口的角色划分

Marvell DPU 上通常存在两类以太网接口:管理口(如 oob0 / eth0,接 BMC 或带外交换网)和数据口(如 p0、p1,接 PCIe 主机侧或外部交换网)。管理口用于 SSH、SDK RPC、固件升级等控制面流量;数据口用于承载主机侧或外部网络的业务流量。两者必须分属不同子网,避免控制面与数据面互相抢占路由。

本案例的典型拓扑是:实验主机通过管理网访问 DPU 管理 IP,DPU 数据口与主机侧 PF/VF 或对端交换机互联。配置完成后需要同时验证两条路径:主机 → DPU 管理 IP(控制面),以及主机侧 ↔ DPU 数据口(数据面)。

实验主机 管理网卡 192.168.10.10/24 数据网卡 10.0.0.1/24 SSH / SDK 客户端 ping / iperf3 测试端 管理交换机 192.168.10.0/24 数据交换机 / 对端 10.0.0.0/24 Marvell DPU 管理口 oob0 192.168.10.100/24 SSH / RPC / 固件升级 数据口 p0 10.0.0.100/24 业务流量 / 加速卸载 主机侧 PF/VF 10.0.0.1/24 (主机) PCIe 绑定 PCIe 连通性验证 ① ping 192.168.10.100 ② ssh admin@192.168.10.100 ③ ping 10.0.0.100 (数据面) ④ iperf3 数据口吞吐 控制面路径 数据面路径 PCIe 内部绑定

管理 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 oob0state UP
管理 IPip addr show oob0192.168.10.100/24
数据口链路ip link show p0state UP
数据 IPip addr show p010.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 隧道配置。