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(一):如何用postman控制ODL查看和下发流表_第1张图片
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
Paste_Image.png
  • "basic Auth"标签,填入username/password,默认都是admin
OpenDaylight(一):如何用postman控制ODL查看和下发流表_第2张图片
  • 点击右侧"Headers"按键,添加Headers信息:Content-Type/application/json


    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(一):如何用postman控制ODL查看和下发流表_第3张图片
Paste_Image.png
  • 点击"send",应该发回OK


    OpenDaylight(一):如何用postman控制ODL查看和下发流表_第4张图片
    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(一):如何用postman控制ODL查看和下发流表_第5张图片
    Paste_Image.png
  • 成功后,点击上图右下方的"眼睛"图标(之前版本这里是一个show按键)来show preview,就能获得整个消息内容
  • 其中大括号里面的就是在需要的消息主体


    OpenDaylight(一):如何用postman控制ODL查看和下发流表_第6张图片
    Paste_Image.png

本文首发于SDNLAB http://www.sdnlab.com/16824.html

你可能感兴趣的:(OpenDaylight(一):如何用postman控制ODL查看和下发流表)