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

Reply via email to