在进行SR-IOV虚拟机MTU方面的测试时,出现如下情况:

1)物理网卡PF的MTU值是4000:

root@compute-1:~# ip l|more
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
......................
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 4000 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 3c:f5:cc:27:30:ef brd ff:ff:ff:ff:ff:ff
    vf 0 MAC da:ab:1c:b4:a9:bf, spoof checking on, link-state auto
    vf 1 MAC 06:f1:54:8e:2a:31, spoof checking on, link-state auto

2)SR-IOV虚拟机的MTU设置为3000:

root@test-vm1:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 3000 qdisc mq state UP group default qlen 1000
    link/ether fa:16:3e:e6:75:c8 brd ff:ff:ff:ff:ff:ff
    inet 10.3.11.5/24 brd 10.3.11.255 scope global ens4
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fee6:75c8/64 scope link
       valid_lft forever preferred_lft forever

虚拟机ping网关结果如下:

root@test-vm1:~# ping -s 2972 -M do 10.3.11.1
PING 10.3.11.1 (10.3.11.1) 2972(3000) bytes of data.
2980 bytes from 10.3.11.1: icmp_seq=1 ttl=254 time=0.563 ms
2980 bytes from 10.3.11.1: icmp_seq=2 ttl=254 time=0.645 ms
2980 bytes from 10.3.11.1: icmp_seq=3 ttl=254 time=0.528 ms
^C
--- 10.3.11.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.528/0.578/0.645/0.056 ms
root@test-vm1-5:~# ping -s 2973 -M do 10.3.11.1
PING 10.3.11.1 (10.3.11.1) 2973(3001) bytes of data.
ping: local error: Message too long, mtu=3000
ping: local error: Message too long, mtu=3000
ping: local error: Message too long, mtu=3000
^C
--- 10.3.11.1 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2014ms

==>报文长度受限于SR-IOV虚拟机的MTU值

3)修改SR-IOV虚拟机的MTU值为4000,与物理网卡的相同:

root@test-vm1:~# ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 4000 qdisc mq state UP group default qlen 1000

link/ether fa:16:3e:e6:75:c8 brd ff:ff:ff:ff:ff:ff

inet 10.3.11.5/24 brd 10.3.11.255 scope global ens4

valid_lft forever preferred_lft forever

inet6 fe80::f816:3eff:fee6:75c8/64 scope link

valid_lft forever preferred_lft forever

root@test-vm1:~# ping -s 3973 -M do 10.3.11.1

PING 10.3.11.1 (10.3.11.1) 3973(4001) bytes of data.

ping: local error: Message too long, mtu=4000

ping: local error: Message too long, mtu=4000

^C

--- 10.3.11.1 ping statistics ---

2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 1000ms

root@test-vm1-5:~# ping -s 3972 -M do 10.3.11.1

PING 10.3.11.1 (10.3.11.1) 3972(4000) bytes of data.

3980 bytes from 10.3.11.1: icmp_seq=1 ttl=254 time=0.562 ms

3980 bytes from 10.3.11.1: icmp_seq=2 ttl=254 time=0.604 ms

3980 bytes from 10.3.11.1: icmp_seq=3 ttl=254 time=0.703 ms

^C

--- 10.3.11.1 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 1998ms

==>报文长度受限于MTU=4000

4)修改SR-IOV虚拟机的MTU值为5000(大于物理网卡):

root@test-vm1-5:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 5000 qdisc mq state UP group default qlen 1000
    link/ether fa:16:3e:e6:75:c8 brd ff:ff:ff:ff:ff:ff
    inet 10.3.11.5/24 brd 10.3.11.255 scope global ens4
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fee6:75c8/64 scope link
       valid_lft forever preferred_lft forever
root@test-vm1-5:~# ping -s 4972 -M do 10.3.11.1
PING 10.3.11.1 (10.3.11.1) 4972(5000) bytes of data.
4980 bytes from 10.3.11.1: icmp_seq=1 ttl=254 time=0.531 ms
4980 bytes from 10.3.11.1: icmp_seq=2 ttl=254 time=0.554 ms
4980 bytes from 10.3.11.1: icmp_seq=3 ttl=254 time=0.542 ms
^C
--- 10.3.11.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.531/0.542/0.554/0.021 ms
root@test-vm1-5:~# ping -s 4973 -M do 10.3.11.1
PING 10.3.11.1 (10.3.11.1) 4973(5001) bytes of data.
ping: local error: Message too long, mtu=5000
ping: local error: Message too long, mtu=5000
^C
--- 10.3.11.1 ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 1007ms

==>当vNIC的MTU大于物理网卡的MTU时,报文长度仍然受限于SR-IOV虚拟机的MTU值;

也就是说在SR-IOV场景中,物理网卡的MTU限制并不起作用。

哪位专家能解释一下?

SR-IOV虚拟机的MTU与物理网卡的MTU的更多相关文章

  1. VMware给虚拟机绑定物理网卡

    前言: 桥接模式:就是使用真实的IP地址 NAT模式:使用以VMnet 8所指定的子网中分配的IP地址,在外网信息交互中不存在这样的IP. 仅主机模式:仅用于虚拟机与真机之间的信息交互. 操作步骤: ...

  2. 数据包从物理网卡流经 Open vSwitch 进入 OpenStack 云主机的流程

    目录 文章目录 目录 前言 数据包从物理网卡进入虚拟机的流程 物理网卡处理 如何将网卡收到的数据写入到内核内存? 中断下半部分软中断处理 数据包在内核态 OvS Bridge(Datapath)中的处 ...

  3. 使用C++对物理网卡/虚拟网卡进行识别(包含内外网筛选)

    简介 在Socket编程的时候,我们需要实时获取我们所需要的IP地址.例如在编写后门的时候,我们可能需要获得有效的外网IP或内网IP:有时候我们可能需要判断我们获取的是否是虚拟机网卡,这时候就需要对每 ...

  4. VMware虚拟机可与Win10物理机互ping并可访问互联网的设置方法

     一.系统环境: VMware 15.Windows 10 1903.Windows 7 虚拟机 二.具体步骤: 1.Win10物理机,控制面板-所有控制面板项-网络连接-物理网卡适配器右键-属性-共 ...

  5. MAC地址获取,有线网卡与无线网卡、物理网卡与虚拟网卡的区分

    获取当前活跃状态的网卡MAC地址.物理地址 Wmic命令:Win32_NetworkAdapter和Win32_NetworkAdapterConfiguration. 其中cmd命令行执行: 1. ...

  6. 删除Windows中隐藏的物理网卡和网络虚拟化失败后的虚拟网卡

    Windows环境下,在更换硬件服务器主板和网卡等硬件.恢复操作系统或者网络虚拟化失败后,可能会出现网卡方面的问题.例如,设备管理器中多了不应该存在的网卡:因命名冲突无法重命名当前网络连接:IP地址冲 ...

  7. 使用powershell为物理网卡添加多个IP地址

    因特殊要求,需要给某物理网卡添加多个IP地址: powershell中有个netsh的命令,添加IPv4地址的方法: add address [name=]<字符串>       [[ad ...

  8. C#如何获取物理网卡,虚拟网卡,以及无线网卡

    就不废话了,直接上代码 /// <summary></summary> /// 显示本机各网卡的详细信息 /// <summary></summary> ...

  9. (原创)LAMP教程5-配置VirtualBox虚拟机中centos6.4的网卡

    (原创)LAMP教程5-配置VirtualBox虚拟机中centos6.4的网卡 是的,今天我们要讲的是如何配置VirtualBox虚拟机中centos6.4的网卡,毕竟我们是要做网站开发的,没有网络 ...

随机推荐

  1. spring 开始构造

    1,选择“org.apache.maven.archetypes:maven-archetype-webapp”骨架(模板),创建一个Web项目: 在main 目录下创建文件夹  java,  res ...

  2. pytorch 中的重要模块化接口nn.Module

    torch.nn 是专门为神经网络设计的模块化接口,nn构建于autgrad之上,可以用来定义和运行神经网络 nn.Module 是nn中重要的类,包含网络各层的定义,以及forward方法 对于自己 ...

  3. linux c生成唯一文件名称

    linux c生成唯一文件名称可用mktemp()或mkstemp()函数

  4. 洛谷P2949 工作调度Work Scheduling [USACO09OPEN] 贪心

    正解:贪心+并查集(umm不用并查集也成qwq 解题报告: 水题?主要感觉想到了俩方法然后还只实现了一个,怕忘了所以想着开个新坑记录下qwq 然后先放下传送门QAQ(哦这题和supermarket,双 ...

  5. 关于for循环

    1.普通for循环 (遍历数组的索引值(下标),边界可以自己划定) var arr = [10, 20, 30];for(var i=0; i<arr.length; i++) console. ...

  6. 线程 学习教程(一): Java中终止(销毁)线程的方法

    结束线程有以下三种方法:(1)设置退出标志,使线程正常退出,也就是当run()方法完成后线程终止 (2)使用interrupt()方法中断线程 (3)使用stop方法强行终止线程(不推荐使用,Thre ...

  7. python自动类型转换(针对于Number数据类型来的)精度从低到高 bool->int-> float->complex 当两个不同是数据类型运算时候,默认想更高进度转化

    # ### 自动类型转换(针对于Number数据类型来的) ''' 精度从低到高 bool->int-> float->complex 当两个不同是数据类型运算时候,默认想更高进度转 ...

  8. 后台管理界面admin

    admin组件:展示数据表,快速的录入数据. 为了安全,可以在路由分发时修改下admin的名字.(一定要改) 1.不想使用英文,则在app里的settings修改一下(在最下面的位置) LANGUAG ...

  9. 关于NFS服务器权限的四种情况

    第一种:service 和client 的UID和用户名一样 client按照service端的权限来使用.

  10. C++引用和const引用、常量指针、指针常量

    1.引用.常量引用 引用主要被用做函数的形式参数--通常将类对象传递给一个函数. 引用在内部存放的是一个对象的地址,它是该对象的别名.引用不占用内存,因为取地址引用的值和被引用变量的地址相同.但是ob ...