P4factory <Towards a better behavioral model: bmv2>
尝试使用bmv2行为模型来跑p4实例。
原文说明:
We have released a new version of the behavioral model, written in C++. Some targets already support this new model -in addition to the original version, p4c-behavioral. If you see a target with a bmv2 directory, it means the new model is supported and you can try it out!
The new model splits the switch logic and the auto-generated PD API (drivers) into 2 different processes.
执行
打开三个终端,A,B,C。
A终端进入p4factory/targets/l2_switch/bmv2,模拟数据平面,执行如下命令:
make bm
./run_bm.sh #to start the data plane
结果:
Adding interface veth0 as port 0
Adding interface veth2 as port 1
Adding interface veth4 as port 2
Adding interface veth6 as port 3
Adding interface veth8 as port 4
Adding interface veth10 as port 5
Adding interface veth12 as port 6
Adding interface veth14 as port 7
Adding interface veth16 as port 8
Thrift server was started
B终端进入p4factory/targets/l2_switch/bmv2,打开PD APIs(RPC服务器),执行如下命令:
sudo ./drivers #in a second terminal, to start the PD APIs (RPC server)
结果:
Starting RPC server on port 9090
C终端进入l2_switch目录,跑实例:
sudo python run_tests.py --test-dir tests/ptf-tests/
结果:
WARNING: No route found for IPv6 destination :: (no default route?)
l2_switch.SimpleReplicationTest ... ok
----------------------------------------------------------------------
Ran 1 test in 0.813s
OK
返回终端B,得到结果:
Adding Thrift service for P4 program l2_switch to server
In client_init
In clean_all
In smac_set_default_action_mac_learn
In dmac_set_default_action_broadcast
In mcast_src_pruning_set_default_action__nop
In mc_mgrp_create
In mc_node_create
In mc_associate_node
In mcast_src_pruning_table_add_with__drop
Received learning notification
I received 1 samples
2016/10/14
P4factory <Towards a better behavioral model: bmv2>的更多相关文章
- P4factory <Integration with Mininet>
在终端A进入simple_router目录,make bm之后,执行 ./run_demo.bash 成功和Mininet进行协作: *** Creating network *** Adding h ...
- P4factory ReadMe 剩余部分
Building and Running a Target Each P4 program (called a 'target') is set up in a directory under tar ...
- 基于OpenDaylight和Mininet的试验床平台搭建
##########################################平台架构######################################### 一.虚拟机安装和镜像加载 ...
- mininet + opendaylight环境配置
环境配置 ubuntu18.04 镜像 mininet2.2.2 apt-get install mininet 但这种安装只是TLS版本的mininet,与最新版本在功能上有所差距. 控制器(ope ...
- 在 Laravel 中使用图片处理库 Integration/Image
系统需求 PHP >= 5.3 Fileinfo Extension GD Library (>=2.0) … or … Imagick PHP extension (>=6.5.7 ...
- 按照Enterprise Integration Pattern搭建服务系统
在前一篇文章中,我们已经对Enterprise Integration Pattern中所包含的各个组成进行了简单地介绍.限于篇幅(20页Word以内),我并没有深入地讨论各个组成.但是如果要真正地按 ...
- Enterprise Integration Pattern - 组成简介
近些年来,越来越多的Web应用正在逐渐向大型化的方向发展.它们通常都会包含一系列相互协作的子服务.在开发过程中,如何让这些子服务协同工作常常是软件开发人员所最为头疼的问题,如各个子服务之间的数据表示不 ...
- Spring 4 + Quartz 2.2.1 Scheduler Integration Example
In this post we will see how to schedule Jobs using Quartz Scheduler with Spring. Spring provides co ...
- mininet中iperf sever自动退出
使用iperf 在mininet进行吞吐量测试是常用的方法,之前结束iperf server的方法是运行os.system('pkill iperf')命令. 但是这种方式iperf server有可 ...
- OpenCASCADE Gauss Integration
OpenCASCADE Gauss Integration eryar@163.com Abstract. Numerical integration is the approximate compu ...
随机推荐
- exit()与_exit()函数的区别(Linux系统中)
注:exit()就是退出,传入的参数是程序退出时的状态码,0表示正常退出,其他表示非正常退出,一般都用-1或者1,标准C里有EXIT_SUCCESS和EXIT_FAILURE两个宏,用exit(EXI ...
- 开启InnoDB每表一个独立的表空间
mysql> show variables like '%innodb%'; +---------------------------------+----------------------- ...
- jquery学习笔记---jquery插件开发
http://www.cnblogs.com/Wayou/p/jquery_plugin_tutorial.html jquery插件开发:http://www.cnblogs.com/damonla ...
- IE下AjaxForm上传文件直接提示下载的兼容性Bug
使用AjaxForm上传文件时候,在IE下直接提示下载保存: 我的示例代码: return this.Json( new { prop1 = 5, prop2 = 10 }); 这种问题只出现在IE下 ...
- Dos del参数与作用(/f/s/q)
Dos del参数与作用(/f/s/q) C:\Documents and Settings>del /? 删除一个或数个文件. DEL [/P] [/F] [/S] [/Q] [/A[[:]a ...
- BZOJ 1029: [JSOI2007]建筑抢修 堆+贪心
1029: [JSOI2007]建筑抢修 Description 小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者.但是T部落的基地里已经有 ...
- 【HTML5】地理定位
<!DOCTYPE html> <html> <body> <p id="demo">点击这个按钮,获得您的坐标:</p> ...
- 【maven 报错】maven项目update之后报错One or more constraints have not been satisfied.
在右键项目Update Project之后报错:One or more constraints have not been satisfied.Spring 4.1 requires Java 1.6 ...
- eclipse常用快捷键,这个只要新学会的常用的会陆续更新的。
1.Ctrl+Shift+O 引用包 2.Ctrl+Shift+F 格式化代码 3.Ctrl + / 注释和解除注释代码 4.Ctrl+M 代码最大最小化 5.ctrl+shif ...
- 全自动编译FFmpeg(含x264,fdk aac,libmp3lame,libvpx等第3方库)
需要修改 #存放下载的源代码目录compile_dir=/root/ffmpeg_compile #库文件安装目录prefix_dir=/mnt/third-party 运行方法: source ce ...