Description:
OpenFlow is a protocol that allows a server to tell network switches where to transmit packets. OpenFlow messages manipulated the flow entries in the flow table where messages are interchanged between the switch and controller via a secure channel. By maintaining a flow table, the switch can make forwarding decisions for incoming packets using a simple look at the entries of its flow table. The OpenFlow Protocol supports three message types, each with its own sub-types setup: 1. Controller-to-switch 2. Asynchronous, and 3. Symmetric. The Controller-to-switch Messages include Features, Configuration, Modify-State, Read-States, Packet Outs, Barrier, Role-Request, and Asynchronous-Configuration. The Asynchronous messages include Packet-in, Flow-Removed, Port Status, and Error. The Symmetric messages include Hello, Echo and Experimenter. To capture the OpenFlow messages, users have to follow the samples discussed in the below section:
In Terminal1,
sudo wireshark
And start the capture for "loopback" or "any" interface
ryu-manager ryu.app.simple_switch_13
Sudomn --controller=remote,ip=127.0.0.1 --mac
--switch=ovsk,protocols=OpenFlow13 --topo=single,4
You will get the mininet prompt.
In the mininet prompt, type pingall command
pingall
sudo ovs-vsctl show
sudo ovs-ofctl -O OpenFlow13 dump-flows s1
Check the OpenFlow messages in Wireshark,
Stop the Wireshark capture,
In the filter, type "openflow_v4" to see the OpenFlow Messages.