• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

如何配置BroadCOM网卡的SR-IOV功能

  • -1关注 ,4875浏览
粉丝:12人 关注:0人

用户咨询如何配置Broadcom网卡的SR-IOV的功能,关于该配置网上相关手册很有限,解释的也不详细,对此笔者对现有设备进行实验和测试,为开启SR-IOV功能的操作做一个介绍。

 


配置过程中会有告警进行,需要适当的进行配置的调整,如

1. 在dmesg中可能会有如下的报错信息

bnx2x 0000:03:00.0: not enough MMIO resources for SR-IOV

2. 查看到VF网卡的MAC地址为00:00:00:00:00:00


关于bnx2x 0000:03:00.0: not enough MMIO resources for SR-IOV的报错 ,主要是BIOS的问题,BIOS没有为VF提供足够的MMIO space,可以在系统的kernel中增加参数解决


本案例中使用的服务器测试环境如下:

服务器:H3C R390X G2

操作系统:RHEL7.3

SR-IOV网卡型号:Brocadcom 530FLB (BCM57810芯片)

 

1.    首先在BIOS中开启网卡的SR-IOV的支持

服务器开机自检按ESC或DEL进入BIOS Setup,点击Advanced -> 选中530FLR网卡。 默认Multi-Function Mode为SF,这里改成SR-IOV

 

2.    操作系统中开启IOMMU支持

执行dmesg | grep -i iommu看操作系统是否开启了IOMMU支持,如果没开启,则编辑如下

# vi /etc/default/grub

...

GRUB_CMDLINE_LINUX="nofb splash=quiet cOnsole=tty0 intel_iommu=on

...

重新生成grub配置文件

#grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

#reboot

重启后查看iommu启动情况

#dmesg | grep -i iommu

则表示开启成功

 

3.    系统中查看网卡,我们使用的是BCM57810芯片的网卡(Broadcom)

查看网卡信息

 

4.    开启网卡的VF端口

注意:首先要确保端口是up状态

#ifup ens9f0

查看sriov的端口数量

# cat /sys/class/net/ens9f0/device/sriov_numvfs

0

如果返回结果是0,表示没有VF接口

 

5.    开启VF端口

# echo 8 > /sys/class/net/ens9f0/device/sriov_numvfs

备注:enable VF时,可能会报错如下:

[  641.704649] bnx2x 0000:03:00.0: not enough MMIO resources for SR-IOV

[  641.704656] [bnx2x_enable_sriov:2514(ens9f0)]pci_enable_sriov failed with -12

上面的报错通常是BIOS issue,可能是BIOS不支持 (The BIOS is not providing enough MMIO space for VFs)

参考文档:https://access.redhat.com/solutions/37376

解决办法: 在kernel中再加入一个参数pci=realloc

修改/etc/default/grub,在之前的iommu选项后,加入该参数

重新生成grub

#grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

#reboot

 

6.    检查VF开启情况

经过刚刚的设置之后,再次执行下面的命令后,即可查看到VF port

# echo 8 > /sys/class/net/ens9f0/device/sriov_numvfs

# lspci | grep –i ethernet

# ip addr show

但是所有的mac地址都是00:00:00:00:00:00

根据Broadcom bnx2x driver的readme描述,这属于正常情况

https://downloads.hpe.com/pub/softlib2/software1/pubsw-linux/p1050551721/v140545/README

Known issues/Limitations/Caveats

-----------------------------------

-The bnx2x driver now assigns all zeroes as the MAC address for SR-IOV virtual functions. Users need to manually configure valid MAC addresses for virtual functions using iproute2 or ifconfig methods

 

7.    手动设置VF的MAC地址

# ip link show

先查看MAC地址

手动设置MAC地址

# ip link set enp3s1f1 addr 14:aa:bb:cc:dd:01

下面的脚本是为了实现自动化配置所有VF端口的命令

# counter=1; for i in $(ip a | grep enp3s1 | awk '{print $2;}' | tr -d ":"); do ip link set $i addr aa:bb:cc:dd:ee:$counter; ((counter++)); done

注意:需要适当修改enp3s1端口名称为实际端口的名称

 


本文对Broadcom网卡启用SR-IOV功能做了详细的介绍,需要注意,手动配置网卡的MAC地址,根据不同型号的网卡可能会有差异。

上面是在设置Broadcom网卡,芯片型号为BCM57810时所执行的命令,我们可以看到这款卡的特点是每个VF都有自己的端口名称

相比其他型号网卡,比如intel,可能会有些差异,所有的VF是挂在某个PF下,且没有单独的网卡名称。这时需要执行如下的命令

#ip link set eth2 vf 1 mac 00:52:44:11:22:33

所以要根据实际情况进行修改


0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作