微知-BlueField DPU和Mellanox网卡SF(Scalable functions)是什么?如何创建SF?(mlnx-sf --action show、create、 delete)

0 快速回忆

2种方式
# mlnx-sf方式
## 创建
mlnx-sf --action create --device 0000:03:00.0 --sfnum 9 --hwaddr 02:25:f2:8d:a2:4c
## 查看
mlnx-sf --action show #或者mlnx-sf -a show
## 删除
mlnx-sf --action delete --sfindex pci/0000:03:00.0/163873


# mlxdev方式
## 创建
/opt/mellanox/iproute2/sbin/mlxdevm port add pci/0000:03:00.0 flavour pcisf pfnum 0 sfnum 8
## 设置
/opt/mellanox/iproute2/sbin/mlxdevm port function set pci/0000:03:00.0/163873 hw_addr 00:00:00:00:08:0
## 激活
/opt/mellanox/iproute2/sbin/mlxdevm port function set pci/0000:03:00.0/163873 state active
## 查看
/opt/mellanox/iproute2/sbin/mlxdevm port show pci/0000:03:00.0/163873
## 删除
删除前先inactive再删除
/opt/mellanox/iproute2/sbin/mlxdevm port function set pci/0000:03:00.0/163873 state inactive
/opt/mellanox/iproute2/sbin/mlxdevm port del pci/0000:03:00.0/163873

概览:
在这里插入图片描述

1 背景

Scalable functions (SFs), or sub-functions。 是和VF非常相似的虚拟设备。VF是 SR-IOV解决方案的一部分。
I/O 虚拟化通过让虚拟机直接访问硬件 I/O 设备来提高服务器的性能。SR-IOV 规范允许一个 PCIe设备将自身作为多个不同的“虚拟”设备呈现给主机。这是通过在传统 PCIe 功能(即物理功能或 PF)中添加新的 PCIe 功能结构来实现的。本文将介绍Mellanox DPU上的sf如何管理。

2 SF介绍

SF 是一种轻量级函数,它有一个部署它的父 PCIe 函数。因此,SF 可以访问其父 PCIe 函数的功能和资源,并拥有自己的函数能力和自己的资源。这意味着 SF 也将拥有自己的专用队列(即 txq、rxq)。
SF 与 PCIe SR-IOV 虚拟功能(在主机上)共存,但也不需要启用 PCIe SR-IOV。
SF 支持与现有 PF 和 VF 表示器一样的 E-Switch 表示卸载。SF 与其他 SF 和/或与其父 PCIe 函数共享 PCIe 级资源。
在这里插入图片描述

3 概要

三部曲:创造 -> 配置 -> 部署
配置SF有两个工具mlnx-sf 脚本和比较旧的mlxdevm 工具

配置SF有两个工具
mlnx-sf(新)
1增:
mlnx-sf --action create --device 0000:03:00.0
--sfnum 9 --hwaddr 02:25:f2:8d:a2:4c
注:这里sfnum 9表示序号为9,不是9个。
创建的eth设备是:enp3s0f0s9
2查:
mlnx-sf --action show
3删:
mlnx-sf --action delete --sfindex pci/0000:03:00.0/163873
mlxdevm(旧)
1增:
创建sf设备:
/opt/mellanox/iproute2/sbin/mlxdevm port add
pci/0000:03:00.0 flavour pcisf pfnum 0 sfnum 8
设置mac地址:
/opt/mellanox/iproute2/sbin/mlxdevm port function set
pci/0000:03:00.0/163873 hw_addr 00:00:00:00:08:0
激活:
/opt/mellanox/iproute2/sbin/mlxdevm port function set
pci/0000:03:00.0/163873 state active
2查:
/opt/mellanox/iproute2/sbin/mlxdevm port show
pci/0000:03:00.0/163873
mlnx-sf --action show
3删:
失效 反激活:/opt/mellanox/iproute2/sbin/mlxdevm port function set
pci/0000:03:00.0/163873 state inactive
删除:/opt/mellanox/iproute2/sbin/mlxdevm port del pci/0000:03:00.0/163873

4 实战

4.1 mlnx-sf

4.1.1 添加

在这里插入图片描述

4.1.2 查看

在这里插入图片描述

4.1.3 删除

在这里插入图片描述

4.1.4 删除后查看

在这里插入图片描述

4.2 mlxdev方式

4.2.1 创建

在这里插入图片描述

4.2.2 激活

在这里插入图片描述

4.2.3 查看用mlnx-sf --action show

注意mlxdev方式还需要指定驱动,本文不做详细介绍。
在这里插入图片描述

4.2.4 删除

在这里插入图片描述

5 综述

本文介绍sf如何创建删除,以及2个工具,重点使用mlxnf-sf。以及sf创建和删除的几个增删查CRUD(无U)的方法。mlnx-sf更加简单方便。并且都是–action [create|show|delete]比较标准的方式。

  • –sfindex 是指包含pci和domain-bdf号和index,这样才能全局唯一。所以在后续show del等场景是要告诉程序查询用它。
  • –sfnum 不是sfindex,sfnum用在创建eth口这些human可读性强的地方。 和pfnum类似。所以用在人类指定的

6 参考

https://docs.nvidia.com/doca/archive/doca-v1.1/scalable-functions/index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值