Opendaylight就不介绍了,资料非常丰富。
postman是Chrome浏览器的一个插件,常常会被用来调用服务器端的restful接口进行数据请求
下面记录一下如何用Chrome的插件postman来操作ODL查看和下发流表
准备工作
- Chrome浏览器安装postman插件,如何安装,网上一搜一把
- OpenDaylight启动完毕,并安装好需要的插件
- OVS(IP:10.10.33.28)设置controller信息,端口号6653,连接ODL正常,ODL的Web管理界面能够看到这台OVS
- 在ODL或是OVS上获取OVS的DPID,例如openflow:128983913991
- postman支持多种格式,例如JSON/XML/HTML,下面以JSON为例
显示流表
- 照例填入(修改适当的DPID),点send即可
1 |
http://10.10.33.28:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:128983913991/flow-node-inventory:table/0 |
下发流表
- "normal"的便签页写入网址,action选"PUT"
1 |
http://10.10.33.28:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:128983913991/flow-node-inventory:table/0 |
- "basic Auth"标签,填入username/password,默认都是admin
- 点击右侧"Headers"按键,添加Headers信息:Content-Type/application/json
- 填入消息主体,下面举个例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
{ "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",应该发回OK
- 查看OVS上流表是否添加成功
1 |
DUT1# ovs-ofctl dump-flows br0 -O openflow13OFPST_FLOW reply (OF1.3) (xid=0x2): cookie=0x0, duration=3087.407s, table=0, n_packets=0, n_bytes=0, priority=160,in_port=1,dl_vlan=20 actions=pop_vlan,output:3 |
小帖士
流表添加失败
- 同样的流表内容,如果send之后,清除OVS流表再send一遍,可能会添加失败,但是返回值还是OK的
- 此时可以稍微修改一下流表内容,例如修改一下priority的值,就可以添加成功了
关于流表的格式
- 有时可能不知道要怎么写消息的主体
- 可以先通过ODL的YANG UI添加一下
- 成功后,点击上图右下方的"眼睛"图标(之前版本这里是一个show按键)来show preview,就能获得整个消息内容
- 其中大括号里面的就是在需要的消息主体
作者简介:刘敬一,盛科网络SDN交换机产品线测试主管
--------------华丽的分割线------------------
本文系《SDNLAB原创文章奖励计划》投稿文章,该计划旨在鼓励广大从业人员在SDN/NFV/Cloud网络领域创新技术、开源项目、产业动态等方面进行经验和成果的文字传播、分享、交流。有意向投稿的同学请通过官方唯一指定投稿通道进行文章投递,投稿细则请参考《SDNLAB原创文章奖励计划》