On Tue, Sep 20, 2011 at 09:18:46PM -0700, Aishwarya wrote: > The instructions to start openvswitch say we need to run ovsdbserver > (listening on a unix socket in my case), and vswitchd subsequently. Now, > openvswitch is said to route packets in the kernel itself and not use > userspace.
The Open vSwitch kernel module does almost nothing on its own initiative. Userspace and in particular ovs-vswitchd is a vital part of setting up flows. > However, ovsdb-server and vswitchd are user processes. What is the > role of these actually when 2 vms are trying to send traffic via the > openvswitch? When a new flow arrives, ovs-vswitchd decides where its packets should go. > Lets say I configure the flow rules and then kill the vswitchd > process, the vms cannot communicate anymore. Why should this happen > although the kernel module is still loaded? How is the routing of the > packet being affected by these user level processes? When new flow arrives, ovs-vswitchd isn't running so it can't decide where the packets should go. They get dropped. > I would assume that the database server would be needed only to query > something like port or flow information. But it seems to be necessary > while sending traffic too. Is this because the switch on receiving > traffic is querying the database to check for the flows, before > sending the traffic out? No. > In that case, what does it mean that openvswitch has High-performance > forwarding using a Linux kernel module (since it is using the user > space program as well?) Once ovs-vswitchd decides where packets in a flow should go, they get forwarded quickly by the kernel. _______________________________________________ discuss mailing list [email protected] http://openvswitch.org/mailman/listinfo/discuss
