The ascii diagram somehow get messed up. Hopefully it works this time. VM1(eth0)--(eth0) VM2 (eth1)--(eth0)VM3(eth1)--(eth0)VM4 | | | | | | --------------------------------------------------------- veth1.0 -- veth2.0 veth2.1--veth3.0 veth3.1-- veth4.0 VE0 ---------------------------------------------------------
bascially, VM_X(eth_Y) connects to veth_X.Y in VE0. On Thu, May 31, 2012 at 8:29 AM, Dong Jin <jinandd...@gmail.com> wrote: > Thanks for your quick response, Justin. > > If I want to emulate 2 Ethernet switches, and each Ethernet switch > connects to an end-host, totally 4 nodes. Each node (Ethernet switch > or end host) is running inside a VM, similar to what mininet is doing. > I do not think running OVS in one VM is correct. It looks that there > should be only one OVS running within the single physical machine > regardless of how many VMs are running. but I am confused about what > to run inside for those VMs representing the Ethernet switches. Maybe > I am missing something here. > > What I want to do is to extend our emulation testbed with openflow > support. The idea is somewhat similar to mininet, to emulate a medium > scale network with swtiches/routers/end hosts. In particular, I am > trying to run openvswitch within OpenVZ virtualization > (http://wiki.openvz.org/Main_Page) on Redhat 5. One setup is > > VM1(eth0) (eth0) VM2 (eth1) (eth0)VM3(eth1) > (eth0) VM4 > | | | > | | | > --------------------------------------------------------------------------------------------------------- > veth1.0 ------ veth2.0 veth2.1----- veth3.0 > veth3.1----- veth4.0 > VE0 > --------------------------------------------------------------------------------------------------------- > > The hypervisor is called VE0 in OpenVZ. Within VE0, veth1.0 and > veth2.0 connect with vzbr using brctl; similar for veth2.1and veth3.0, > veth3.1 to veth4.0. > VM1 and VM4 are emulated end-hosts, and VM2 and VM3 are emulated > switches. The logical topology is > > VM1(eth0) ---------- (eth0) VM2 (eth1) ------- (eth0)VM3(eth1) > -------- (eth0) VM4 > > I am wondering how to setup the ovs-vswitchd for the above case? > > kevin > > On Thu, May 31, 2012 at 1:36 AM, Justin Pettit <jpet...@nicira.com> wrote: >> Based on your diagram, I'd think you'd want to run OVS inside VM2. This >> would be configured as you described with those ovs-vsctl commands. >> >> However, this seems like a fairly non-standard setup. Usually, the >> networking is managed in the hypervisor, so VM1 and VM3 would just be wired >> up to OVS running there. But I may not understand what you're trying to >> do... >> >> --Justin >> >> >> On May 30, 2012, at 10:46 PM, Dong Jin wrote: >> >>> I am new to openvswitch and openflow. I setup the following scenario >>> on a single physical machine: >>> >>> VM1(veth1.0) ------- (veth2.0) VM2 (veth2.1) --------- (veth3.0) VM3 >>> >>> VM1 and VM3 are two end-hosts. VM3 is to emulate an Ethernet switch. >>> VM2 should be controlled by ovs-vswitchd (possibly with the POX >>> controller later). >>> >>> After going through the ovs-vswitchd.conf.db(5), here is my >>> understanding (correct me if I am wrong): The single ovs-vswitchd >>> manages a set of bridges (i.e. Ethernet switches), each bridge has a >>> set of ports (i.e. Ethernet interfaces). >>> >>> It looks that ovs-vswitchd should run outside any VMs, and it creates >>> br0 which represents the Ethernet switch. >>> ovs-vsctl add-br br0 >>> ovs-vsctl add-port br0 veth2.0 >>> ovs-vsctl add-port br0 veth2.1 >>> >>> I am a little bit confused here. I original thought there should be a >>> program running (or at least something stored) in VM2 so that VM2 can >>> emulate an Ethernet switch. It looks that the bridge representing the >>> switch is created outside VMs. So if I want to emulate 10 switches, >>> does that mean all the flow tables are stored and managed in a central >>> place outside VMs? If so, what is the usage of having VM2 here? >>> >>> I know mininet uses openvswitch and VMs (they use linux container) are >>> created for Ethernet switch respectively. I think I probably >>> misunderstand something here. Could someone kindly advise? >>> >>> thanks in advance. >>> >>> kevin >>> _______________________________________________ >>> discuss mailing list >>> discuss@openvswitch.org >>> http://openvswitch.org/mailman/listinfo/discuss >> _______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss