精华内容
下载资源
问答
  • Intel X710/82599万兆网卡DPDK测试方法(带截图及详细步骤),主要讲述如何使用打流仪及DPDK工具去验证网卡收发数据是否正常
  • 搭建 Mellanox ConnectX-3 EN 10/40 Gbps 网卡 DPDK 运行环境
    DPD v2.0 当前依赖Mlx版本
    Mellanox OFED 2.4-1.
    Firmware version 2.33.5000 and higher.

    1> 编译 mlx4 libraries
    http://dpdk.org/download/mlx4/
    因要使用 ibv_xxx 系列工具, ibv_xxx 不建议再使用DPDK.org下载的 mlx4 libraries.  可使用 MLNX OFED 内置 mlx4 libraries.  必须采用动态编译方式,方能运行正确.
    编译完   MLNX OFED mxl4 libraries , 使用 make install DESTDIR=xxx , 并打包.

    2> 编译DPDK v2.0.0

    3> 编译mlx4 ofed 内核模块及mstflint程序
    http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers
    注意 MLNX_OFED 2.4-1.0.0 只支持以下OS与内核版本
     - RHEL/CentOS 6.3      x86_64
     - RHEL/CentOS 6.4      x86_64/PPC
     - RHEL/CentOS 6.5      x86_64/PPC
     - RHEL/CentOS 6.6      x86_64/PPC
     - RHEL/CentOS 7.0      x86_64/PPC
     - SLES11 SP2           x86_64/PPC
     - SLES11 SP3           x86_64/PPC
     - SLES12               x86_64
     - OEL 6.4              x86_64
     - OEL 6.5              x86_64
     - OEL 6.6              x86_64
     - Citrix XenServer Host 6.2    i686
     - Fedora 19            x86_64
     - Fedora 21            x86_64
     - Ubuntu 12.04.4       x86_64
     - Ubuntu 14.04         x86_64/PPC4le
     - Ubuntu 14.10         x86_64/PPC4le
     - Debian 6.0.9         x86_64
     - Debian 7.5           x86_64
     - Debian 7.6           x86_64
     - kernel 3.10.48
     - kernel 3.11.10
     - kernel 3.14.12
     - kernel 3.15.5
     - kernel 3.16
     - kernel 3.17
     - kernel 3.18

    Note: 建议使用RHEL相关的内核, 直接可以使用RPM安装相应模块.

    编译mlx4内核模块
    tar -zxvf mlnx-ofa_kernel-2.4.tgz
    cd mlnx-ofa_kernel-2.4
    # 配置,当前采用的是RHEL7第一版内核, 可用  yumdownloader --source kernel-3.10.0-123 下载.
    ./configure --with-mlx4_fc-mod  --with-mlx4_inf-mod --with-core-mod --with-user_mad-mod --with-user_access-mod --with-addr_trans-mod --with-mlx4-mod --with-mlx4_en-mod --with-ipoib-mod --with-srp-mod --with-rds-mod --with-iser-mod --kernel-version=3.10.0-mlx --modules-dir=/lib/modules/3.10.0-mlx/ --kernel-sources=/work/kernel-3.10.0-123.el7.src/linux-3.10.0-123.el7
    make 
    make install # 建议安装,方便建立内核依赖关系

    Note: 如为自定义内核配置,CONFIG_INFINIBAND 确认为 'n' 或者 'm', 否则此模块打包进内核在加载mlx4模块时会提示符号冲突.

    编译 mft 内核模块,mstflint 使用.
    tar -zxvf kernel-mft-3.8.0.tgz
    cd kernel-mft-3.8.0
    make KPVER=/work/kernel-3.10.0-123.el7.src/linux-3.10.0-123.el7
    得到  mst_pciconf.ko  mst_pci.ko

    编译 mstflint
    tar -zxvf mstflint-3.8.0-1.27.gf3d39b6.tar.gz
    cd mstflint-3.8.0
    ./configure --disable-inband --prefix=/usr
    make install


    4 . 加载模块 
    将模块打包并安装到目标机器下

    modprobe  ib_uverbs
    modprobe  mlx4_en
    modprobe  mlx4_core
    modprobe  mlx4_ib log_num_mgm_entry_size=-1
    # 加载mst相关内核
    insmod  mst_pci.ko
    insmod  mst_pciconf.ko

    运行  ibv_devinfo 获取设备信息
    # ibv_devinfo  -v
    hca_id: mlx4_0
            transport:                      InfiniBand (0)
            fw_ver:                         2.33.5100
            node_guid:                      0002:c903:00fa:a480
            sys_image_guid:                 0002:c903:00fa:a483
            vendor_id:                      0x02c9
            vendor_part_id:                 4099
            hw_ver:                         0x1
            board_id:                       MT_1090110019
            phys_port_cnt:                  2
            max_mr_size:                    0xffffffffffffffff
            page_size_cap:                  0xfffffe00
            max_qp:                         392632
            max_qp_wr:                      16351
            device_cap_flags:               0x005c9c76
                                            BAD_PKEY_CNTR
                                            BAD_QKEY_CNTR
                                            AUTO_PATH_MIG
                                            CHANGE_PHY_PORT
                                            UD_AV_PORT_ENFORCE
                                            PORT_ACTIVE_EVENT
                                            SYS_IMAGE_GUID
                                            RC_RNR_NAK_GEN
                                            XRC
                                            Unknown flags: 0x004c8000
            device_cap_exp_flags:           0xD122001600000000
                                            EXP_DEVICE_QPG
                                            EXP_UD_RSS
                                            EXP_MEM_WINDOW
                                            EXP_MEM_MGT_EXTENSIONS
                                            EXP_MW_TYPE_2B
                                            EXP_CROSS_CHANNEL
                                            EXP_MR_ALLOCATE
                                            EXP_SHARED_MR
                                            EXT_ATOMICS
                                            Unknown flags: 0x8000000000000000
            max_sge:                        32
            max_sge_rd:                     0
            max_cq:                         65408
            max_cqe:                        4194303
            max_mr:                         524032
            max_pd:                         32764
            max_qp_rd_atom:                 16
            max_ee_rd_atom:                 0
            max_res_rd_atom:                6282112
            max_qp_init_rd_atom:            128
            max_ee_init_rd_atom:            0
            atomic_cap:                     ATOMIC_HCA (1)
            log atomic arg sizes (mask)             8
            max fetch and add bit boundary  64
            log max atomic inline           3
            max_ee:                         0
            max_rdd:                        0
            max_mw:                         0
            max_raw_ipv6_qp:                0
            max_raw_ethy_qp:                0
            max_mcast_grp:                  131072
            max_mcast_qp_attach:            244
            max_total_mcast_qp_attach:      31981568
            max_ah:                         2147483647
            max_fmr:                        0
            max_srq:                        65472
            max_srq_wr:                     16383
            max_srq_sge:                    31
            max_pkeys:                      128
            local_ca_ack_delay:             15
            hca_core_clock:                 427
            max_klm_list_size:              0
            max_send_wqe_inline_klms:       0
            max_umr_recursion_depth:        0
            max_umr_stride_dimension:       0
            general_odp_caps:
            rc_odp_caps:
                                            NO SUPPORT
            uc_odp_caps:
                                            NO SUPPORT
            ud_odp_caps:
                                            NO SUPPORT
            dc_odp_caps:
                                            NO SUPPORT
            xrc_odp_caps:
                                            NO SUPPORT
            raw_eth_odp_caps:
                                            NO SUPPORT
            max_dct:                        0
                    port:   1
                            state:                  PORT_DOWN (1)
                            max_mtu:                4096 (5)
                            active_mtu:             1024 (3)
                            sm_lid:                 0
                            port_lid:               0
                            port_lmc:               0x00
                            link_layer:             Ethernet
                            max_msg_sz:             0x40000000
                            port_cap_flags:         0x00010000
                            max_vl_num:             2 (2)
                            bad_pkey_cntr:          0x0
                            qkey_viol_cntr:         0x0
                            sm_sl:                  0
                            pkey_tbl_len:           1
                            gid_tbl_len:            128
                            subnet_timeout:         0
                            init_type_reply:        0
                            active_width:           4X (2)
                            active_speed:           10.0 Gbps (4)
                            phys_state:             DISABLED (3)
                            GID[  0]:               fe80:0000:0000:0000:0202:c9ff:fefa:a481

                    port:   2
                            state:                  PORT_DOWN (1)
                            max_mtu:                4096 (5)
                            active_mtu:             4096 (5)
                            sm_lid:                 0
                            port_lid:               0
                            port_lmc:               0x00
                            link_layer:             InfiniBand
                            max_msg_sz:             0x40000000
                            port_cap_flags:         0x02504868
                            max_vl_num:             8 (4)
                            bad_pkey_cntr:          0x0
                            qkey_viol_cntr:         0x0
                            sm_sl:                  0
                            pkey_tbl_len:           128
                            gid_tbl_len:            128
                            subnet_timeout:         0
                            init_type_reply:        0
                            active_width:           4X (2)
                            active_speed:           2.5 Gbps (1)
                            phys_state:             POLLING (2)
                            GID[  0]:               fe80:0000:0000:0000:0002:c903:00fa:a482

    ibv_devices 可获取设备相关 GUID
    # ibv_devices
        device                 node GUID
        ------              ----------------
        mlx4_0              0002c90300faa480


    connectx_port_config 在 mlnx-ofa_kernel-2.4-OFED.2.4.1.0.0.1 包的 ofed_scripts目录下,用于设置端口模式;
    将端口配置成Ethernet模式;

     # ./connectx_port_config

    ConnectX PCI devices :
    |----------------------------|
    | 1             0000:02:00.0 |
    |----------------------------|

    Before port change:
    auto (eth)
    auto (ib)

    |----------------------------|
    | Possible port modes:       |
    | 1: Infiniband              |
    | 2: Ethernet                |
    | 3: AutoSense               |
    |----------------------------|
    Select mode for port 1 (1,2,3): 2
    Select mode for port 2 (1,2,3): 2

    After port change:
    eth
    eth

    ifconfig 查看新增网卡设备.

    # ifconfig  -a
    eth0      Link encap:Ethernet  HWaddr 00:1E:67:9C:D4:90  
              inet addr:192.168.1.37  Bcast:192.168.1.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:872 errors:0 dropped:0 overruns:0 frame:0
              TX packets:734 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:67141 (65.5 KiB)  TX bytes:82711 (80.7 KiB)
              Memory:d0b20000-d0b40000

    eth1      Link encap:Ethernet  HWaddr 00:1E:67:9C:D4:91  
              BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Memory:d0b00000-d0b20000

    eth2      Link encap:Ethernet  HWaddr 00:02:C9:FA:A4:81  
              BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

    eth3      Link encap:Ethernet  HWaddr 00:02:C9:FA:A4:82  
              BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:225 errors:0 dropped:0 overruns:0 frame:0
              TX packets:225 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:25200 (24.6 KiB)  TX bytes:25200 (24.6 KiB)


    查看新增网卡驱动属性.

    ethtool -i eth2
    driver: mlx4_en
    version: 2.4-1.0.0 (Apr 22 2015)
    firmware-version: 2.33.5100
    bus-info: 0000:02:00.0
    ethtool -i eth3
    driver: mlx4_en
    version: 2.4-1.0.0 (Apr 22 2015)
    firmware-version: 2.33.5100
    bus-info: 0000:02:00.0

    由此mlx4加载成功.

    5> 运行测试程序
    ./testpmd -c 0xffff -m 4096 -n 1 -r 1 -- --rx=1 --tx=2 -i

    set fwd txonly
    start all
    show port stats all

    ./trafgen --port0 port0.conf

    参考:

    展开全文
  • DPDK的安装与使用最近从老板那里拿到一个将Intel DPDK移植...虚拟机环境搭建首先由于手头没有多网卡的linux x86的机器,所以很自然的想到了使用虚拟机安装DPDK。我给虚拟机分配了4GB的内存,4个处理器核,3块虚拟网...

    DPDK的安装与使用

    最近从老板那里拿到一个将Intel DPDK移植到龙芯平台的任务,上网查了下资料关于它的资料真是少之又少,看来是个大坑啊,于是就自己摸索着来吧,这里感谢下朝阳_tony,他那里提供了许多许多关于DPDK详实的资料和心得。

    虚拟机环境搭建

    首先由于手头没有多网卡的linux x86的机器,所以很自然的想到了使用虚拟机安装DPDK。我给虚拟机分配了4GB的内存,4个处理器核,3块虚拟网卡,每个网卡都采用NAT模式。我这里用VMWare直接添加的网卡就是Intel的82545EM芯片,网络上有人说会添加AMD芯片,这里我比较幸运。如果手动添加Intel网卡方法是:

    先找到虚拟机的配置文件,后缀为.vmx,在后面添加两行:

    ethernet2.virtualDev=”e1000”

    ethernet2.present=true

    配置好虚拟机,我给它装上了Ubuntu14.01系统,然后就是下载DPDK了,这里我使用了Git,采用了官网的链接:

    git clone http://dpdk.org/git/dpdk

    DPDK的安装

    我下载下来的版本是2.1,在DPDK的根目录下,在./tools/中,DPDK提供了一个简便的安装脚本setup.sh,通过它可以很方便的完成DPDK初始环境的配置,编译和加载。一般步骤是:

    设置环境变量;

    加载uio模块,并绑定网卡到uio;

    分配巨页内存;

    执行应用程序;

    #! /bin/bash

    make config T=x86_64-native-linuxapp-gcc

    make

    mkdir -p /mnt/huge

    mount -t hugetlbfs nodev /mnt/huge

    echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

    modprobe uio

    insmod build/kmod/igb_uio.ko

    ifconfig eth1 down

    ifconfig eth2 down

    ./tools/dpdk_nic_bind.py --bind=igb_uio 02:02.0

    ./tools/dpdk_nic_bind.py --bind=igb_uio 02:03.0

    这一切都执行完后,就可以执行一些DPDK自带的应用程序了,但是我这个DPDK版本如果直接执行testpmd会报Input/output error,具体错误的图片已经找不着了,经过一番搜寻发现是需要打一个补丁:

    diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c

    index d1ca26e..c46a00f 100644

    --- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c+++ b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c

    @@ -505,14 +505,11 @@ igbuio_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)

    }

    /* fall back to INTX */

    case RTE_INTR_MODE_LEGACY:

    -if (pci_intx_mask_supported(dev)) {-dev_dbg(&dev->dev, "using INTX");-udev->info.irq_flags = IRQF_SHARED;-udev->info.irq = dev->irq;-udev->mode = RTE_INTR_MODE_LEGACY;-break;-}-dev_notice(&dev->dev, "PCI INTX mask not supported\n");+ dev_dbg(&dev->dev, "using INTX");

    + udev->info.irq_flags = IRQF_SHARED;

    + udev->info.irq = dev->irq;

    + udev->mode = RTE_INTR_MODE_LEGACY;

    + break;

    /* fall back to no IRQ */

    case RTE_INTR_MODE_NONE:

    udev->mode = RTE_INTR_MODE_NONE;

    然后再运行testpmd,就可以正常的得到结果了,结果如下:

    c05da67f1dc2127e9bcb8ff9e46e06e8.png

    展开全文
  • DPDK 网卡绑定和解绑

    2017-09-24 09:21:00
    DPDK网卡绑定和解绑 DPDK的安装与绑定网卡 DPDK 网卡绑定和解绑 注意: 建议不要使用本文的eth0网卡绑定dpdk驱动. 1.进入DPDK目录: $ cd dpdk/tools/ 2.查看网卡信息: $ ./dpdk-devbind.py --status Network ...

    参考:

    DPDK 网卡绑定和解绑

    1094457-20170602160935727-1031910242.png

    注意: 建议不要使用本文的eth0网卡绑定dpdk驱动.

    1.进入DPDK目录:

    $ cd dpdk/tools/

    2.查看网卡信息:

    $ ./dpdk-devbind.py --status
    Network devices using DPDK-compatible driver
    ============================================
    <none>
    
    Network devices using kernel driver
    ===================================
    0000:00:1f.6 'Ethernet Connection (2) I219-LM' if=eth0 drv=e1000e unused=igb_uio 
    
    Other network devices
    =====================
    <none>
    
    Crypto devices using DPDK-compatible driver
    ===========================================
    <none>
    
    Crypto devices using kernel driver
    ==================================
    <none>
    
    Other crypto devices
    ====================
    <none>

    3.绑定eth0网卡到dpdk到驱动:

    $ ./dpdk-devbind.py --bind=igb_uio 00:1f.6

    4.再次查看网卡状态, 发现该网卡已经绑定到dpdk驱动:

    Network devices using DPDK-compatible driver
    ============================================
    0000:00:1f.6 'Ethernet Connection (2) I219-LM' drv=igb_uio unused=
    
    Network devices using kernel driver
    ===================================
    <none>
    
    Other network devices
    =====================
    <none>
    
    Crypto devices using DPDK-compatible driver
    ===========================================
    <none>
    
    Crypto devices using kernel driver
    ==================================
    <none>
    
    Other crypto devices
    ====================
    <none>

    5.解绑eth0:

    $ ./dpdk-devbind.py -u 00:1f.6

    查看驱动信息, 此时网卡已经与dpdk驱动解绑:

    Network devices using DPDK-compatible driver
    ============================================
    <none>
    
    Network devices using kernel driver
    ===================================
    <none>
    
    Other network devices
    =====================
    0000:00:1f.6 'Ethernet Connection (2) I219-LM' unused=igb_uio
    
    Crypto devices using DPDK-compatible driver
    ===========================================
    <none>
    
    Crypto devices using kernel driver
    ==================================
    <none>
    
    Other crypto devices
    ====================
    <none>

    如果需要重新将eth0绑定回kernel driver, 执行reboot即可:

    $ reboot

    2017.9

    展开全文
  • Intel/Mellanox 网卡使用DPDK

    千次阅读 2020-09-16 16:01:33
    在RedHat8.2下安装dpdk环境,对于我只是测试网卡是否正常支持DPDK,或者是DPDK功能是否兼容此系统和服务器,集体调优什么的就不去做,仅仅去测试一下而已,目前的测试方案也只是将两个网口回路,来进行收发包测试,...

    在RedHat8.2下安装dpdk环境,对于我只是测试网卡是否正常支持DPDK,或者是DPDK功能是否兼容此系统和服务器,集体调优什么的就不去做,仅仅去测试一下而已,目前的测试方案也只是将两个网口回路,来进行收发包测试,下面是我接触过的两种型号的厂商 Intel(英特尔) 和 Mellanox(迈络思),二者的稍有区别,intel的网卡使用DPDK,需要将网卡绑定DPDK内核(是需要UIO/igb_uio等内核模块),而Mellanox网卡则不需要绑定DPDK内核(也不需要UIO/igb_uio等内核模块)

    一 安装DPDK

    OS-system:Red Hat Enterprise Linux release 8.2 (Ootpa)
    kernel: 4.18.0-193.el8.x86_64
    DPDK: dpdk-20.05
    Mellanox网卡驱动:MLNX_OFED_LINUX-5.0-2.1.8.0-rhel8.2-x86_64

    [root@localhost dpdk]# yum install numactl-devel.x86_64 -y
    [root@localhost dpdk]# ls
    dpdk-20.05.tar.xz
    [root@localhost dpdk]# tar xJf dpdk-20.05.tar.xz 
    [root@localhost dpdk]# ls
    dpdk-20.05  dpdk-20.05.tar.xz
    [root@localhost dpdk]# cd dpdk-20.05/
    [root@localhost dpdk-20.05]# ls
    ABI_VERSION  buildtools  devtools  drivers   GNUmakefile  lib      MAINTAINERS  meson.build        mk      usertools
    app          config      doc       examples  kernel       license  Makefile     meson_options.txt  README  VERSION
    
    

    dpdk从20.02版本后默认不编译igb_uio.ko

    需要更改/dpdk/dpdk-20.05/config目录下的common_base文件中的 CONFIG_RTE_EAL_IGB_UIO=y 可以实现编译。

    [root@localhost dpdk-20.05]# cd config/
    [root@localhost config]# sed -i  's/UIO=n/UIO=y/g'  common_base
    

    如果是Mellanox网卡需要开启common_base文件中的 CONFIG_RTE_LIBRTE_NFP_PMD=y,即可,如果此步骤不做开启,那后面如果是Mellanox网卡即无法使用DPDK。如下图,分别为MLX4和MLX5,需要看自己的芯片是哪一种,如果同时打开也可以,无碍。
    在这里插入图片描述

    下面进行编译安装 ,DPDK环境的安装,有几种方式,这里使用的是,源码安装方式。

    [root@localhost dpdk-20.05]# make install T=x86_64-native-linuxapp-gcc
    [root@localhost dpdk-20.05]# cd x86_64-native-linuxapp-gcc/build/kernel/linux/igb_uio/
    [root@localhost igb_uio]# modprobe  uio           #加载uio驱动
    [root@localhost igb_uio]# insmod igb_uio.ko       #加载igb_uio.ko
    [root@localhost igb_uio]# cd ../../../../../usertools/
    [root@localhost usertools]# ls
    cpu_layout.py  dpdk-devbind.py  dpdk-pmdinfo.py  dpdk-setup.sh  dpdk-telemetry-client.py  dpdk-telemetry.py   meson.build
    

    #查看当前所有网卡的状态

    [root@localhost usertools]# ./dpdk-devbind.py --status  
    
    Network devices using kernel driver
    ===================================
    0000:24:00.0 'MT27710 Family [ConnectX-4 Lx] 1015' if=ens19f0 drv=mlx5_core unused=igb_uio 
    0000:24:00.1 'MT27710 Family [ConnectX-4 Lx] 1015' if=ens19f1 drv=mlx5_core unused=igb_uio 
    0000:44:00.0 'MT27710 Family [ConnectX-4 Lx] 1015' if=ens10f0 drv=mlx5_core unused=igb_uio *Active*
    0000:44:00.1 'MT27710 Family [ConnectX-4 Lx] 1015' if=ens10f1 drv=mlx5_core unused=igb_uio 
    0000:45:00.0 'Ethernet Controller 10G X550T 1563' if=ens9f0 drv=ixgbe unused=igb_uio *Active*
    0000:45:00.1 'Ethernet Controller 10G X550T 1563' if=ens9f1 drv=ixgbe unused=igb_uio 
    0000:58:00.0 'I350 Gigabit Network Connection 1521' if=ens8f0 drv=igb unused=igb_uio 
    0000:58:00.1 'I350 Gigabit Network Connection 1521' if=ens8f1 drv=igb unused=igb_uio 
    0000:58:00.2 'I350 Gigabit Network Connection 1521' if=ens8f2 drv=igb unused=igb_uio 
    0000:58:00.3 'I350 Gigabit Network Connection 1521' if=ens8f3 drv=igb unused=igb_uio *Active*
    0000:59:00.0 'MT27710 Family [ConnectX-4 Lx] 1015' if=ens7f0 drv=mlx5_core unused=igb_uio *Active*
    0000:59:00.1 'MT27710 Family [ConnectX-4 Lx] 1015' if=ens7f1 drv=mlx5_core unused=igb_uio *Active*
    0000:6d:00.0 'Ethernet Controller XL710 for 40GbE QSFP+ 1584' if=ens12 drv=i40e unused=igb_uio 
    0000:c4:00.0 'MT27800 Family [ConnectX-5] 1017' if=ens14 drv=mlx5_core unused=igb_uio 
    0000:d8:00.0 'MT27800 Family [ConnectX-5] 1017' if=ens16 drv=mlx5_core unused=igb_uio 
    0000:ed:00.0 'MT27700 Family [ConnectX-4] 1013' if=ens15f0 drv=mlx5_core unused=igb_uio 
    0000:ed:00.1 'MT27700 Family [ConnectX-4] 1013' if=ens15f1 drv=mlx5_core unused=igb_uio *Active*
    ......................
    

    下图可以看出,上面操作的insmod igb_uio.ko 已经加载完成,网卡均使用了igb_uio.ko.

    Intel网卡
    dpdk-devbind.py --status-dev net 来将intel网卡绑定到DPDK环境中(Mellanox网卡不需要绑定)

    [root@localhost usertools]# ./dpdk-devbind.py --bind=igb_uio ens9f1
    

    如图可以看到 网卡ens9f1已经绑定到DPDK环境中,被 DPDK接管,此时你用ifconfig,或者ip a 均看不到ens9f1的。
    在这里插入图片描述
    未完待续

    展开全文
  • 虚拟机网卡配置与DPDK绑定 目标 绑定两张host-only的网卡dpdk上,其中一个网卡与宿主机通过vmnet相连,可以在宿主机用wireshark检测包,并还有一个NAT网卡供remote ssh。 为虚拟机增加网卡 右键虚拟机,点击...
  • dpdk网卡绑定

    千次阅读 2018-04-25 18:16:05
    此文请结合intel dpdk源码去...假如你没有intel的网卡,没有相应的linux系统,只是想简单的使用了解一下dpdk,那么你可以选择在vmware中部署一套简单的dpdk环境;1、在vmware中安装配置适合dpdk运行的虚拟机;1)、...
  • dpdk绑定网卡

    千次阅读 2018-07-25 11:15:45
    [root@localhost dpdk]# ./dpdk-devbind.py -s 查看网卡 [root@localhost dpdk]# ./dpdk-devbind.py -u 0000:04:00.0 解绑0网卡 [root@localhost dpdk]# ./dpdk-devbind.py -u 0000:04:00.1 解绑1网卡 [root@...
  • DPDK的安装与绑定网卡

    2015-02-05 10:44:00
    DPDK的安装与绑定网卡 DPDK的安装有两种方法: 第一种是使用dpdk/tools/setup.sh选择命令字来安装;第二种是自己手动安装。为了更好地熟悉DPDK,我使用第二种方法。 0、设定环境变量 export RTE_...
  • 当前服务器环境ubuntu 16.04 下载 mellanox 版本 MLNX_OFED_LINUX-4.5-1.0.1.0-ubuntu16.04-x86_64 下载配套dpdk版本是 dpdk-stable...注意dpdk和OFED(mellanox网卡驱动)有一定的版本对应关系,dpdk官网会有列...
  • 主要参考: https://doc.dpdk.org/guides/nics/mlx5.html#quick-start-guide-on-ofed-en ...环境 网卡:Mellanox MCX515A...DPDK: dpdk-19.11.3 网卡驱动:MLNX_OFED_LINUX-5.1-0.6.6.0-rhel7.8-x86_64 下载 Mellanox 网卡
  • DPDK网卡绑定

    2018-07-15 13:22:00
    注意,setup脚本需要在root权限下运行,并且每次重启电脑,都需要重新插入模块和绑定网卡。 在step1中选取合适的选项编译DPDK环境:[14] x86_64-native-linuxapp-gcc ----------------------------------------...
  • DPDK网卡绑定和解绑

    万次阅读 2016-08-21 15:59:24
    DPDK网卡绑定和解绑
  • DPDK-绑定网卡

    千次阅读 2020-07-14 14:29:25
    1.1、查看网卡绑定状态 任何用户都可以运行dpdk-devbind.py脚本来查看网络端口的状态,但是绑定或解除绑定网络端口需要root权限。 ./usertools/dpdk-devbind.py --status Network devices using DPDK-compatible...
  • DPDK的安装与绑定网卡 DPDK的安装有两种方法: 第一种是使用dpdk/tools/setup.sh选择命令字来安装;第二种是自己手动安装。为了更好地熟悉DPDK,我使用第二种方法。 0、设定环境变量 export RTE_ARCH="x86_...
  • DPDK中文-查看dpdk是否支持该网卡

    千次阅读 2016-12-01 16:27:50
    Cause:No Ethernet ports - bye 在群里回答大家的问题的时候经常会出现运行L2FWD失败的情况 ...网卡知否支持DPDK 绑卡绑定情况可以使用 dpdk_nic_bind.py --status 来查询 运行参数可以参考sample_app_ug
  • DPDK网卡多队列

    2019-07-29 15:05:59
    利用DPDK自带的统计工具无法显示相关的队列的数据,这个不知道为什么,需要后续进行源码的阅读后做定夺。 所以,测试时只需要从多个队列上进行取数据即可,发现不同队列上都有数据。 查看网卡是否支...
  • DPDK 网卡收包流程

    千次阅读 2020-10-31 12:45:49
    1.1 网卡与liuux驱动交互 1.2 linux驱动与内核协议栈交互 题外1: 中断处理逻辑 题外2:中断的弊端 2、linux发包流程 2、DPDK 收发包流程 2.1 网卡DMA描述符环形队列 2.2 dpdk 收包流程 1、构造收包队列 2....
  • dpdk 网卡统计问题

    千次阅读 2017-04-27 08:30:52
    1)调用接口int rte_eth_stats_get(uint8_t port_id, ...2)ethtool 获取网卡统计也会读清0操作。ethtool 操作会引起web显示数据偏小。 rte_eth_stats_get在周期性进行操作,因此ethtool看到的统计很小,是正常的。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,129
精华内容 1,251
关键字:

网卡的dpdk