Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Feb 2005 23:42:06 +0100
From:      Rickard =?ISO-8859-1?Q?Borgm=E4ster?= <doktorn@sub.nu>
To:        freebsd-net@freebsd.org
Subject:   Bridge problem and replies with bad MAC Adress [5.3R]
Message-ID:  <20050213234206.357ce9d7.doktorn@sub.nu>

next in thread | raw e-mail | index | archive | help
Hi,

I'm trying to set up a bridge on FBSD 5.3-RELEASE with Generic kernel.
I want to bridge re0 and xl0, so I've done this:
sysctl net.link.ether.bridge.config="re0,xl0"
sysctl net.link.ether.bridge.enable=1

re0 has IP adress set while xl0 do not. Both of these interfaces has
Windows XP computers with DHCP enabled. DHCP is served by FreeBSD host,
and works just fine for both segments.

Connectivity between segments is also fine. Ping from a host on xl0
segment to re0 segment, and vice versa, is successful.

However, while host on re0 segment can communicate with FreeBSD host,
hosts on xl0 segment cannot.

Interface setup:

re0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
        inet6 fe80::209:5bff:fee1:219%re0 prefixlen 64 scopeid 0x1
        inet 10.0.8.46 netmask 0xfffffff0 broadcast 10.0.8.47
        ether 00:09:5b:e1:02:19
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active
xl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        options=9<RXCSUM,VLAN_MTU>
        inet6 fe80::201:2ff:fefa:8431%xl0 prefixlen 64 scopeid 0x2
        ether 00:01:02:fa:84:31
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active

Test host (flugan) on xl0 segment with IP 10.0.8.34 (MAC
00:06:5b:d4:bc:6d) pings
FreeBSD host:

# tcpdump -eni xl0

23:00:04.356411 00:06:5b:d4:bc:6d > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 60: arp who-has 10.0.8.46 tell 10.0.8.34
23:00:04.356457 00:01:02:fa:84:31 > 00:06:5b:d4:bc:6d, ethertype ARP
(0x0806), length 42: arp reply 10.0.8.46 is-at 00:01:02:fa:84:31
23:00:04.356675 00:06:5b:d4:bc:6d > 00:01:02:fa:84:31, ethertype IPv4
(0x0800), length 74: IP 10.0.8.34 > 10.0.8.46: icmp 40: echo request seq
12800
23:00:04.356727 00:09:5b:e1:02:19 > 00:06:5b:d4:bc:6d, ethertype IPv4
(0x0800), length 74: IP 10.0.8.46 > 10.0.8.34: icmp 40: echo reply seq
12800
23:00:09.428029 00:06:5b:d4:bc:6d > 00:01:02:fa:84:31, ethertype IPv4
(0x0800), length 74: IP 10.0.8.34 > 10.0.8.46: icmp 40: echo request seq
13056
23:00:09.428089 00:09:5b:e1:02:19 > 00:06:5b:d4:bc:6d, ethertype IPv4
(0x0800), length 74: IP 10.0.8.46 > 10.0.8.34: icmp 40: echo reply seq
13056

# arp -a
wintendo.realworld.kanin (10.0.8.33) at 00:0f:b5:06:67:1f on re0
[ethernet]
flugan.realworld.kanin (10.0.8.34) at 00:06:5b:d4:bc:6d on re0 [ethernet]
studsboll.realworld.kanin (10.0.8.46) at 00:09:5b:e1:02:19 on re0
permanent [ethernet]

I think this is the problem. When flugan (actually connected on xl0
segment) requests MAC address for 10.0.8.46 (FreeBSD interface re0),
FreeBSD host replies with the MAC address for the xl0 interface.

Altough, when flugan pings FreeBSD host, using the MAC address just
received, FreeBSD host replies using MAC adress of re0 (far side).

I guess the result of this is that the Windows Workstation on xl0 segment
thinks the packet is garbage and discards it. Maybe.

Maybe I've missed something important in my configuration? If this is a
kernel or bridge.ko bug I guess you would know about it already.

Please advice,

Thanks.
-- 

Rickard

                                               .--.        .--.
.----------------------------------------.     |  |        |  | .-.
|           Rickard Borgmäster           |     |  |        |  |/  /
|             doktorn@sub.nu             |   .-^  |  .--.  |     <
|         http://doktorn.sub.nu/         |  (  o  | ( () ) |  |\  \
`----------------------------------------'  `-----'  `--'  `--' `--'




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050213234206.357ce9d7.doktorn>