Hi, all, I don't have a strong networking background, so I find the traffic flow inside CloudStack sort of difficult for me. Could anyone help me figure out the following traffic flow?
Scenario: Guest A is sending packets to Guest B, A and B are in the same guest network. They have never talked to each other. Router VM (denoted as R) is in the same hypervisor as Guest A is. Case I: Guest B is also in the same hypervisor Since A, B and R are all in the same hypervisor, each of them should have a vnetX interface connecting to the bridge cloudVirBrXXX, thus, Guest A's arp can be answered directly form B over the bridge and later traffic flows smoothly. Case II: B is NOT in the same hypervisor This is where I get confused. Again, A and R each has a vnetX interface connecting to bridge cloudVirBrXXX in hypervisorX. In addition, vlan interface cloud0.XXX should also be in the same bridge. Guest A sends an arp, since B is NOT in this bridge, we should follow the traffic to hypervisorY. 1) The arp packet goes from Guest A's vnetX interface to bridge cloudVirBrXXX in hypervisorX, which then flows to vlan interface cloud0.XXX in the same bridge. 2) Vlan interface cloud0.XXX adds a vlan tag=XXX to the packet and then hand it over to interface cloud0. 3) Interface cloud0 is in bridge cloud0, to which R's link-local interface is also connected. 4) Then what??? Bridge cloud0 has not eth0 connected as its port, how exactly is the packet directed out of the machine? Best regards, Lerry