Thanks a lot Reid. That was one awesome explanation. Few more questions:

1) In the first figure VMs can not communicate with the outside world (except 
using NAT) ?

2) (Sorry if this is very basic stuff) Do the ports have any addresses (like 
MAC or IP) in either physical or real bridges/switches ?

3) Robin said that uplink interface (in this case eth1) doesn't need an IP 
address. Is it true in every scenario or is it specific to this scenario( where 
IP stack would black hole the traffic if it is directed to eth1)

4) What does it mean for a bridge to be standalone mode and what are the other 
possible modes?

Thanks,
Salman

From: [email protected]
Date: Sat, 19 May 2012 13:04:17 -0700
Subject: Re: [ovs-discuss] why vm can't ping host eth1
To: [email protected]
CC: [email protected]; [email protected]

I drew a little ascii art, does this clarify things?
                  Hypervisor

             +--------------------------------------------------------+         
    |                                                         |

     +------ | -- iface <--------------------------------------+       |     |  
     |    eth0                                         |       |

     |       |                                                 |       | 
{network}   |                                                 |       |

     |       |                                                 v       |     |  
     |                                                         |

     +------ | -- iface <------------------------------->  {IP stack}  |        
     |    eth1                                                 |

             |                                                 ^       |        
     |                  bridge br0                     |       |

             |                    +---+                        |       |        
     |                    |   |  (internal)            |       |

             |                    |   +-- port -- iface -------+       |        
     |                    |   |   br0     br0                  |

             |                    |   |                                |        
     |                    |   |                      VM 1      |

             |                    |   |                    +-----+     |        
     |                    |   +-- port -- iface -- |     |     |

             |                    |   |   tap1    tap1     +-----+     |        
     |                    |   |                                |

             |                    |   |                      VM 2      |        
     |                    |   |                    +-----+     |

             |                    |   +-- port -- iface -- |     |     |        
     |                    |   |   tap2    tap2     +-----+     |

             |                    +---+                                |        
     |                                                         |

             +---------------------------------------------------------+



******************************************* user@host$ ovs-vsctl add-port br1 
eth1 *

******************************************
                  Hypervisor

             +--------------------------------------------------------+         
    |                                                         |

     +------ | -- iface <--------------------------------------+       |     |  
     |    eth0                                         |       |

     |       |                                                 |       | 
{network}   |                                                 |       |

     |       |                                                 v       |     |  
     |                                                         |

     +------ | -- iface <---+  X------------------------>  {IP stack}  |        
     |    eth1      |                                          |

             |              |                                  ^       |        
     |              |   bridge br1                     |       |

             |              |     +---+                        |       |        
     |              v     |   |  (internal)            |       |

             |             port --+   +-- port -- iface <------+       |        
     |             eth1   |   |   br1     br1                  |

             |                    |   |                      VM 1      |        
     |                    |   |                    +-----+     |

             |                    |   +-- port -- iface -- |     |     |        
     |                    |   |   tap1    tap1     +-----+     |

             |                    |   |                                |        
     |                    |   |                      VM 2      |

             |                    |   |                    +-----+     |        
     |                    |   +-- port -- iface -- |     |     |

             |                    |   |   tap2    tap2     +-----+     |        
     |                    +---+                                |

             |                                                         |        
     +---------------------------------------------------------+


Non-Effects:IP configuration of eth1 is unchanged

IP configuration of br0 is unchangedRouting table is unchanged


Effects:Traffic routed to eth1 by the IP stack will be blackholed, since it is 
now attached to port eth1

Traffic routed to br0 by the IP stack has eth1 as a potential egress port



Usual Correction:Move IP configuration of eth1 to br1

Remove IP configuration from eth1
Effects:

If bridge br1 is in 'standalone' mode:  - eth1's old IP is reachable from the 
network

  - VM 1 and VM 2 are reachable from the network (and would see eth1's traffic 
as well)

On Fri, May 18, 2012 at 7:19 AM, Salman Malik <[email protected]> wrote:





Thanks Robin and Reid. Its still a little fuzzy to me. Can you suggest some 
pointers which explains the bridge and related interfaces configuration ? 


I have worked for some time with ovs and integration bridge (that ovs manages) 
and I couldn't get my head around the routing mechanism e.g. doing an ifconfig 
would show all the interfaces like br100 and eth1. So is bridge an interface or 
an emulation of a real bridge ? (because I could see a HWaddress associated 
with this bridge/interface... and for some reason I think that each port of 
real bridge should have a MAC/IP associated with it, but I don't know). And 
when we add interface eth1 to br100 as a port, I understand that all the VM 
traffic would now go through eth1 (acting as an uplink, and conveying traffic 
from bridge to real switch and the VMs themselves can get the IP address in the 
same subnet as host itself, right?), but I can't visualize the scenario, given 
the output of ifconfig, brctl show or ovs-vsctl show/ ovs-ofctl show br100.



Any explanation is much appreciated.

Thanks,
Salman


CC: [email protected]; [email protected]


From: [email protected]
Subject: Re: [ovs-discuss] why vm can't ping host eth1
Date: Thu, 17 May 2012 22:31:08 -0700
To: [email protected]



One thing I have seen in the past: if ethX has an ip as well as brX, it usually 
means that routing will try to send traffic out ethX. That traffic will be 
dropped, since brX is now the one hooked up to the ip stack (not ethX).


On May 17, 2555 BE, at 20:49, Robin Wang <[email protected]> wrote:

eth1, sorry for typo mistake.

在 2012-5-18 上午11:48,"Robin Wang" <[email protected]>写道:



Because uplink doesn't need IP address. Here eth0 is used to connect two 
switches, one virtual, one physical. Thanks.

在 2012-5-18 上午10:49,"Salman Malik" <[email protected]>写道:








Hi Dongsheng,

Could you please tell me, why do we need to clear up the eth1 IP address? Does 
it interfere with the bridge ? If yes then how ?




Bridge management is a bit unclear to me so thats why I am asking.

Thanks,
Salman


> From: [email protected]




> Date: Fri, 18 May 2012 10:32:23 +0800
> To: [email protected]
> CC: [email protected]




> Subject: Re: [ovs-discuss] why vm can't ping host eth1
> 
> On Thu, May 17, 2012 at 7:12 PM, yue wang <[email protected]> wrote:



> >

> > i think vm1/vm2/host are connected to each other by OVS, vm and host should 
> > communicate with each other.
> 
> Sure, please see another thread:
> http://openvswitch.org/pipermail/discuss/2012-May/007201.html




> 
> You must clean ALL ip address on eth1, and set the ip address on the
> corresponding bridge device,
> say 'br1', here is a example:
> 
> /usr/bin/ovs-vsctl add-br br1
> /usr/bin/ovs-vsctl add-port br1 eth1




> 
> /sbin/ip addr add ${IP} dev br1
> /sbin/ip link set br1 up
> /sbin/ip address flush dev eth1
> /sbin/ip route replace default via ${GW} # if you have gateway
> corresponding  eth1




> _______________________________________________
> discuss mailing list
> [email protected]


> http://openvswitch.org/mailman/listinfo/discuss


                                          

_______________________________________________

discuss mailing list

[email protected]

http://openvswitch.org/mailman/listinfo/discuss




_______________________________________________
discuss mailing list
[email protected]


http://openvswitch.org/mailman/listinfo/discuss
                                          

                                          
_______________________________________________
discuss mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to