---
title: （可选）使能SR-IOV设备直通
description: "本小节主要用于为支持SR-IOV的设备（如NVMe、网卡）创建虚拟功能（VF）。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcctrustzone/ccakit/fg-tz/kunpengtee_16_0061.html
sourcePath: /source/zh/kunpengcctrustzone/ccakit/fg-tz/kunpengtee_16_0061.html
indexId: b17b57e74cc9379b6b164093618b2368e61400f266c1683598e053d4434b9bc066
---
# （可选）使能SR-IOV设备直通

本小节主要用于为支持SR-IOV的设备（如NVMe、网卡）创建虚拟功能（VF）。

目前支持的设备：Huawei ES3000 V6 NVMe（使用NVMe驱动），SP680网卡。SP680网卡目前已支持VF RoCE。SR-IOV功能需驱动支持，驱动patch和使用说明请参见获取链接(https://gitcode.com/openeuler/CCA/tree/master/driver)。

1. 创建VF。

  - NVMe驱动。

```
echo ${VF_NUM} > /sys/class/nvme/nvme0/device/sriov_numvfs
```


    a. 分配资源。

```
nvme virt-mgmt -c ${CTRL_ID} -a 7 /dev/nvme0
nvme virt-mgmt -c ${CTRL_ID} -r 0 -a 8 -n 8 /dev/nvme0
nvme virt-mgmt -c ${CTRL_ID} -a 9 /dev/nvme0
```


    b. 查找可用namespace。

```
nvme list-ns -a /dev/nvme0
```


    c. 创建namespace（如果无可用namespace）。

```
nvme create-ns /dev/nvme0 --nsze ${NS_SIZE} --ncap ${NS_SIZE} --flbas 0x0 --dps 0 --nmic 0
```


    d. 将namespace attach到VF对应的CTRL_ID。

```
nvme attach-ns -n ${NSID} -c ${CTRL_ID} /dev/nvme0
```


      CTRL_ID为VF对应的控制器ID，第一个VF的控制器为0x2，以此类推。 NSID为namespace的ID，每个VF都需要分配一个独占的namespace。

  - SP680网卡和Mellanox网卡。

```
echo ${VF_NUM} > /sys/class/net/eth0/device/sriov_numvfs
```


2. 销毁VF。

  - NVMe驱动。

```
echo 0 > /sys/class/nvme/nvme0/device/sriov_numvfs
```


  - SP680网卡和Mellanox网卡。

```
echo 0 > /sys/class/net/eth0/device/sriov_numvfs
```
