sdnmininetopenflowopenvswitch

what is the difference between ovs and ovsk?


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?


Solution

  • 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 }