• VPP二层接口,不是翻墙


    现在我们对VPP的掌握正在逐步深入,但是通过上次的分析,我们应该把VPP主机的网络适配器类型配置为VMXNET3,以最大限度提升网络性能。

    所以现在我们把VPP主机网卡数量修改为3个,NIC1用作管理接口,NIC2用作WAN口,NIC3用于LAN口。

    这里有没有发现一个问题,那就是分明配置了VPP的接口,但是一重启配置就丢了,DPDK纳管的网卡就不见了。

    难道是DPDK配置不见了?不是的,/etc/vpp/startup.conf中关于DPDK的配置还在。

    那是为什么呢?

    还要回到/etc/vpp/startup.conf这个启动配置文件上,该文件保存了VPP的启动参数,还有要调用的配置或命令等信息。

    前面我们提到,在默认情况下,为了让VPP将接口绑定到 DPDK,我们需要将对应的接口DOWN掉,然后通过在VPP配置文件中绑定接口对应的PCI地址来绑定到DPDK。但是,前面通过命令操作的配置属于易失性配置,重启之后就不在了,也就是说,即使我们把接口DOWN掉了,但是重启后接口还是会UP起来。

    那怎么解决呢?

    比较简单的是使用开机自运行脚本,也就是修改/etc/rc.d/rc.local文件。我们在该文件中写入两条命令,用于DOWN掉接口ens224和ens256。

    ip link set ens224 down

    ifconfig ens256 down

    重启主机试一下。

    可以看到,接口ens224已经不见了,因为已经被DPDK纳管了。而接口ens256状态是DOWN,这部分配置还没加。

    这里也可以看到链路速率为10 Gbps,网卡类型为VMXNET3。我们翻一下上次的网卡。

    对比可以看到,使用E1000e时网卡型号显示为Intel 82540EM,速率为1 Gbps,没说错吧?

    当然,我们再测试一下另一种方法。网卡随主机一同启动,是因为配置文件中有一行配置ONBOOT=yes,我们把随主机启动修改为no是不是可以呢?

    将接口ens224的配置文件/etc/sysconfig/network-scripts/ifcfg-ens224修改如下,ens256类似。

    TYPE="Ethernet"

    PROXY_METHOD="none"

    BROWSER_ONLY="no"

    BOOTPROTO="none"

    DEFROUTE="no"

    IPV4_FAILURE_FATAL="no"

    NAME="ens224"

    DEVICE="ens224"

    ONBOOT=no

    修改完成之后重启主机,测试一下。

    翻车了,只是地址没有了,但是接口还是UP的。

    好的,我们回到第一种方法。

    接下来需要将作为LAN口的ens256也绑定到DPDK中。

    dpdk    {

            dev 0000:13:00.0        {

                    name eth1

                    }

            dev 0000:1b:00.0        {

                    name eth2

                    }

    }

    现在接口已经纳管好了。

    但是接口状态还是DOWN的,先配置WAN口eth1。

    vppctl set interface state eth1 up

    vppctl set interface ip address eth1 192.168.1.88/24

    为了配置LAN接口eth2为二层口,首先创建一个环回口loop0。

    vppctl loopback create-interface

    vppctl set interface l2 bridge loop0 1 bvi

    vppctl set interface ip address loop0 192.168.2.89/24

    vppctl set interface state loop0 up

    然后将接口loop0和eth2绑定到同一个网桥下。

    vppctl set interface l2 bridge eth2 1

    vppctl set interface state eth2 up

    查看接口状态。

    测试一下访问状况。

    核对ARP信息。

    没有问题。

    下一个问题,就是VPP中的配置也是易失的,重启之后就没有了,我们要把它写到配置文件中。

    [root@localhost ~]# vi /etc/vpp/init.dat

    set interface state eth1 up

    set interface ip address eth1 192.168.1.88/24

    loopback create-interface

    set interface l2 bridge loop0 1 bvi

    set interface ip address loop0 192.168.2.89/24

    set interface state loop0 up

    set interface l2 bridge eth2 1

    set interface state eth2 up

    重启测试一下。

    OK,状态正常。

  • 相关阅读:
    Transformer 估算 101
    ios UI 基础开发二
    一,安卓aosp源码编译环境搭建
    【GNN】采样算法总结
    【单元测试】Junit 4(二)--eclipse配置Junit+Junit基础注解
    SpringBoot自定义注解+异步+观察者模式实现业务日志保存
    Mybatis 08
    【云原生】Docker的私有仓库部署——Harbor
    c++函数指针作为std::map值
    搜索引擎之ElasticSearch(es)入门学习、ELK 和 beats
  • 原文地址:https://blog.csdn.net/gtj0617/article/details/126037721