本文共 10339 字,大约阅读时间需要 34 分钟。
目录
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只需执行以下操作。目前,我有自己的帐户。当我们希望每个人都做出贡献时,我们将需要改变这一点。
$ 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 插座:2 NUMA node0 CPU:0-7,16-23 NUMA node1 CPU:8-15,24-31 CPU最大MHz:3600.0000 CPU最低MHz:1200.0000 SMT:已启用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服务状态: 未安装=============================
我们现在可以使用选项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.origINFO:root:本地命令:rm /etc/apt/sources.list.d/99fd.io.listINFO: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.listINFO: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,2d0vm.nr_hugepages = 8192> vm.max_map_count = 174088a5> kernel.shmmax = 1717986918410,15d6 >核心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 插座:2 NUMA node0 CPU:0-7,16-23 NUMA node1 CPU:8-15,24-31 CPU最大MHz:3600.0000 CPU最低MHz:1200.0000 SMT:已启用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 TXDescsTenGigabitEthernet86 / 0/0 1 2 1024 3 1024TenGigabitEthernet86 / 0/1 1 2 1024 3 1024VPP服务状态: 活动(运行)=============================
一旦配置了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]?
转载地址:http://jppaf.baihongyu.com/