目录

摘要

注意事项

对于开发人员

上载到PyPi

例子:

显示系统

安装VPP

空跑

应用配置

显示系统(配置后)

设定IP位址


摘要

VPP配置实用程序的目的是允许用户以简单安全的方式配置VPP。该实用程序从用户那里获取输入,然后修改密钥配置文件。然后,用户可以检查这些文件以确保它们是正确的,然后实际应用配置。该实用程序还包括安装实用程序和一些基本测试。该实用程序当前随版本17.10一起发布。

VPP配置实用程序的安装和执行非常简单。首先安装python pip模块。然后使用pip安装vpp-config。安装vpp-config后,只需键入vpp-config并回答问题。如果不确定要回答什么,请选择默认值。对于是或否的问题,大写字母表示默认值。例如,对于显示[Y / n]的问题,默认值为Y。对于数字,默认值在方括号内,例如显示[1024]的问题。默认值为1024。

Ubuntu安装并运行:

$ sudo -H bash
#apt-get安装python-pip
正在阅读包装清单...完成
建立依赖树
正在读取状态信息...完成
python-pip已经是最新版本(8.1.1-2ubuntu0.4)。
#pip安装vpp-config
收集vpp-config正在下载vpp_config-17.10.5-py2.py3-none-any.whl(52kB)
已满足要求:/usr/local/lib/python2.7/dist-packages中的pyyaml(来自vpp-config)
已满足要求:/usr/local/lib/python2.7/dist-packages中的netaddr(来自vpp-config)
安装收集的软件包:vpp-config
成功安装vpp-config-17.10.5
#vpp-config欢迎使用VPP系统配置实用程序这些是我们将修改的文件:/etc/vpp/startup.conf/etc/sysctl.d/80-vpp.conf/ etc / default / grub在更改它们之前,我们将在/ usr / local / vpp / vpp-config / dryrun中创建工作副本
在应用实际配置(选项3)之前,请仔细检查它们!你想干什么?1)显示基本系统信息
2)空运行(将配置文件保存在/ usr / local / vpp / vpp-config / dryrun中以进行检查)和用户输入在/usr/local/vpp/vpp-config/configs/auto-config.yaml中
3)完整配置(警告:这将更改系统配置)
4)列出/安装/卸载VPP。
5)执行一些基本测试。
9或q)退出命令:

注意事项

该实用程序已经过验证,并支持Ubuntu16.04,centos7,RHEL7。

对于开发人员

修改代码非常简单。从根目录编辑和调试代码。为此,我们需要一个脚本,该脚本将文件或数据文件复制到正确的位置。这就是他们最终安装pip的地方。对于Ubuntu,这是/ usr / local / vpp / vpp-config。对于Centos / usr / vpp / vpp-config。我提供了一个脚本(./scripts/cp-data.sh),可以正确复制相关文件。我还提供了一个可以清理环境的脚本。这使开发人员可以从头开始。这些是在此环境中运行实用程序的步骤。这些脚本应从根目录运行。

 ./scripts/clean.sh./scripts/cp-data.sh ./vpp_config.py

当使用pip安装该实用程序时,包装脚本/ vpp-config将写入/ usr / local / bin。但是,在本地调试此脚本的起点是./vpp_config.py。通过从根目录执行./vpp_config.py来运行该实用程序。

代码的起点在vpp_config.py中。大多数工作在./vpplib中的文件中完成

上载到PyPi

要将这个实用程序上传到PyPi只需执行以下操作。目前,我有自己的帐户。当我们希望每个人都做出贡献时,我们将需要改变这一点。

 $ sudo -H bash#cd vpp_config#python setup.py sdist bdist_wheel#麻线上载dist / *

例子:

显示系统

实用程序首次启动时,我们可以显示基本系统信息。

#vpp-config欢迎使用VPP系统配置实用程序这些是我们将修改的文件:/etc/vpp/startup.conf/etc/sysctl.d/80-vpp.conf/ etc / default / grub在更改它们之前,我们将在/ usr / local / vpp / vpp-config / dryrun中创建工作副本
在应用实际配置(选项3)之前,请仔细检查它们!
你想干什么?1)显示基本系统信息
2)空运行(将配置文件保存在/ usr / local / vpp / vpp-config / dryrun中以进行检查)和用户输入在/usr/local/vpp/vpp-config/configs/auto-config.yaml中
3)完整配置(警告:这将更改系统配置)
4)列出/安装/卸载VPP。
5)执行一些基本测试。
9或q)退出命令:1=============================
节点:DUT1中央处理器:型号名称:Intel(R)Xeon(R)CPU E5-2667 v3 @ 3.20GHz处理器:32每个核心线程数:2每个插槽的核心数:8插座:2NUMA node0 CPU:0-7,16-23NUMA node1 CPU:8-15,24-31CPU最大MHz:3600.0000CPU最低MHz:1200.0000SMT:已启用VPP线程:(名称:CPU编号)Grub命令行:当前:BOOT_IMAGE = / boot / vmlinuz-4.4.0-97-generic root = UUID = d760b82f-f37b-47e2-9815-db8d479a3557 ro已配置:GRUB_CMDLINE_LINUX_DEFAULT =“”大量页面:系统总内存:65863484 kB总可用内存:56862700 kB实际巨大页面总数:1024已配置的大页面总数:1024大量免费页面:1024大页面大小:2048 kB设备:具有链接功能的设备(不能与VPP一起使用):
0000:08:00.0 enp8s0f0 I350千兆网络连接                   绑定到内核驱动程序的设备:
0000:90:00.0 enp144s0 VIC以太网NIC
0000:8f:00.0 enp143s0 VIC以太网NIC
0000:84:00.0 enp132s0f0,enp132s0f0d1以太网控制器XL710,用于40GbE QSFP +
0000:84:00.1 enp132s0f1,enp132s0f1d1以太网控制器XL710,用于40GbE QSFP +
0000:08:00.1 enp8s0f1 I350千兆网络连接
0000:02:00.0 enp2s0f0 82599ES 10千兆位SFI / SFP +网络连接
0000:02:00.1 enp2s0f1 82599ES 10千兆位SFI / SFP +网络连接    没有设备绑定到DPDK驱动程序VPP服务状态:未安装=============================

安装VPP

注意,在显示基本系统信息时,未安装VPP。

VPP服务状态:未安装=============================

我们现在可以使用选项4安装VPP

你想干什么?1)显示基本系统信息
2)空运行(将配置文件保存在/ usr / local / vpp / vpp-config / dryrun中以进行检查)和用户输入在/usr/local/vpp/vpp-config/configs/auto-config.yaml中
3)完整配置(警告:这将更改系统配置)
4)列出/安装/卸载VPP。
5)执行一些基本测试。
9或q)退出命令:4节点localhost上没有VPP软件包。
您是否要安装VPP [Y / n]?ÿ
INFO:root:本地命令:ls /etc/apt/sources.list.d/99fd.io.list.orig
信息:根:/etc/apt/sources.list.d/99fd.io.list.orig
INFO:root:本地命令:rm /etc/apt/sources.list.d/99fd.io.list
INFO:root:本地命令:echo“ deb [trusted = yes] https://nexus.fd.io/content/repositories/fd.io.ubuntu.xenial.main/ ./
“ | sudo tee /etc/apt/sources.list.d/99fd.io.list
INFO:root:deb [trusted = yes] https://nexus.fd.io/content/repositories/fd.io.ubuntu.xenial.main/ ./
.......

空跑

安装了VPP之后,我们现在可以执行配置空运行。此选项将创建配置文件,并将它们放在dryrun目录中。此目录位于/ usr / local / vpp / vpp-config / dryrun中的Ubuntu位置,和/ usr / vpp / vpp-config / dryrun中的Centos位置。在实际应用带有选项3的配置之前,应检查这些文件以确保它们有效。

你想干什么?1)显示基本系统信息
2)空运行(将配置文件保存在/ usr / local / vpp / vpp-config / dryrun中以进行检查)和用户输入在/usr/local/vpp/vpp-config/configs/auto-config.yaml中
3)完整配置(警告:这将更改系统配置)
4)列出/安装/卸载VPP。
5)执行一些基本测试。
9或q)退出命令:2VPP或OS当前未使用这些设备。PCI ID说明
-------------------------------------------------- --------------
0000:86:00.0 82599ES 10千兆位SFI / SFP +网络连接
0000:86:00.1 82599ES 10 Gb SFI / SFP +网络连接    您是否要将这些设备中的任何一个还给操作系统[Y / n]?ÿ
您是否要为操作系统[y / N]使用设备0000:86:00.0?ÿ
您要在操作系统[y / N]中使用设备0000:86:00.1吗?ÿ这些设备具有内核接口,但似乎可以安全地与VPP一起使用。PCI ID内核接口说明
-------------------------------------------------- ----------------------------------------
0000:90:00.0 enp144s0 VIC以太网NIC
0000:8f:00.0 enp143s0 VIC以太网NIC
0000:84:00.0 enp132s0f0,enp132s0f0d1以太网控制器XL710,用于40GbE QSFP +
0000:84:00.1 enp132s0f1,enp132s0f1d1以太网控制器XL710,用于40GbE QSFP +
0000:08:00.1 enp8s0f1 I350千兆网络连接
0000:02:00.0 enp2s0f0 82599ES 10千兆位SFI / SFP +网络连接
0000:02:00.1 enp2s0f1 82599ES 10千兆位SFI / SFP +网络连接
0000:86:00.0 enp134s0f0 82599ES 10千兆位SFI / SFP +网络连接
0000:86:00.1 enp134s0f1 82599ES 10 Gb SFI / SFP +网络连接    您要为VPP [y / N]使用这些设备中的任何一个吗?ÿ
您要为VPP [y / N]使用设备0000:90:00.0吗?
您要为VPP [y / N]使用设备0000:8f:00.0吗?
您要为VPP [y / N]使用设备0000:84:00.0吗?
您想将设备0000:84:00.1用于VPP [y / N]吗?
您想将设备0000:08:00.1用于VPP [y / N]吗?
您想将设备0000:02:00.0用于VPP [y / N]吗?
您要为VPP [y / N]使用设备0000:02:00.1吗?
您要为VPP [y / N]使用设备0000:86:00.0吗?ÿ
您想将设备0000:86:00.1用于VPP [y / N]吗?ÿVPP将使用这些设备。PCI ID说明
-------------------------------------------------- --------------
0000:86:00.0 82599ES 10千兆位SFI / SFP +网络连接
0000:86:00.1 82599ES 10 Gb SFI / SFP +网络连接    您是否要删除其中的任何设备[y / N]? VPP将使用这些设备,如果不正确,请重新运行此选项。PCI ID说明
-------------------------------------------------- --------------
0000:86:00.0 82599ES 10千兆位SFI / SFP +网络连接
0000:86:00.1 82599ES 10 Gb SFI / SFP +网络连接    您的系统具有32个核心和2个Numa节点。
首先,我们建议不要为VPP或其他进程保留任何内核。
然后,为了提高性能,请尝试根据需要保留内核。 您要为VPP以外的进程保留多少个核心?[0-16] [0]?
我们应为VPP工人保留多少个核心[0-4] [0]?2
我们应该为VPP主线程保留1个内核吗?[是/否]?ÿ预期有多少个活动打开/ tcp客户端会话[0-10000000] [0]?
预期有多少个被动打开/ tcp服务器会话[0-10000000] [0]? 当前有1024 2048 kB个巨大的页面可用。
您是否要重新配置大页面的数量[y / N]?ÿ当前总共有1024个大页面。
您想要多少个大页面[1024-19414] [1024]?8192

应用配置

检查完配置文件后,我们可以使用选项3来应用配置。请注意,默认设置是不更改grub命令行。如果选择了更改grub命令行的选项,则将需要重新启动。

你想干什么?1)显示基本系统信息
2)空运行(将配置文件保存在/ usr / local / vpp / vpp-config / dryrun中以进行检查)和用户输入在/usr/local/vpp/vpp-config/configs/auto-config.yaml中
3)完整配置(警告:这将更改系统配置)
4)列出/安装/卸载VPP。
5)执行一些基本测试。
9或q)退出命令:3现在,我们将配置您的系统。您确定要执行此操作[是/否]?ÿ
这些是我们将要应用的更改
巨大的页面文件(/etc/sysctl.d/80-vpp.conf)。1,2d0
<vm.nr_hugepages = 1024
4,7c2,3
<vm.max_map_count = 3096
---
> vm.nr_hugepages = 8192
> vm.max_map_count = 17408
8a5
> kernel.shmmax = 17179869184
10,15d6
<kernel.shmmax = 2147483648您确定要[Y / n]应用这些更改吗?
这些是我们将要应用的更改
VPP启动文件(/etc/vpp/startup.conf)。---
>
>核心8
>核心工作者9-10
>
>调度程序策略FIFO
>调度程序优先级50
>
67,68c56,66
<#dpdk {
---
> dpdk {
>
>开发0000:86:00.0 {
> num-rx队列2
>}
> dev 0000:86:00.1 {
> num-rx队列2
>}
> num-mbufs 25600
>
124c122
<#}
---
>}您确定要[Y / n]应用这些更改吗? 配置的grub cmdline如下所示:
GRUB_CMDLINE_LINUX_DEFAULT =“ isolcpus = 8,9-10 nohz_full = 8,9-10 rcu_nocbs = 8,9-10”当前的启动cmdline如下所示:
BOOT_IMAGE = / boot / vmlinuz-4.4.0-97-generic root = UUID = d760b82f-f37b-47e2-9815-db8d479a3557 ro是否要保留当前的启动cmdline [Y / n]? 

显示系统(配置后)

在配置系统后显示系统信息时,请注意VPP工作器和VPP主核位于正确的Numa节点上。还要注意,VPP正在运行,并且显示了接口。

你想干什么?1)显示基本系统信息
2)空运行(将配置文件保存在/ usr / local / vpp / vpp-config / dryrun中以进行检查)和用户输入在/usr/local/vpp/vpp-config/configs/auto-config.yaml中
3)完整配置(警告:这将更改系统配置)
4)列出/安装/卸载VPP。
5)执行一些基本测试。
9或q)退出命令:1=============================
节点:DUT1中央处理器:型号名称:Intel(R)Xeon(R)CPU E5-2667 v3 @ 3.20GHz处理器:32每个核心线程数:2每个插槽的核心数:8插座:2NUMA node0 CPU:0-7,16-23NUMA node1 CPU:8-15,24-31CPU最大MHz:3600.0000CPU最低MHz:1200.0000SMT:已启用VPP线程:(名称:CPU编号)vpp_main:8   vpp_wk_1:10  vpp_wk_0:9   vpp_stats:0   Grub命令行:当前:BOOT_IMAGE = / boot / vmlinuz-4.4.0-97-generic root = UUID = d760b82f-f37b-47e2-9815-db8d479a3557 ro已配置:GRUB_CMDLINE_LINUX_DEFAULT =“ isolcpus = 8,9-10 nohz_full = 8,9-10 rcu_nocbs = 8,9-10”大量页面:系统总内存:65863484 kB总可用内存:42048632 kB实际巨大页面总数:8192已配置的大页面总数:8192免费免费大型网页:7936大页面大小:2048 kB设备:
缓冲区总数:25600具有链接功能的设备(不能与VPP一起使用):
0000:08:00.0 enp8s0f0 I350千兆网络连接                   绑定到内核驱动程序的设备:
0000:90:00.0 enp144s0 VIC以太网NIC
0000:8f:00.0 enp143s0 VIC以太网NIC
0000:84:00.0 enp132s0f0,enp132s0f0d1以太网控制器XL710,用于40GbE QSFP +
0000:84:00.1 enp132s0f1,enp132s0f1d1以太网控制器XL710,用于40GbE QSFP +
0000:08:00.1 enp8s0f1 I350千兆网络连接
0000:02:00.0 enp2s0f0 82599ES 10千兆位SFI / SFP +网络连接
0000:02:00.1 enp2s0f1 82599ES 10千兆位SFI / SFP +网络连接    绑定到DPDK驱动程序的设备:
0000:86:00.0 82599ES 10千兆位SFI / SFP +网络连接
0000:86:00.1 82599ES 10 Gb SFI / SFP +网络连接    VPP使用的设备:
名称套接字RXQs RXDescs TXQs TXDescs
TenGigabitEthernet86 / 0/0 1 2 1024 3 1024
TenGigabitEthernet86 / 0/1 1 2 1024 3 1024VPP服务状态:活动(运行)=============================

设定IP位址

一旦配置了VPP,我们就可以向配置的接口添加一些IP地址。完成此操作后,您应该能够ping通配置的地址,并且VPP可以使用了。此选项运行后,对于Ubuntu,在/ usr / local / vpp / vpp-config / scripts / set_int_ipv4_and_up中创建脚本,对于Centos,在/ usr / vpp / vpp-config / scripts / set_int_ipv4_and_up中创建脚本。该脚本可用于将来配置IP地址。

你想干什么?1)显示基本系统信息
2)空运行(将配置文件保存在/ usr / local / vpp / vpp-config / dryrun中以进行检查)和用户输入在/usr/local/vpp/vpp-config/configs/auto-config.yaml中
3)完整配置(警告:这将更改系统配置)
4)列出/安装/卸载VPP。
5)执行一些基本测试。
9或q)退出命令:5你想干什么?1)列出/创建简单的IPv4设置
9或q)返回主菜单。命令:1这些是当前具有IP地址的接口:
TenGigabitEthernet86 / 0/0未设置dn
TenGigabitEthernet86 / 0/1未设置dn        您是否要保留此配置[Y / n]?ñ
您是否要在接口TenGigabitEthernet86 / 0/0 [Y / n]中添加地址?
请输入IPv4地址[nnnn / n]:30.0.0.2/24
您是否要为接口TenGigabitEthernet86 / 0/1 [Y / n]添加地址?ÿ
请输入IPv4地址[nnnn / n]:40.0.0.2/24在/ usr / local / vpp / vpp-config / scripts / set_int_ipv4_and_up创建的脚本
可以使用以下命令运行此脚本:
vppctl exec / usr / local / vpp / vpp-config / scripts / set_int_ipv4_and_up你想干什么?1)列出/创建简单的IPv4设置
9或q)返回主菜单。命令:1这些是当前具有IP地址的接口:
TenGigabitEthernet86 / 0/0 30.0.0.2/24以上
TenGigabitEthernet86 / 0/1 40.0.0.2/24以上        您是否要保留此配置[Y / n]? 

VPP 安装配置工具vpp-config相关推荐

  1. mysql group replication 安装配置详解

    一.原起: 之前也有写过mysql-group-replication (mgr) 相关的文章.那时也没有什么特别的动力要写好它.主要是因为在 mysql-5.7.20 之前的版本的mgr都有着各种各 ...

  2. FD.io VPP:用户文档:VPP RPM包的构建与离线安装

    VPP RPM包的构建与离线安装 RToax 2020年9月 要开始使用VPP进行开发,您需要获取所需的VPP源代码,然后构建软件包. 1. 设置代理 如果你的服务器本地可以连接互联网,则跳过设置代理 ...

  3. FD.io/VPP — VPP 的配置与运行

    目录 文章目录 目录 配置 80-vpp.conf startup.conf 可以配置 VPP 的 Threading Modes 运行示例 non-DPDK 模式运行 VPP DPDK 模式运行 V ...

  4. 软件测试基础:MantisBT的安装配置及使用——BUG管理工具

      这学期学习的移动app测试,真的晕,一门无聊且枯燥的课,但是还是得学,越是无聊,越要当成男朋友来看待,共勉!以前用过一个工具禅道还不错,老师还没讲测试的时候就已经用到过一些了,感觉禅道也很不错,主 ...

  5. 网络安全初学者工具安装:Kali,Windows xp虚拟机,pikachu靶场,burpsuite安装配置,phpstudy安装(学习笔记)

             摘要 在互联网发展的时代背景下,网络安全成为了越来越不可忽视的重要领域,为此,各国都采取了维护网络安全的举措,对于网络安全人才的需求不断增大,我国作为世界上最多使用计算机人口的国家, ...

  6. puppet的web管理工具foreman安装配置简明步骤

    foreman概述 Foreman是一个集成的数据中心生命周期管理工具,提供了服务开通,配置管理以及报告 功能,和Puppet Dahboard一样,Foreman也是一个Ruby on Rails程 ...

  7. mysql 物理备份工具_mysql物理备份工具Xtrabackup安装配置

    mysql物理备份工具Xtrabackup安装配置 1Xtrabackup工具介绍 Xtrabackup是一个对InnoDB做物理数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具 ...

  8. linux 软件 web管理系统,如何快速安装Webmin(linux系统web管理配置工具)

    如何快速安装Webmin(linux系统web管理配置工具) 简介: Webmin是目前功能最强大的基于Web的Unix系统管理工具.管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作 ...

  9. cacti config.php,cacti监控系统的安装配置

    1.cacti简介 1).cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户. ...

最新文章

  1. 2019 年回顾:生物学年
  2. gulp项目配置指南
  3. imoocLinux环境变量配置文件笔记
  4. Cortex_m3的启动过程
  5. 【线上分享】云原生时代,华为云音视频质量监控与优化实践
  6. Oracle入门(十四.8)之迭代控制:基本循环Loop
  7. Django框架——HttpRequest对象
  8. common-jdbc:一个基于SpringJdbcTemplate的高性能数据库操作工具类库
  9. javascript--方法(函数)
  10. H5常见面试题及答案(一)
  11. 让对应背景随着轮播的图片变化而改变
  12. 【论文阅读|浅读】DeepEmLAN: Deep embedding learning for attributed networks
  13. 关于IE无法打开站点XX已终止操作问题
  14. java求两个非零正整数的最大公约数和最小公倍数
  15. 浅谈晏殊几何学知识图谱技术
  16. windows7 64位安装oracle10g
  17. 网络撮合交易的大市场
  18. 中断服务子程序 ISR
  19. 携手华为,瑞金医院病理科为健康数字化保驾护航
  20. Centos7 resolv.conf被重置的解决方案

热门文章

  1. Mysql插入锁表情况
  2. flutter版本的玩Android客户端
  3. solidity合约详解
  4. YUV422(UYVY)转RGB565源代码及其讲解.md
  5. 《软件需求模式》阅读笔记二
  6. [图解教程]Eclipse不可不知的用法之一:自动生成Getter、Setter和构造方法
  7. html5,用或不用,它都在那里
  8. Solr相关概念详解:SolrRequestHandler
  9. XPath最通俗的教程(ZZ)
  10. bootstrap java web_Java web MVC(jsp,servlet,dao)+Bootstrap购物网站开发经验总结 (持续更新)...