该包包含一个用于支持P4的ovs交换机的P4Runtime服务器和一个用于监视和管理的ovsp4ctl命令行工具

ovs-p4的Python项目详细描述


要求

这个包不仅有PyPi依赖项。需要安装PI: https://github.com/p4lang/PI

  1. 使用install_P4Runtime.sh脚本安装PI及其依赖项(此脚本来自https://github.com/jafingerhut/p4-guide)。
    cd scripts
    chmod +x install_P4Runtime.sh
    ./install_P4Runtime.sh

  2. 从此存储库复制p4运行时.proto文件到文件夹 PI/proto/p4runtime/proto/p4/v1
    cp <path to ovs-p4 repository>/proto/p4runtime.proto <path to PI>/proto/p4runtime/proto/p4/v1

  3. 再次运行PI安装:
    ./autogen.sh
    ./configure --with-proto
    make
    make check
    [sudo] make install

  4. 使用install_P4Runtime.sh脚本安装PI及其依赖项(此脚本来自https://github.com/jafingerhut/p4-guide)。
    cd scripts
    chmod +x install_P4Runtime.sh
    ./install_P4Runtime.sh

  5. 克隆PI和子模块
    git clone https://github.com/p4lang/PI
    cd PI
    git submodule update --init --recursive

根据自己的说明(包括grpc、protobuf等)安装PI。
可能在安装protobuf之前,您必须自己安装以下依赖项:
sudo apt-get --yes install autoconf automake libtool curl make g++ unzip
sudo apt-get --yes install zlib1g-dev
sudo apt-get --yes install cmake g++ git automake libtool libgc-dev bison flex libfl-dev libgmp-dev libboost-dev libboost-iostreams-dev libboost-graph-dev llvm pkg-config python python-scapy python-ipaddr python-ply tcpdump

P4运行时服务器-ovs-p4srv

ovs-p4srv P4Runtime服务器将P4Runtime的请求转换为oko switch CLI命令。在

怎么跑?

运行以下命令:

user@hostname:~$ ovs-p4srv

命令行工具-ovs-p4ctl

ovs-p4ctl程序是一个命令行工具,用于通过P4Runtime监视和管理oko开关。在

如何使用?

该工具的使用方法如下:

user@hostname:~$ ovs-p4ctl [command] [args...]

命令

每个命令至少需要一个参数--pipeline-id-程序的标识符。
交换机可以有多个程序。在

加载配置

将编译的程序加载到交换机。在

参数:--pipeline-id | --p4info-path | --config-path

获取配置

从交换机下载当前程序

参数:--pipeline-id | --response-type | --show | --p4info-path | --config-path

表格更新

更新表条目

参数:--pipeline-id | --p4info-path | --entry

表_转储

将有关表项的信息打印到控制台

参数:--pipeline-id | --p4info-path | --table

触点

托梅克•奥斯金斯基<;tomasz.osinski2@orange.com/osinstom@gmail.com>

Mateusz Kossakowski<;mateusz.kossakowski@orange.com/mateusz.kossakowski.10@gmail.com>

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
带有Spring数据的java筛选器谓词计数   java根据行和列和还原01矩阵   java如何清除面板?   java在SpringMVC中部署多个环境   java无法让我的密码实验室工作   java Android:如何获取箭头按钮?   java需要关于hibernate中无状态会话的足够信息   JAVAlang.NoClassDefFoundError与两个BouncyCastle罐子   java如何使用jsp和servlet更新数据库中的多个记录   java如何分离所有公式并使其成为子类?   java包含旋转时更改布局的子项   Android中的java SSH反向隧道   即使在springboot和H2中出现404错误之后,java数据也会被保存和删除   java使用安卓 intent将文本和图像共享到instagram   java哪里是Servlet映射中的无效内容