Deployment Guide

91
07-13 21:38:59.312255 of-switch: MSG: src/of-switch/OF_SDNController.cpp:Connect:Initializing
controller 172.25.11.93:6633
07-13 21:38:59.312482 ofconnectionmanager: INFO: Added remote connection: 172.25.11.93:6633
07-13 21:39:00.336444 ofconnectionmanager: INFO: cxn 172.25.11.93:6633: DISCONNECTED->CONNECTING
07-13 21:39:00.453541 ofconnectionmanager: INFO: cxn 172.25.11.93:6633: CONNECTING-
>HANDSHAKE_COMPLETE
And something like the following on the Ryu console:
(20961) wsgi starting up on http://0.0.0.0:8080/
connected socket:<eventlet.greenio.base.GreenSocket object at 0x33add90> address:('172.25.161.222',
48165)
hello ev <ryu.controller.ofp_event.EventOFPHello object at 0x33aa650>
move onto config mode
EVENT ofp_event->dpset EventOFPSwitchFeatures
switch features ev version: 0x4 msg_type 0x6 xid 0x9fee4cd4
OFPSwitchFeatures(auxiliary_id=0,capabilities=71,datapath_id=133571005559288,n_buffers=0,n_tables=7)
move onto main mode
EVENT ofp_event->dpset EventOFPStateChange
DPSET: register datapath <ryu.controller.controller.Datapath object at 0x33aa050>
EVENT ofp_event->dpset EventOFPStateChange
DPSET: unregister datapath <ryu.controller.controller.Datapath object at 0x33aa050>
connected socket:<eventlet.greenio.base.GreenSocket object at 0x33aa610> address:('172.25.161.222',
48166)
hello ev <ryu.controller.ofp_event.EventOFPHello object at 0x33aa7d0>
move onto config mode
EVENT ofp_event->dpset EventOFPSwitchFeatures
switch features ev version: 0x4 msg_type 0x6 xid 0xae4a1b6c
OFPSwitchFeatures(auxiliary_id=0,capabilities=71,datapath_id=133571005559288,n_buffers=0,n_tables=7)
move onto main mode
EVENT ofp_event->dpset EventOFPStateChange
DPSET: register datapath <ryu.controller.controller.Datapath object at 0x33aa350>
The log above shows the sequence of handshake when the switch agent connects to the controller. Hello
messages are exchanged and then switch features are requested. One of the features exchanged is the
OpenFlow protocol version (0x4=1.3.4), along with the datapath ID of the switch that just connected,
which you will need to install flows.
You can also see the datapath ID of all switches connected to the Ryu by issuing a GET with Postman or
similar REST client, or just pointing at it with a web browser or with some thing like CURL:
http://172.25.11.93:8080/stats/switches
[133571005559288]
COMMAND: curl -X GET http:// 172.25.11.93:8080/stats/switches
Output: [133571005559288]
ZYX123_console>
07-13 21:48:20.949575 ofconnectionmanager: INFO: cxn 172.25.11.93:6633: Exceeded outstanding echo requests. Resetting cxn
07-13 21:48:20.949727 ofconnectionmanager: INFO: cxn 172.25.11.93:6633: HANDSHAKE_COMPLETE->CLOSING
07-13 21:48:20.949927 ofconnectionmanager: INFO: cxn 172.25.11.93:6633: CLOSING->DISCONNECTED
07-13 21:48:20.952296 ofconnectionmanager: INFO: cxn 172.25.11.93:6633: DISCONNECTED->CONNECTING
07-13 21:48:21.076249 ofconnectionmanager: INFO: cxn 172.25.11.93:6633: CONNECTING->HANDSHAKE_COMPLETE
To push a flow, you can use Postman and a URL like this:
http://172.25.11.93:8080/stats/flowentry/add
Or you can once again use the CURL command line based REST API tool. Here is one example of a flow
description that successfully installs via the Ryu REST API: