0
votes

I created a software defined network in Mininet (1 controller, 1 switch and 4 hosts) and I want to know in most SDNs (OpenFlow), how often the flow tables get updated or changed (adding, modifying, or deleting a flow entry)?

Also, Where are the flow table entries stored and saved? Is there a file that stores such information? What is the path or the location of that file? For example, I get the flow entries when I type the following command:

sudo ovs-ofctl -O OpenFlow13 dump-flows s1

OFPST_FLOW reply (OF1.3) (xid=0x2): cookie=0x0, duration=367.032s, table=0, n_packets=10, n_bytes=756, priority=1,in_port=2,dl_dst=00:00:00:00:00:01 actions=output:1 cookie=0x0, duration=367.028s, table=0, n_packets=9, n_bytes=714, priority=1,in_port=1,dl_dst=00:00:00:00:00:02 actions=output:2 cookie=0x0, duration=357.348s, table=0, n_packets=13, n_bytes=1106, priority=1,in_port=3,dl_dst=00:00:00:00:00:01 actions=output:1 cookie=0x0, duration=357.346s, table=0, n_packets=12, n_bytes=1064, priority=1,in_port=1,dl_dst=00:00:00:00:00:03 actions=output:3 cookie=0x0, duration=346.450s, table=0, n_packets=11, n_bytes=854, priority=1,in_port=3,dl_dst=00:00:00:00:00:02 actions=output:2 cookie=0x0, duration=346.442s, table=0, n_packets=10, n_bytes=812, priority=1,in_port=2,dl_dst=00:00:00:00:00:03 actions=output:3 cookie=0x0, duration=383.349s, table=0, n_packets=30, n_bytes=2220, priority=0 actions=CONTROLLER:65535

So, where did these information came from? which file?

Thanks

1

1 Answers

0
votes

If you wanna know how often an SDN software discovers the network, It's definitely up to your controller software. For example in floodlight, in net.floodlightcontroller.linkdiscovery.internal package, we have a field that named LLDP_TO_ALL_INTERVAL, and it set to 15 (seconds). so every 15 seconds SDN (controller) sends LLDP packets to the network and get information about the network. you can change this field (whatever you want).

But if your question is about updating flows in the table, we've two scenarios (it could be more) :

1-It's up to you to when you, for example, enter a flow (event-based).

2-It's not up to you, the controller sets the flow itself like when a new switch added to the network, in this case, the controller set some initial flows on them, and it could be during the scan of network process.

If you need any information about link discovery and topology you can chrck the following packages in floodlight:

net.floodlightcontroller.linkdiscovery.internal

net.floodlightcontroller.topology