Hi, You problem is here:
atlas:~# ip maddr
2: dummy0
link 01:00:5e:00:00:01
3: eth0
link 01:00:5e:00:00:01
4: xen-br0
link 01:00:5e:00:00:01
You cannot have same mac on different interfaces.
You must know the ISO stack
level 1 - the wire
level 2 - the logical control level (mac address)
level 3 - the network (tcp/ip)
level 4 and so on ....
The packet go on the wire , looks for the right physical address (or
media address or mac address) then the packet go trought the tcp
stack.
You must assign a differen mac address to each interface!
Sorry for my bad English but I know deeply only French and Italian
regards
luca
On 10/28/05, Patrick Deelman <p.deelman@xxxxxxxxx> wrote:
> Hi,
>
> I'm trying to run a domU with 2 nics. So i created 2 bridges and a
> dummy device to let my new bridge talk to. The whole point is to do
> administrative tasks on the domU without doing extra traffic for my
> users on the public nic.
>
> When i'm running with just one vif per domU everything runs fine,
> until i add a second bridge. All traffic is halted on the returnpath
> from xen-br0 to eth0 (see tcpdump, below)
>
> So traffic from the outside only works with 1 vif per domU
> When running with 2 vifs per domain i can ping from my dom0, but not
> really usefull, because those domU's won't make sense then.
>
> Maybe the solution is really simple, but since i worked on this for
> some time now, i've lost my patience :) Ow and all public ip's are masked
> just because i don't like my IP be listed in all kind of groups :)
>
> Without further ado, i give you my dumps and such
>
> ----------------------------------------------------------------------
> The setup.
> ----------------------------------------------------------------------
>
> ---------
> | winxp |
> ---------
> | /------ dom0 name : atlas
> / eth0 : 192.168.0.180
> | / dummy0: x.x.123.4
> ---------/
> | atlas |
> | xen | \
> --------- ------- domU name : baseinstall
> eth0 : x.x.123.9
> eth1 : 192.168.0.181
>
>
> ----------------------------------------------------------------------
> All info i can give right now with domU running only one vif
> This works fine. Pinging from the win-box gives replies
> basic config on the domU part. (based on xmexample1)
> ----------------------------------------------------------------------
>
> atlas:~# ip route
> x.x.123.0/26 dev dummy0 proto kernel scope link src x.x.123.4
> 192.168.0.0/24 dev xen-br0 proto kernel scope link src 192.168.0.180
> default via 192.168.0.50 dev xen-br0
>
> atlas:~# ip addr
> 1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
> link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
> inet 127.0.0.1/8 scope host lo
> 2: dummy0: <BROADCAST,NOARP,UP> mtu 1500 qdisc noqueue
> link/ether 9e:59:f0:3c:81:8f brd ff:ff:ff:ff:ff:ff
> inet x.x.123.4/26 brd x.x.123.63 scope global dummy0
> 3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
> link/ether 00:50:bf:d6:57:38 brd ff:ff:ff:ff:ff:ff
> inet 192.168.0.180/24 brd 192.168.0.255 scope global eth0
> 4: xen-br0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue
> link/ether 00:50:bf:d6:57:38 brd ff:ff:ff:ff:ff:ff
> inet 192.168.0.180/32 brd 192.168.0.255 scope global xen-br0
> 5: vif1.0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue
> link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
>
> atlas:~# brctl show
> bridge name bridge id STP enabled interfaces
> xen-br0 8000.0050bfd65738 no eth0
> vif1.0
>
> atlas:~# route -n
> Kernel IP routing table
> Destination Gateway Genmask Flags Metric Ref Use Iface
> x.x.123.0 0.0.0.0 255.255.255.192 U 0 0 0 dummy0
> 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0
> xen-br0
> 0.0.0.0 192.168.0.50 0.0.0.0 UG 0 0 0
> xen-br0
>
> atlas:~# brctl showmacs xen-br0
> port no mac addr is local? ageing timer
> 1 00:0b:6a:ad:02:c7 no 128.44
> 1 00:0c:76:56:b4:c7 no 162.03
> 1 00:0e:50:3d:9d:17 no 185.88
> 1 00:0e:a6:23:b9:ad no 0.00
> 1 00:0e:a6:23:d4:4f no 138.53
> 1 00:10:60:38:81:fc no 38.61
> 1 00:50:bf:d6:57:38 yes 0.00
> 2 aa:00:00:45:f7:1b no 185.88
> 2 fe:ff:ff:ff:ff:ff yes 0.00
>
> atlas:~# ifconfig
> dummy0 Link encap:Ethernet HWaddr 9E:59:F0:3C:81:8F
> inet addr:x.x.123.4 Bcast:x.x.123.63 Mask:255.255.255.192
> UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
> RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
>
> eth0 Link encap:Ethernet HWaddr 00:50:BF:D6:57:38
> inet addr:192.168.0.180 Bcast:192.168.0.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:356 errors:0 dropped:0 overruns:0 frame:0
> TX packets:437 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:1000
> RX bytes:38274 (37.3 KiB) TX bytes:41424 (40.4 KiB)
> Interrupt:9 Base address:0xa400
>
> lo Link encap:Local Loopback
> inet addr:127.0.0.1 Mask:255.0.0.0
> UP LOOPBACK RUNNING MTU:16436 Metric:1
> RX packets:684 errors:0 dropped:0 overruns:0 frame:0
> TX packets:684 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:39203 (38.2 KiB) TX bytes:39203 (38.2 KiB)
>
> vif1.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:26 errors:0 dropped:0 overruns:0 frame:0
> TX packets:54 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:3567 (3.4 KiB) TX bytes:5964 (5.8 KiB)
>
> xen-br0 Link encap:Ethernet HWaddr 00:50:BF:D6:57:38
> inet addr:192.168.0.180 Bcast:192.168.0.255 Mask:255.255.255.255
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:325 errors:0 dropped:0 overruns:0 frame:0
> TX packets:403 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:29849 (29.1 KiB) TX bytes:35669 (34.8 KiB)
>
>
> atlas:~# ip maddr
> 2: dummy0
> link 01:00:5e:00:00:01
> 3: eth0
> link 01:00:5e:00:00:01
> 4: xen-br0
> link 01:00:5e:00:00:01
>
>
> ----------------------------------------------------------------------
> All info with domU running with 2 vifs. Also note the 2 bridges
> and the dummy0 interface.
> when i try to ping the domU from the winbox. It just failes.
> ----------------------------------------------------------------------
>
> I modified my domU config file like so: (only relevant parts)
>
> nics=2
> vif = ['bridge=xen-loc', 'bridge=xen-br0' ]
>
> I modified the network script like so, to support the 2 bridges
> The excisting script no resides as network.xen (which is called from this
> file)
> I copied this example from: http://julien.danjou.info/xen.html
>
> atlas:~# cat /etc/xen/scripts/network
> #!/bin/sh
> set -e
>
> OP=$1
> shift
>
> script=/etc/xen/scripts/network.xen
>
> case ${OP} in
> start)
> $script start bridge=xen-br0 netdev=eth0
> $script start bridge=xen-loc netdev=dummy0
> ;;
> stop)
> $script start bridge=xen-br0 netdev=eth0
> $script start bridge=xen-loc netdev=dummy0
> ;;
> *)
> echo 'Unknown command: ' ${OP}
> echo 'Valid commands are: start, stop'
> exit 1
> esac
>
>
> atlas:~# ip route
> x.x.123.0/26 dev xen-loc proto kernel scope link src x.x.123.4
> 192.168.0.0/24 dev xen-br0 proto kernel scope link src 192.168.0.180
> default via 192.168.0.50 dev xen-br0
>
> atlas:~# ip addr
> 1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
> link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
> inet 127.0.0.1/8 scope host lo
> 2: dummy0: <BROADCAST,NOARP,UP> mtu 1500 qdisc noqueue
> link/ether 3e:8a:bf:84:29:10 brd ff:ff:ff:ff:ff:ff
> inet x.x.123.4/26 brd x.x.123.63 scope global dummy0
> 3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
> link/ether 00:50:bf:d6:57:38 brd ff:ff:ff:ff:ff:ff
> inet 192.168.0.180/24 brd 192.168.0.255 scope global eth0
> 4: xen-br0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue
> link/ether 00:50:bf:d6:57:38 brd ff:ff:ff:ff:ff:ff
> inet 192.168.0.180/32 brd 192.168.0.255 scope global xen-br0
> 5: xen-loc: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue
> link/ether 3e:8a:bf:84:29:10 brd ff:ff:ff:ff:ff:ff
> inet x.x.123.4/32 brd x.x.123.63 scope global xen-loc
> 6: vif1.0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue
> link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
> 7: vif1.1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue
> link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
>
> atlas:~# brctl show
> bridge name bridge id STP enabled interfaces
> xen-br0 8000.0050bfd65738 no eth0
> vif1.1
> xen-loc 8000.3e8abf842910 no dummy0
> vif1.0
>
> atlas:~# route -n
> Kernel IP routing table
> Destination Gateway Genmask Flags Metric Ref Use Iface
> x.x.123.0 0.0.0.0 255.255.255.192 U 0 0 0 xen-loc
> 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0
> xen-br0
> 0.0.0.0 192.168.0.50 0.0.0.0 UG 0 0 0
> xen-br0
>
> atlas:~# brctl showmacs xen-br0
> port no mac addr is local? ageing timer
> 1 00:0e:50:3d:9d:17 no 87.86
> 1 00:0e:a6:23:b9:ad no 0.00
> 1 00:0e:a6:23:d4:4f no 112.76
> 1 00:50:bf:d6:57:38 yes 0.00
> 2 aa:00:00:64:e1:d7 no 108.50
> 2 fe:ff:ff:ff:ff:ff yes 0.00
>
> atlas:~# brctl showmacs xen-loc
> port no mac addr is local? ageing timer
> 1 3e:8a:bf:84:29:10 yes 0.00
> 2 aa:00:00:64:e1:d7 no 78.24
> 2 fe:ff:ff:ff:ff:ff yes 0.00
>
>
> atlas:~# ifconfig
> dummy0 Link encap:Ethernet HWaddr 3E:8A:BF:84:29:10
> inet addr:x.x.123.4 Bcast:x.x.123.63 Mask:255.255.255.192
> UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
> RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:0 (0.0 b) TX bytes:1876 (1.8 KiB)
>
> eth0 Link encap:Ethernet HWaddr 00:50:BF:D6:57:38
> inet addr:192.168.0.180 Bcast:192.168.0.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:159 errors:0 dropped:0 overruns:0 frame:0
> TX packets:207 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:1000
> RX bytes:16966 (16.5 KiB) TX bytes:19507 (19.0 KiB)
> Interrupt:9 Base address:0xa400
>
> lo Link encap:Local Loopback
> inet addr:127.0.0.1 Mask:255.0.0.0
> UP LOOPBACK RUNNING MTU:16436 Metric:1
> RX packets:828 errors:0 dropped:0 overruns:0 frame:0
> TX packets:828 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:47336 (46.2 KiB) TX bytes:47336 (46.2 KiB)
>
> vif1.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:42 errors:0 dropped:0 overruns:0 frame:0
> TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:1876 (1.8 KiB) TX bytes:280 (280.0 b)
>
> vif1.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:3 errors:0 dropped:0 overruns:0 frame:0
> TX packets:6 errors:0 dropped:1 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:182 (182.0 b) TX bytes:326 (326.0 b)
>
> xen-br0 Link encap:Ethernet HWaddr 00:50:BF:D6:57:38
> inet addr:192.168.0.180 Bcast:192.168.0.255 Mask:255.255.255.255
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:149 errors:0 dropped:0 overruns:0 frame:0
> TX packets:199 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:13668 (13.3 KiB) TX bytes:18129 (17.7 KiB)
>
> xen-loc Link encap:Ethernet HWaddr 3E:8A:BF:84:29:10
> inet addr:x.x.123.4 Bcast:x.x.123.63 Mask:255.255.255.255
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:42 errors:0 dropped:0 overruns:0 frame:0
> TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:1288 (1.2 KiB) TX bytes:280 (280.0 b)
>
> atlas:~# ip maddr
> 2: dummy0
> link 01:00:5e:00:00:01
> 3: eth0
> link 01:00:5e:00:00:01
> 4: xen-br0
> link 01:00:5e:00:00:01
> 5: xen-loc
> link 01:00:5e:00:00:01
>
> ----------------------------------------------------------------------
> tcpdumps with 2 running vifs. All packets travel the right way
> except on the way back from xen-br0 to eth0. There it failes.
> ----------------------------------------------------------------------
>
> running ping 192.168.0.181 from external box (winxp)
>
> atlas:~# tcpdump 'icmp or arp' -n -i eth0
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
> 18:48:28.875891 arp who-has 192.168.0.181 tell 192.168.0.52
> 18:48:28.877460 arp reply 192.168.0.181 is-at aa:00:00:64:e1:d7
> 18:48:28.877506 IP 192.168.0.52 > 192.168.0.181: icmp 40: echo request seq
> 22272
> 18:48:34.117703 IP 192.168.0.52 > 192.168.0.181: icmp 40: echo request seq
> 22528
> 18:48:34.117955 arp who-has 192.168.0.52 tell 192.168.0.181
> 18:48:34.118032 arp reply 192.168.0.52 is-at 00:0e:a6:23:b9:ad
> 18:48:39.586215 IP 192.168.0.52 > 192.168.0.181: icmp 40: echo request seq
> 22784
> 18:48:45.039124 IP 192.168.0.52 > 192.168.0.181: icmp 40: echo request seq
> 23040
>
>
> atlas:~# tcpdump 'icmp or arp' -n -i xen-br0
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on xen-br0, link-type EN10MB (Ethernet), capture size 96 bytes
> 18:49:41.755115 IP 192.168.0.52 > 192.168.0.181: icmp 40: echo request seq
> 23296
> 18:49:41.755388 IP 192.168.0.181 > 192.168.0.52: icmp 40: echo reply seq 23296
> 18:49:44.308907 arp who-has 192.168.0.50 tell 192.168.0.53
> 18:49:46.754424 arp who-has 192.168.0.52 tell 192.168.0.181
> 18:49:46.754548 arp reply 192.168.0.52 is-at 00:0e:a6:23:b9:ad
> 18:49:47.005364 IP 192.168.0.52 > 192.168.0.181: icmp 40: echo request seq
> 23552
> 18:49:47.005502 IP 192.168.0.181 > 192.168.0.52: icmp 40: echo reply seq 23552
> 18:49:52.442648 IP 192.168.0.52 > 192.168.0.181: icmp 40: echo request seq
> 23808
> 18:49:52.442881 IP 192.168.0.181 > 192.168.0.52: icmp 40: echo reply seq 23808
> 18:49:57.911188 IP 192.168.0.52 > 192.168.0.181: icmp 40: echo request seq
> 24064
> 18:49:57.911416 IP 192.168.0.181 > 192.168.0.52: icmp 40: echo reply seq 24064
> 18:50:01.313560 arp who-has 192.168.0.29 tell 192.168.0.29
>
>
> tcpdump: WARNING: vif1.1: no IPv4 address assigned
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on vif1.1, link-type EN10MB (Ethernet), capture size 96 bytes
> 18:50:32.891190 IP 192.168.0.52 > 192.168.0.181: icmp 40: echo request seq
> 24576
> 18:50:32.891465 IP 192.168.0.181 > 192.168.0.52: icmp 40: echo reply seq 24576
> 18:50:38.222152 IP 192.168.0.52 > 192.168.0.181: icmp 40: echo request seq
> 24832
> 18:50:38.222344 IP 192.168.0.181 > 192.168.0.52: icmp 40: echo reply seq 24832
> 18:50:43.721882 IP 192.168.0.52 > 192.168.0.181: icmp 40: echo request seq
> 25088
> 18:50:43.722039 IP 192.168.0.181 > 192.168.0.52: icmp 40: echo reply seq 25088
> 18:50:49.174790 IP 192.168.0.52 > 192.168.0.181: icmp 40: echo request seq
> 25344
> 18:50:49.174960 IP 192.168.0.181 > 192.168.0.52: icmp 40: echo reply seq 25344
>
>
> _______________________________________________
> Xen-users mailing list
> Xen-users@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-users
>
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
|