Hi Navina, you can probably add that in your controller code, but it is probably worth pointing out that OVS provides the feature to passively listens for dpctl messages while actively registers to OF controllers. By default this is turned off, you can see that from ~/mininet/mininet/node.py __init__ function with listenPort=None. So you simply need to enable it when you create your custom topology. For my project, I created a custom topology and added them as:
s1 = net.addSwitch('s1') s1.listenPort = 6634 s2 = net.addSwitch('s2') s2.listenPort = 6635 s3 = net.addSwitch('s3') s3.listenPort = 6636 Full code here: https://github.com/ericchou-python/PyTapDEMON/blob/master/MininetTopology/PyTapDEMON_topo.py Then dpctl works: mininet@mininet-vm:~/pox$ dpctl dump-flows tcp:127.0.0.1:6634 stats_reply (xid=0x4cbd6894): flags=none type=1(flow) mininet@mininet-vm:~/pox$ dpctl dump-flows tcp:127.0.0.1:6635 stats_reply (xid=0xbe6b6a1b): flags=none type=1(flow) mininet@mininet-vm:~/pox$ dpctl dump-flows tcp:127.0.0.1:6636 stats_reply (xid=0x158a3b4a): flags=none type=1(flow) mininet@mininet-vm:~/pox$ If I comment out, say s3 port 6636: mininet@mininet-vm:~/pox$ dpctl dump-flows tcp:127.0.0.1:6636 dpctl: failed to send packet to switch: Connection refused mininet@mininet-vm:~/pox$ Hope it helps. Eric On Apr 27, 2013, at 1:34 PM, Navina Ramesh <rnav...@acis.ufl.edu> wrote: > Hi, > > I have just started writing controllers using Openflow. I am using Mininet > 2.0.0 to create a network with 2 OVS Switches. I wrote a controller that > behaves like a learning switch, similar to what is shown in l2_learning.py. > I was trying to view the flows I installed by issuing the dpctl command to > the switch in my terminal as: > > mininet@mininet-vm:~/pox$ dpctl show tcp:127.0.0.1:6633 > dpctl: talking to tcp:127.0.0.1:6633: unexpected end of file > > I am running mininet and controller in the same virtual image and hence, > 127.0.0.1. > > I am getting the following error on my controller(pox) terminal: > > ERROR:openflow.of_01:[Con 5/None]: Exception while handling OpenFlow message: > [Con 5/None] ofp_features_request > [Con 5/None] header: > [Con 5/None] version: 1 > [Con 5/None] type: 5 (OFPT_FEATURES_REQUEST) > [Con 5/None] length: 8 > [Con 5/None] xid: 862702809 > Traceback (most recent call last): > File "/home/mininet/pox/pox/openflow/of_01.py", line 622, in read > h(self, msg) > TypeError: 'NoneType' object is not callable > > I am not able to figure out why this error is caused. Should I be handling > anything in my controller code? > > Any pointers will be helpful. > > Thanks! > Navina > _______________________________________________ > openflow-discuss mailing list > openflow-discuss@lists.stanford.edu > https://mailman.stanford.edu/mailman/listinfo/openflow-discuss
_______________________________________________ openflow-discuss mailing list openflow-discuss@lists.stanford.edu https://mailman.stanford.edu/mailman/listinfo/openflow-discuss