Problem Description:
In the configuration below, xen is booted in a bridge configuration with
firewalls disabled and forwarding enabled, which is what I want for
layer 2 testing. The output below illustrates what happens on a ping
from the Virtual Router to the traffic generator. The results are the
same when the ping originates from the traffic generator. You can see
the ICMP request pass from vif1.0, across the eth2 bridge and finally
across the peth2 nic i/f. You can then see the reply packet returned
from the traffic generator, pass through peth2 then arrive at eth2 at
which point the bridge appears to send an arp request to vif1.0 to
resolve the 1.7.0.3 destination address on Virtual Router. This occurs
despite the fact the arp entry for 1.7.0.3 was manually added to the arp
table and exists when the request is made. Virtual Router sends its
response to the arp request, which shows up on the vif1.0 trace. The
packet is never forwarded to 1.7.0.3 and the ''destination
unreachable''
message is sent by linux as a reply from 1.3.0.1 to the traffic
generator at 1.3.0.2. This really seems to be a configuration issue at
the bridge, but I have sort of run out of ideas at the moment.
Topology:
Traffic | Linux Dom0 | Virt Router
Gen | |
| Intel 82576 Bridge Virtual I/F |
| |
1.3.0.2 ----- 1.3.0.1 -----eth2----- 1.7.0.1 ---------1.7.0.3
| peth2 vif1.0 | Eth0/0
| |
1.5.0.2 -------1.5.0.1 ----- eth3-----1.9.0.1 ----------1.9.0.3
| peth3 vif1.1 | Eth1/0
[root@localhost vr]# brctl show
bridge name bridge id STP enabled interfaces
eth2 8000.001b21242104 no vif1.0
peth2
eth3 8000.001b21242105 no vif1.1
peth3
[root@localhost vr]# arp -v
Address HWtype HWaddress Flags Mask
Iface
1.3.0.2 ether 00:10:94:00:00:02 C
eth2
192.168.102.65 ether 00:1C:F6:85:99:71 C
eth0
1.7.0.3 * * MP
vif1.0
1.5.0.2 * * MP
eth3
1.9.0.3 * * MP
vif1.1
Ping is sent from Virtual Router 1.7.0.3:
(vif1.0 trace)
[root@localhost vr]# tcpdump -i 2 tcpdump: verbose output suppressed,
use -v or -vv for full protocol decode
listening on vif1.0, link-type EN10MB (Ethernet), capture size 96 bytes
15:54:58.004454
15:55:08.004507
15:55:13.256470 IP 1.7.0.3 > 1.3.0.2: ICMP echo request, id 16, seq 0,
length 80
15:55:13.261149 arp who-has 1.7.0.3 tell 1.7.0.1
15:55:13.264651 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:14.261145 arp who-has 1.7.0.3 tell 1.7.0.1
15:55:14.264040 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:15.002408 IP 1.7.0.3 > 1.3.0.2: ICMP echo request, id 16, seq 1,
length 80
15:55:15.261237 arp who-has 1.7.0.3 tell 1.7.0.1
15:55:15.263594 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:17.001942 IP 1.7.0.3 > 1.3.0.2: ICMP echo request, id 16, seq 2,
length 80
15:55:17.011211 arp who-has 1.7.0.3 tell 1.7.0.1
15:55:17.014329 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:18.005692
15:55:18.011224 arp who-has 1.7.0.3 tell 1.7.0.1
15:55:18.013886 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:19.001560 IP 1.7.0.3 > 1.3.0.2: ICMP echo request, id 16, seq 3,
length 80
15:55:19.011189 arp who-has 1.7.0.3 tell 1.7.0.1
15:55:19.013990 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:21.000988 IP 1.7.0.3 > 1.3.0.2: ICMP echo request, id 16, seq 4,
length 80
15:55:21.011187 arp who-has 1.7.0.3 tell 1.7.0.1
15:55:21.013402 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:22.011245 arp who-has 1.7.0.3 tell 1.7.0.1
15:55:22.013058 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:23.011214 arp who-has 1.7.0.3 tell 1.7.0.1
15:55:23.013193 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
(peth2 trace)
[root@localhost vr]# tcpdump -i 4
tcpdump: WARNING: peth2: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol
decode
listening on peth2, link-type EN10MB (Ethernet), capture size 96 bytes
15:55:13.256497 IP 1.7.0.3 > 1.3.0.2: ICMP echo request, id 16, seq 0,
length 80
15:55:13.256785 IP 1.3.0.2 > 1.7.0.3: ICMP echo reply, id 16, seq 0,
length 80
15:55:15.002427 IP 1.7.0.3 > 1.3.0.2: ICMP echo request, id 16, seq 1,
length 80
15:55:15.002665 IP 1.3.0.2 > 1.7.0.3: ICMP echo reply, id 16, seq 1,
length 80
15:55:16.261339 IP 1.3.0.1 > 1.3.0.2: ICMP host 1.7.0.3 unreachable,
length 108
15:55:16.261347 IP 1.3.0.1 > 1.3.0.2: ICMP host 1.7.0.3 unreachable,
length 108
15:55:17.001960 IP 1.7.0.3 > 1.3.0.2: ICMP echo request, id 16, seq 2,
length 80
15:55:17.002207 IP 1.3.0.2 > 1.7.0.3: ICMP echo reply, id 16, seq 2,
length 80
15:55:18.256067 arp who-has 1.3.0.1 tell 1.3.0.2
15:55:18.256082 arp reply 1.3.0.1 is-at 00:1b:21:24:21:04 (oui Unknown)
15:55:19.001577 IP 1.7.0.3 > 1.3.0.2: ICMP echo request, id 16, seq 3,
length 80
15:55:19.001834 IP 1.3.0.2 > 1.7.0.3: ICMP echo reply, id 16, seq 3,
length 80
15:55:20.011308 IP 1.3.0.1 > 1.3.0.2: ICMP host 1.7.0.3 unreachable,
length 108
15:55:20.011316 IP 1.3.0.1 > 1.3.0.2: ICMP host 1.7.0.3 unreachable,
length 108
15:55:21.001005 IP 1.7.0.3 > 1.3.0.2: ICMP echo request, id 16, seq 4,
length 80
15:55:21.001237 IP 1.3.0.2 > 1.7.0.3: ICMP echo reply, id 16, seq 4,
length 80
15:55:24.011181 IP 1.3.0.1 > 1.3.0.2: ICMP host 1.7.0.3 unreachable,
length 108
15:55:25.011241 arp who-has 1.3.0.2 tell 1.3.0.1
15:55:25.011438 arp reply 1.3.0.2 is-at 00:10:94:00:00:02 (oui Unknown)
15:55:25.012261 arp reply 1.3.0.2 is-at 00:10:94:00:00:02 (oui Unknown)
(eth2 trace)
[root@localhost vr]# tcpdump -i 5
tcpdump: verbose output suppressed, use -v or -vv for full protocol
decode
listening on eth2, link-type EN10MB (Ethernet), capture size 96 bytes
15:55:13.256470 IP 1.7.0.3 > 1.3.0.2: ICMP echo request, id 16, seq 0,
length 80
15:55:13.256785 IP 1.3.0.2 > 1.7.0.3: ICMP echo reply, id 16, seq 0,
length 80
15:55:13.264651 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:14.264040 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:15.002408 IP 1.7.0.3 > 1.3.0.2: ICMP echo request, id 16, seq 1,
length 80
15:55:15.002665 IP 1.3.0.2 > 1.7.0.3: ICMP echo reply, id 16, seq 1,
length 80
15:55:15.263594 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:16.261331 IP 1.3.0.1 > 1.3.0.2: ICMP host 1.7.0.3 unreachable,
length 108
15:55:16.261346 IP 1.3.0.1 > 1.3.0.2: ICMP host 1.7.0.3 unreachable,
length 108
15:55:17.001942 IP 1.7.0.3 > 1.3.0.2: ICMP echo request, id 16, seq 2,
length 80
15:55:17.002207 IP 1.3.0.2 > 1.7.0.3: ICMP echo reply, id 16, seq 2,
length 80
15:55:17.014329 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:18.005692
15:55:18.013886 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:18.256067 arp who-has 1.3.0.1 tell 1.3.0.2
15:55:18.256079 arp reply 1.3.0.1 is-at 00:1b:21:24:21:04 (oui Unknown)
15:55:19.001560 IP 1.7.0.3 > 1.3.0.2: ICMP echo request, id 16, seq 3,
length 80
15:55:19.001834 IP 1.3.0.2 > 1.7.0.3: ICMP echo reply, id 16, seq 3,
length 80
15:55:19.013990 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:20.011302 IP 1.3.0.1 > 1.3.0.2: ICMP host 1.7.0.3 unreachable,
length 108
15:55:20.011315 IP 1.3.0.1 > 1.3.0.2: ICMP host 1.7.0.3 unreachable,
length 108
15:55:21.000988 IP 1.7.0.3 > 1.3.0.2: ICMP echo request, id 16, seq 4,
length 80
15:55:21.001237 IP 1.3.0.2 > 1.7.0.3: ICMP echo reply, id 16, seq 4,
length 80
15:55:21.013402 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:22.013058 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:23.013193 arp reply 1.7.0.3 is-at 00:16:3e:08:1c:9c (oui Unknown)
15:55:24.011175 IP 1.3.0.1 > 1.3.0.2: ICMP host 1.7.0.3 unreachable,
length 108
15:55:25.011235 arp who-has 1.3.0.2 tell 1.3.0.1
15:55:25.011438 arp reply 1.3.0.2 is-at 00:10:94:00:00:02 (oui Unknown)
15:55:25.012261 arp reply 1.3.0.2 is-at 00:10:94:00:00:02 (oui Unknown
[root@localhost vr]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:15:17:46:EF:CA
inet addr:192.168.102.94 Bcast:192.168.102.95
Mask:255.255.255.224
inet6 addr: fe80::215:17ff:fe46:efca/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:9075 errors:0 dropped:0 overruns:0 frame:0
TX packets:5180 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:1644721 (1.5 MiB) TX bytes:810984 (791.9 KiB)
Base address:0x2020 Memory:98820000-98840000
eth2 Link encap:Ethernet HWaddr 00:1B:21:24:21:04
inet addr:1.3.0.1 Bcast:1.3.0.255 Mask:255.255.255.0
inet6 addr: fe80::21b:21ff:fe24:2104/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:429 errors:0 dropped:0 overruns:0 frame:0
TX packets:158 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:30865 (30.1 KiB) TX bytes:21598 (21.0 KiB)
eth3 Link encap:Ethernet HWaddr 00:1B:21:24:21:05
inet addr:1.5.0.1 Bcast:1.5.0.255 Mask:255.255.255.0
inet6 addr: fe80::21b:21ff:fe24:2105/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:71 errors:0 dropped:0 overruns:0 frame:0
TX packets:57 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8500 (8.3 KiB) TX bytes:10139 (9.9 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:964 (964.0 b) TX bytes:964 (964.0 b)
peth2 Link encap:Ethernet HWaddr 00:1B:21:24:21:04
inet6 addr: fe80::21b:21ff:fe24:2104/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:143 errors:0 dropped:0 overruns:0 frame:0
TX packets:299 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12904 (12.6 KiB) TX bytes:43150 (42.1 KiB)
peth3 Link encap:Ethernet HWaddr 00:1B:21:24:21:05
inet6 addr: fe80::21b:21ff:fe24:2105/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:31 errors:0 dropped:0 overruns:0 frame:0
TX packets:145 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2420 (2.3 KiB) TX bytes:25561 (24.9 KiB)
vif1.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
inet addr:1.7.0.1 Bcast:1.255.255.255 Mask:255.0.0.0
inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1726 errors:0 dropped:0 overruns:0 frame:0
TX packets:183 errors:0 dropped:16 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:87769 (85.7 KiB) TX bytes:10749 (10.4 KiB)
vif1.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
inet addr:1.9.0.1 Bcast:1.9.0.255 Mask:255.255.255.0
inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1527 errors:0 dropped:0 overruns:0 frame:0
TX packets:29 errors:0 dropped:17 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:75672 (73.8 KiB) TX bytes:4214 (4.1 KiB)
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel