I set up an openstack environment using nova-network with multi_host mode. created network info as below,
root@ubuntu:~# nova network-show e77b754d-5a89-41fd-8c82-69051e69c4ed +---------------------+--------------------------------------+ | Property | Value | +---------------------+--------------------------------------+ | bridge | br100 | | vpn_public_port | None | | dhcp_start | 172.16.10.202 | | bridge_interface | eth0 | | updated_at | None | | id | e77b754d-5a89-41fd-8c82-69051e69c4ed | | cidr_v6 | None | | deleted_at | None | | gateway | 172.16.10.1 | | rxtx_base | None | | label | private | | priority | None | | project_id | None | | vpn_private_address | None | | deleted | 0 | | vlan | None | | broadcast | 172.16.10.207 | | netmask | 255.255.255.248 | | injected | False | | cidr | 172.16.10.200/29 | | vpn_public_address | None | | multi_host | True | | dns2 | None | | created_at | 2014-09-11T07:58:13.000000 | | host | None | | gateway_v6 | None | | netmask_v6 | None | | dns1 | 8.8.4.4 | +---------------------+--------------------------------------+ Note: 172.16.10.1 is the physical gateway route info of the host as below: Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.16.10.1 0.0.0.0 UG 100 0 0 eth1 10.10.100.0 0.0.0.0 255.255.255.0 U 0 0 0 br100 172.16.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 172.16.10.200 0.0.0.0 255.255.255.248 U 0 0 0 br100 three instances has been created as below, root@ubuntu:~# nova list +--------------------------------------+-------+--------+-----------------------+ | ID | Name | Status | Networks | +--------------------------------------+-------+--------+-----------------------+ | 5867fa88-de5c-4656-9811-5c86128b786b | test3 | ACTIVE | private=172.16.10.202 | | 272f8d4f-f924-488b-855f-7f53a2372708 | test4 | ACTIVE | private=172.16.10.204 | | aec01738-996f-42dc-a921-1c859c79ffed | test5 | ACTIVE | private=172.16.10.205 | +--------------------------------------+-------+--------+-----------------------+ ip info of host: root@ubuntu:~# ip a 1: lo: mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet 169.254.169.254/32 scope link lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast master br100 state UP qlen 1000 link/ether 00:1e:67:6a:8b:c9 brd ff:ff:ff:ff:ff:ff inet6 fe80::21e:67ff:fe6a:8bc9/64 scope link valid_lft forever preferred_lft forever 3: eth1: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:1e:67:6a:8b:c8 brd ff:ff:ff:ff:ff:ff inet 172.16.10.16/24 brd 172.16.10.255 scope global eth1 inet6 fe80::21e:67ff:fe6a:8bc8/64 scope link valid_lft forever preferred_lft forever 5: br100: mtu 1500 qdisc noqueue state UP link/ether 00:1e:67:6a:8b:c9 brd ff:ff:ff:ff:ff:ff inet 172.16.10.203/29 brd 172.16.10.207 scope global br100 inet 10.10.100.52/24 brd 10.10.100.255 scope global br100 inet6 fe80::44c7:b4ff:fe0c:3f/64 scope link valid_lft forever preferred_lft forever 6: vnet0: mtu 1500 qdisc pfifo_fast master br100 state UNKNOWN qlen 500 link/ether fe:16:3e:0f:03:49 brd ff:ff:ff:ff:ff:ff inet6 fe80::fc16:3eff:fe0f:349/64 scope link valid_lft forever preferred_lft forever 7: vnet1: mtu 1500 qdisc pfifo_fast master br100 state UNKNOWN qlen 500 link/ether fe:16:3e:b3:d8:a1 brd ff:ff:ff:ff:ff:ff inet6 fe80::fc16:3eff:feb3:d8a1/64 scope link valid_lft forever preferred_lft forever 8: vnet2: mtu 1500 qdisc pfifo_fast master br100 state UNKNOWN qlen 500 link/ether fe:16:3e:0e:7a:0d brd ff:ff:ff:ff:ff:ff inet6 fe80::fc16:3eff:fe0e:7a0d/64 scope link valid_lft forever preferred_lft forever mac table of br100: root@ubuntu:~# brctl showmacs br100 port no mac addr is local? ageing timer 1 00:0c:29:27:9d:7e no 16.79 1 00:0c:29:27:9d:88 no 5.49 1 00:0c:29:58:9a:64 no 31.86 1 00:0c:29:f3:cf:7b no 21.28 1 00:12:7f:7d:37:a1 no 35.54 1 00:14:5e:ac:7c:b5 no 26.20 1 00:14:5e:e8:03:d1 no 13.31 1 00:14:f2:a8:00:81 no 1.11 1 00:1e:67:45:85:ad no 14.02 1 00:1e:67:64:ed:c9 no 10.10 1 00:1e:67:64:ee:a5 no 9.38 1 00:1e:67:6a:8b:c9 yes 0.00 1 00:1e:67:97:17:ee no 52.97 1 52:54:00:01:40:23 no 10.72 1 52:54:00:1c:71:3d no 5.50 1 52:54:00:47:9c:ee no 8.70 1 52:54:00:b8:aa:45 no 9.79 1 52:54:00:ee:60:44 no 7.61 1 5c:f3:fc:00:0e:da no 56.27 1 5c:f3:fc:00:ad:02 no 1.13 1 6c:ae:8b:51:49:12 no 0.64 1 8a:62:65:05:8d:02 no 5.38 1 ae:2a:9d:74:11:03 no 155.47 1 e4:1f:13:75:47:e0 no 8.24 1 e4:1f:13:fc:a8:21 no 176.11 1 fa:16:3e:00:c8:ce no 0.38 1 fa:16:3e:05:61:a3 no 4.29 4 fa:16:3e:0e:7a:0d no 11.35 2 fa:16:3e:0f:03:49 no 9.90 1 fa:16:3e:2c:6c:55 no 24.90 1 fa:16:3e:2d:f0:f0 no 7.40 1 fa:16:3e:3b:35:e1 no 27.88 1 fa:16:3e:3f:1a:0c no 9.18 1 fa:16:3e:49:d6:54 no 10.57 1 fa:16:3e:4a:47:6e no 13.07 1 fa:16:3e:61:d5:0c no 24.14 1 fa:16:3e:6b:89:c1 no 25.96 1 fa:16:3e:85:80:df no 3.74 1 fa:16:3e:8d:a4:da no 28.20 1 fa:16:3e:9f:bb:0c no 13.65 1 fa:16:3e:a6:88:1d no 24.17 3 fa:16:3e:b3:d8:a1 no 6.07 1 fa:16:3e:c8:42:0d no 27.80 1 fa:16:3e:ca:a8:8e no 4.70 1 fa:16:3e:e8:a7:9b no 27.31 4 fe:16:3e:0e:7a:0d yes 0.00 2 fe:16:3e:0f:03:49 yes 0.00 3 fe:16:3e:b3:d8:a1 yes 0.00 arp table of instance test5: [root@test5 ~]# arp -a ? (172.16.10.203) at 00:1e:67:6a:8b:c9 [ether] on eth0 ? (172.16.10.1) at 00:12:7f:7d:37:a1 [ether] on eth0 route info of instance test5 [root@test5 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.10.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 172.16.10.200 0.0.0.0 255.255.255.248 U 1 0 0 eth0 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 0.0.0.0 172.16.10.1 0.0.0.0 UG 0 0 0 eth0 I ping www.sina.com.cn in instances test5(172.16.10.205) [root@test5 ~]# ping www.sina.com.cn PING ara.sina.com.cn (58.63.236.35) 56(84) bytes of data. 64 bytes from 58.63.236.35: icmp_seq=1 ttl=49 time=38.4 ms 64 bytes from 58.63.236.35: icmp_seq=2 ttl=49 time=38.5 ms 64 bytes from 58.63.236.35: icmp_seq=3 ttl=49 time=38.2 ms ^C --- ara.sina.com.cn ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2436ms rtt min/avg/max/mdev = 38.259/38.427/38.536/0.256 ms In my option, the packet will go through as follow, 1. vm eth0 2. br100 3. according the mac table of switch br100, the packet will go through to port 1 the next step has always puzzled me 4. the packet arrived at host eth0. Once the packet arrived eth0, it will be processed by iptables chains, INPUT, PREROUTING, kernel routing, OUTPUT and so on. the destination address is 58.63.236.35, based on the kernel routing table, the packet will be processed by eth1. *In fact, eth0 processes it.*can anyone explain why?? Thanks in advance. <file:///C:/Users/Administrator/AppData/Local/Temp/images.png>
_______________________________________________ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : openstack@lists.openstack.org Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack