2
votes

when running mininet topology, we can use ovs or ovsk for --switch argument in mininet's mn command, for instance:

mn --custom topo.py  --topo topo --mac --switch ovs --controller remote
mn --custom topo.py  --topo topo --mac --switch ovsk --controller remote

So I wonder if there is any difference between these two commands?

As openvswitch can run on user space or kernel space, I thought it might be related to that, ovsk means ovs kernel space. However I couldn't find any information about this on documentations and google.

Anyone can help with this?

2

2 Answers

3
votes

From the mn code in mn git: ovsk and ovs point to the same class of object OVSSwitch, "ovsk" is still existing for compatibility reason, but actually they are the same.

SWITCHDEF = 'default'
SWITCHES = { 'user': UserSwitch,
         'ovs': OVSSwitch,
         'ovsbr' : OVSBridge,
         # Keep ovsk for compatibility with 2.0
         'ovsk': OVSSwitch,
         'ivs': IVSSwitch,
         'lxbr': LinuxBridge,
         'default': OVSSwitch }
0
votes

You can verify Giuseppe's answer from Mininet's python code as well where inside the node.py file on line 1253, OVSKernelSwitch = OVSSwitch is written.