天天看点

opendaylight 典型控制_OpenDaylight(一):如何用postman控制ODL查看和下发流表

Opendaylight就不介绍了,资料非常丰富。

porstman是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即可

http://10.10.33.28:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:128983913991/flow-node-inventory:table/0

opendaylight 典型控制_OpenDaylight(一):如何用postman控制ODL查看和下发流表

Paste_Image.png

下发流表

"normal"的便签页写入网址,action选"PUT"

http://10.10.33.28:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:128983913991/flow-node-inventory:table/0

opendaylight 典型控制_OpenDaylight(一):如何用postman控制ODL查看和下发流表

Paste_Image.png

"basic Auth"标签,填入username/password,默认都是admin

opendaylight 典型控制_OpenDaylight(一):如何用postman控制ODL查看和下发流表

点击右侧"Headers"按键,添加Headers信息:Content-Type/application/json

opendaylight 典型控制_OpenDaylight(一):如何用postman控制ODL查看和下发流表

Paste_Image.png

填入消息主体,下面举个例子

{

"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"

}

]

}

]

}

opendaylight 典型控制_OpenDaylight(一):如何用postman控制ODL查看和下发流表

Paste_Image.png

点击"send",应该发回OK

opendaylight 典型控制_OpenDaylight(一):如何用postman控制ODL查看和下发流表

Paste_Image.png

查看OVS上流表是否添加成功

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添加一下

opendaylight 典型控制_OpenDaylight(一):如何用postman控制ODL查看和下发流表

Paste_Image.png

成功后,点击上图右下方的"眼睛"图标(之前版本这里是一个show按键)来show preview,就能获得整个消息内容

其中大括号里面的就是在需要的消息主体

opendaylight 典型控制_OpenDaylight(一):如何用postman控制ODL查看和下发流表

Paste_Image.png