----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/15014/ -----------------------------------------------------------
(Updated Oct. 29, 2013, 4:48 p.m.) Review request for cloudstack, Toshiaki Hatano and Yoshikazu Nojima. Changes ------- Updated to validate VNI range isn't used on a different physical network in zone. Tested with VNI 3000-3500 on guest eth0 and VNI 3500-4000 on guest eth2. This failed with "VNI 3500 already exists on another network in zone, please specify a unique range". Changing physical net eth2's range to 3501-4000 was success. Editing ranges similarly throws the error. Bugs: CLOUDSTACK-4967 https://issues.apache.org/jira/browse/CLOUDSTACK-4967 Repository: cloudstack-git Description ------- 1) vxlan will use bridge scheme 'brvx-<vni>'. Multiple physical networks can host guest traffic type with vxlan isolation, so long as they don't use the same VNI range. 2) Guest traffic labels can be physical interface if bridge by given name is not found. Normally we take traffic label name, find the matching bridge, then resolve that to a physical interface. Then we create guest bridges on that interface. Now we can just specify the interface. This patch may need some refinement, but I want to get it to the vxlan devs for review. Diffs (updated) ----- plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java f945b74 plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java 286d0f7 scripts/vm/network/vnet/modifyvxlan.sh a3ec71f server/src/com/cloud/network/NetworkServiceImpl.java cf419f3 Diff: https://reviews.apache.org/r/15014/diff/ Testing ------- I created two physical networks hosting guest traffic, one as a vlan isolation type, the other a vxlan isolation type. The vlan isolation type has traffic label 'cloudbr0', on physical eth0, and the vxlan has traffic label 'eth2' on physical network eth2. This patch would still allow multiple guest networks to use vxlan isolation, just not the same VNI numbers. It doesn't enforce this though. Here they are running side by side: root@devcloud-kvm-u:~# brctl show bridge name bridge id STP enabled interfaces breth0-3905 8000.000c29d82947 no eth0.3905 vnet8 brvx-1213043 8000.a6e6026f7fbb no vnet9 vxlan1213043 brvx-1589169 8000.663d4e875e78 no vnet10 vxlan1589169 cloud0 8000.fe00a9fe0069 no vnet0 vnet2 vnet3 cloudbr0 8000.000c29d82947 no eth0 vnet4 vnet6 cloudbr1 8000.000c29d82951 no eth1 vnet1 vnet5 vnet7 root@devcloud-kvm-u:~/cloudstack# ip -d link show | grep vxlan 56: vxlan1213043: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master brvx-1213043 state UNKNOWN mode DEFAULT group default vxlan id 1213043 group 239.18.130.115 dev eth2 port 32768 61000 ttl 10 ageing 300 59: vxlan1589169: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master brvx-1589169 state UNKNOWN mode DEFAULT group default vxlan id 1589169 group 239.24.63.177 dev eth2 port 32768 61000 ttl 10 ageing 300 62: vxlan1638510: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master brvx-1638510 state UNKNOWN mode DEFAULT group default vxlan id 1638510 group 239.25.0.110 dev eth2 port 32768 61000 ttl 10 ageing 300 root@devcloud-kvm-u:~/cloudstack# ip route show default via 192.168.100.1 dev cloudbr1 metric 100 169.254.0.0/16 dev cloud0 proto kernel scope link src 169.254.0.1 172.17.10.0/24 dev cloudbr0 proto kernel scope link src 172.17.10.10 192.168.100.0/24 dev cloudbr1 proto kernel scope link src 192.168.100.10 239.18.130.115 dev eth2 scope link 239.24.63.177 dev eth2 scope link 239.25.0.110 dev eth2 scope link Thanks, Marcus Sorensen