如何使用Postman控制ODL查看和下发流表(流表格式为JSON)
2017-04-07 21:49
991 查看
如何使用Postman控制ODL查看和下发流表
准备工作
Chrome浏览器安装Postman插件。
OpenDaylight (版本Boron-SR2)启动完毕,并安装好需要的插件
使用mininet创建网络拓扑:
sudo mn –controller=remote,ip=127.0.0.1 –topo linear,2
补充:
sudo mn –switch ovs,protocol=OpenFlow13 –controller=remote,ip=127.0.0.1,port=6653
使用该命令创建网络拓扑时,由于没有指定拓扑的结构,使用pingall命令时,无法进行通信。
下发流表:
URI:http://127.0.0.1:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/flow-node-inventory:table/0
选择“PUT”方法。
点击”Send”发送。
Postman返回的Http Status code信息:
查看OVS上流表是否添加成功:
输入查看流表信息的命令:
I:ovs-ofctl dump-flows s1
II:在web浏览器中输入:http://192.168.1.157:8181/restconf/operational/opendaylight-inventory:nodes
其中flow_id字段发生了变化,并非之前设定的值10。
再下发一条流表项:
Authorization
Type:Basic Auth
Headers:
Content-Type:application/json
Accept:application/json
Authorization:Basic
Body:
raw
JSON(application/json)
在OVS中查看添加上的流表项:
流表已经添加成功!但是之前添加的流表项被覆盖掉了,原因未知!
参考资料:
http://www.sdnlab.com/16824.html
http://www.sdnlab.com/15173.html
准备工作
Chrome浏览器安装Postman插件。
OpenDaylight (版本Boron-SR2)启动完毕,并安装好需要的插件
使用mininet创建网络拓扑:
sudo mn –controller=remote,ip=127.0.0.1 –topo linear,2
补充:
sudo mn –switch ovs,protocol=OpenFlow13 –controller=remote,ip=127.0.0.1,port=6653
使用该命令创建网络拓扑时,由于没有指定拓扑的结构,使用pingall命令时,无法进行通信。
下发流表:
URI:http://127.0.0.1:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/flow-node-inventory:table/0
选择“PUT”方法。
{ "table": [ { "id": "0", "flow": [ { "id": "0", "match": { "in-port": "1", "vlan-match": { "vlan-id": { "vlan-id-present": "true", "vlan-id": "20" } } }, "instructions": { "instruction": [ { "apply-actions": { "action": [ { "output-action": { "output-node-connector": "3", "max-length": "65535" }, "order": "1" }, { "pop-vlan-action": {}, "order": "0" } ] }, "order": "0" } ] }, "buffer_id": "65535", "installHw": "true", "barrier": "true", "strict": "true", "priority": "160", "idle-timeout": "0", "hard-timeout": "0", "table_id": "0" } ] } ] }
点击”Send”发送。
Postman返回的Http Status code信息:
查看OVS上流表是否添加成功:
输入查看流表信息的命令:
I:ovs-ofctl dump-flows s1
II:在web浏览器中输入:http://192.168.1.157:8181/restconf/operational/opendaylight-inventory:nodes
其中flow_id字段发生了变化,并非之前设定的值10。
再下发一条流表项:
Authorization
Type:Basic Auth
Headers:
Content-Type:application/json
Accept:application/json
Authorization:Basic
Body:
raw
JSON(application/json)
{ "table":[ { "id":"0", "flow":[ { "id":"0x13", "match":{ "ethernet-match": { "ethernet-type": { "type":2048 } } }, "instructions": { "instruction": { "apply-actions": { "action": [ { "dec-nw-ttl": { }, "order": "1" } ] }, "order": "0" } }, "buffer_id": "6553", "installHw": "true", "barrier": "true", "strict": "true", "priority": "164", "idle-timeout": "0", "hard-timeout": "0", "table_id": "0" } ] } ] }
在OVS中查看添加上的流表项:
流表已经添加成功!但是之前添加的流表项被覆盖掉了,原因未知!
参考资料:
http://www.sdnlab.com/16824.html
http://www.sdnlab.com/15173.html
相关文章推荐
- 如何用postman控制ODL设置端口的QoS, 并下发流表到交换机做限速配置
- 在ASP.NET MVC中使用Knockout实践04,控制View Model的json格式内容
- 如何使用JSON格式 POST数据到服务器
- dwg格式的图纸文件如何使用CAD看图软件打开查看?
- 在不知道json格式的情况下如何使用cjson进行解析
- 如何用 Postman 处理 json请求格式
- 在不知道json格式的情况下如何使用cjson进行解析
- 如何在Hive中使用Json格式数据
- 如何使用json的数据格式给Highcharts赋值
- 如何使用EditPlus将json格式字符串默认为UTF-8格式
- 在不知道json格式的情况下如何使用cjson进行解析
- 如何使用fastJson来解析JSON格式数据和生成JSON格式数据
- 使用原生的ajax如何去提交json格式的数据
- 如何在FastReport.Net中使用JSON格式的数据
- SpringMVC中在使用@ResponseBody时如何将Date类型的日期返回指定格式的json数据
- 如何使用rapidjson库进行json格式的封装及解析
- 如何使用PHP调用API接口( 如何POST一个JSON格式的数据给Restful服务)
- 如何使用EditPlus将json格式字符串默认为UTF-8格式
- 如何使用fastJson来解析JSON格式数据和生成JSON格式数据
- 如何使用dhtmlxtree 和Json 数据格式创建和使用一棵tree