自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 fattree拓扑:全联通转发表生成代码

最近做实验需要fattree-k4,fattree-k6以及k值更大的拓扑,k4的转发表尚可手写,可是k值增大,流表的数量可是显著增加,手写肯定不太行,所以根据fattree的拓扑规律写一个自动生成转发表的程序,这样也可以通过这个转发表下发流表啥的就很方便了。拓扑回顾fattree-k4core层交换机数量: 4agg层交换机数量:8edge层交换机数量:8host数量:16fattree-kcore: (k/2)^2agg: (k^2)/2 = core * 2edge = a.

2020-12-05 14:08:10 748

原创 ovs 流表匹配顺序实验

最近在mininet搭Internet2拓扑,并测试连通性。因为转发规则需要遵守最长前缀匹配,因此要求数据平面也按照最长前缀匹配进行转发。但是在下发流表之后,使用 ovs-ofctl dump-flow 命令发现流表项的顺序和 下发顺序或前缀长度都无关。在网上找了各位大佬的讲解,主要是这篇博文:http://vinllen.com/ovs-2-3-datapatchnei-he-liu-biao-pi-pei-guo-cheng/这位大佬讲得很清楚,流表12个匹配域,match指定的匹配域越多,匹配

2020-11-09 15:57:34 2133 1

原创 mininet-ovs转发行为与流表不对应

摘要mininet搭建拓扑,floodlight API下发流表后,进行转发测试。发现ovs转发行为与流表显示的不一致,而流表对应的表项n_packets字段正确累加,正确端口抓不到包,而错误的实际转发端口能抓到IP包。【ovs迷惑转发行为探究】问题描述mininet搭建Internet2拓扑,floodlight控制器ovs s13的流表:可以看到转发的端口为33,而进行几次测试后,该两条流表项n_packets字段正确累加打印内核空间的转发行为发现IP包被转发到了21端口分别在s3

2020-11-05 16:33:48 273 1

原创 mininet-解决host之间ping不通的问题

mininet-解决host之间ping不通的问题问题描述在mininet中搭建了一个fattree-k4拓扑,通过ovs-ofctl下发流表后,使用mininet > pingall测试连通性,发现不连通:s13为h1和h2之间的ovs,查看其流表ovs-ofctl -O OpenFlow13 dump-flows s13查看流表:流表正确,为何还是不连通?查看h1的arp表:mininet> h1 arp -nvh1的arp表不完整(h2对应的一栏是inco

2020-10-28 20:19:16 6671 2

原创 ovs-ofctl下发流表测试实验

mininet拓扑这里用的自动创建的最简单的拓扑(h1-s1-h2)sudo mn既转发又丢弃可以吗?会产生冲突吗?sudo ovs-ofctl add-flow s1 in_port=2,actions=output:1,drop结果:好吧,不行。drop不允许和其他action一起下发。可以同时转发到多个端口吗?sudo ovs-ofctl add-flow s1 in_port=2,actions=output:1,2结果:是可以的。...

2020-10-09 21:11:22 939

原创 ovs相关快速查找笔记

OVS相关快速查找笔记研究生一年总结的ovs相关笔记,感谢mininet和ovs和openflow陪伴我这么久,都磨出感情了。虽然一年了还是没有什么长进,这个笔记还是值得record的。加油吧!代码路径#内核态代码: /ovs/datapath/veridp-*#用户态:/ovs/lib/#只有内核流表匹配失败的时候才会upcall到用户态去查,入口函数在/ovs/datapath/actions.c下的do_execute_actions,然后转veridp的pipeline处理。ip操

2020-10-09 20:50:02 768 1

原创 p4pktgen学习笔记(2)——运行示例

运行示例:demo1.p4_16.p4文件位置:~/p4pktgen-master/examples/ demo1.p4_16.p4同文件夹下有已经编译好的json文件:~/p4pktgen-master/examples/ demo1.p4_16.json可以看到 p4文件有ParserImpl(),verifyChecksum(),ingress(),egress(),computeChecksum(),DeparserImpl()六个模块,但是对于p4pktgen来说只关心Parse

2020-09-15 16:40:36 239

原创 p4pktgen学习笔记(1)——介绍和安装

介绍p4pktgen是一个为P4程序生成输入包和表条目的工具,它覆盖了程序的所有路径。它支持用P4_14或P4_16变体语言编写的程序,只要程序可以使用开源p4c-bm2-ss编译器编译(p4c库的一部分),编译为使用simple_switch 的bmv2 JSON文件软件交换机。它目前覆盖了通过解析器和入口控制块的所有执行路径组合,但**忽略了出口控制块**。它在simple_switch上运行测试用例来检查数据包是否遵循期望的执行路径,并写出描述测试用例的数据文件,该文件可在其他P4实现上执行

2020-09-15 16:25:21 291

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除