Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Jan 2016 23:00:43 +0100
From:      =?UTF-8?Q?Olivier_Cochard=2DLabb=C3=A9?= <olivier@cochard.me>
To:        "Alexander V. Chernikov" <melifaro@freebsd.org>
Cc:        Adrian Chadd <adrian.chadd@gmail.com>,  "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>,  "freebsd-wireless@freebsd.org" <freebsd-wireless@freebsd.org>
Subject:   Re: forwarding didn't work if wlan0 is member of a bridge
Message-ID:  <CA%2Bq%2BTcpR=jx00yWf%2Bwovk5a2ptdOPz78bpGVe=shr8N631Cdcw@mail.gmail.com>
In-Reply-To: <1223091452631961@web14j.yandex.ru>
References:  <CA%2Bq%2BTco3MKBvhCQXvVaDkRZQYzX6tye8opD3yKrtnnF3imGDCg@mail.gmail.com> <CA%2Bq%2BTcq-CkyBMxvmWEDu1Ejg_36CDHmhPBE1t7CiV37hDVTvNQ@mail.gmail.com> <CAJ-Vmo=FJGwuaw6y--e3U6GfmtdUo4gnZwvhjeZXGaEmvEj-OQ@mail.gmail.com> <CA%2Bq%2BTcoHXeAmOQ2_-7c0WHMHHB3SvPpGdUiOLteG8tQXxCsQqA@mail.gmail.com> <1223091452631961@web14j.yandex.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jan 12, 2016 at 9:52 PM, Alexander V. Chernikov <
melifaro@freebsd.org> wrote:

>
> Could you show 'netstat -rn' output when one of bridge members is down?
> Btw, I tried to reproduce it today (but, with ix0 instead of wlan0) and I
> wasn't able to trigger the problem.
>
>
=E2=80=8BSure,

here some output with the re1 (member of bridge) unplugged:

root@
=E2=80=8Bfbsd-router
:~ # ifconfig bridge0
bridge0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu
1500
        ether 02:6b:c0:de:b8:00
        inet 1.1.1.1 netmask 0xffffff00 broadcast 1.1.1.255
        nd6 options=3D9<PERFORMNUD,IFDISABLED>
        groups: bridge
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        member: wlan0 flags=3D143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 5 priority 128 path cost 33333
        member: re1 flags=3D143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 2 priority 128 path cost 55

root@
=E2=80=8Bfbsd-router
:~ # ifconfig re1
re1: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0
mtu 1500

options=3D82099<RXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKST=
ATE>
        ether 00:0d:b9:3c:ae:25
        nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (none)
        status: no carrier
root@
=E2=80=8Bfbsd-router=E2=80=8B
:~ # netstat -r
=E2=80=8B4=E2=80=8B
n
Routing tables

Internet:
Destination        Gateway            Flags     Netif Expire
1.0.0.0/24         link#1             U           re0
1.0.0.1            link#1             UHS         lo0
1.1.1.0/24         link#6             U       bridge0
1.1.1.1            link#6             UHS         lo0
127.0.0.1          link#4             UH          lo0

During this "one-member-unplugged", the freebsd-router can still ping each
hosts on different connected interface, it just "refuse" to forward between
its interfaces:

root@fbsd-router:~ # ping 1.1.1.2 (the wireless client connected to wlan0,
member of the bridge0 interface)
PING 1.1.1.2 (1.1.1.2): 56 data bytes
64 bytes from 1.1.1.2: icmp_seq=3D0 ttl=3D64 time=3D4.600 ms
64 bytes from 1.1.1.2: icmp_seq=3D1 ttl=3D64 time=3D5.878 ms
^C
--- 1.1.1.2 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev =3D 4.600/5.239/5.878/0.639 ms
root@fbsd-router:~ # ping 1.0.0.2 (an host on the LAN0)
PING 1.0.0.2 (1.0.0.2): 56 data bytes
64 bytes from 1.0.0.2: icmp_seq=3D0 ttl=3D64 time=3D0.282 ms
64 bytes from 1.0.0.2: icmp_seq=3D1 ttl=3D64 time=3D0.280 ms
^C
--- 1.0.0.2 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev =3D 0.280/0.281/0.282/0.001 ms
root@fbsd-router:~ # arp -na
? (1.1.1.1) at 02:6b:c0:de:b8:00 on bridge0 permanent [bridge]
? (1.1.1.2) at 00:c0:ca:7e:8b:fe on bridge0 expires in 1055 seconds [bridge=
]
? (1.0.0.1) at 00:0d:b9:3c:ae:24 on re0 permanent [ethernet]
? (1.0.0.2) at 0c:c4:7a:6b:a6:d3 on re0 expires in 1106 seconds [ethernet]

=E2=80=8BAnd the wireless client (1.1.1.2) can still ping the fbsd-router b=
ridge
interface (1.1.1.1) too (for answering to the Adrian question).=E2=80=8B

Now I replug re1:

root@fbsd-router:~ # ifconfig re1
re1: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0
mtu 1500

options=3D82099<RXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKST=
ATE>
        ether 00:0d:b9:3c:ae:25
        nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex,master>)
        status: active

and here are netstat output (no changes with previous):

root@fbsd-router:~ # netstat -r4n
Routing tables

Internet:
Destination        Gateway            Flags     Netif Expire
1.0.0.0/24         link#1             U           re0
1.0.0.1            link#1             UHS         lo0
1.1.1.0/24         link#6             U       bridge0
1.1.1.1            link#6             UHS         lo0
127.0.0.1          link#4             UH          lo0

Because you didn't reach to reproduce with ix0 in place of wlan0, I've did
some modification to my bridge setup:
1. In place of using re1+wlan0, I've put re1+re2 in the bridge0. And I've
connected an host on re2: I didn't reach to reproduce the problem too, then=
 I
confirm we didn't have this bug with 2 Ethernet Interfaces.

2. In place of using PCI ath(4) (Atheros 9280), I've plugged an USB rum(4)
(old Ralink) and configured it as wlan0 like was the ath0: the bridge0 was
reverted to re1+wlan0.
And I reach to reproduce the problem with a different wireless card: This
thread seems correctly belong to the "wireless" mailing-list :-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2Bq%2BTcpR=jx00yWf%2Bwovk5a2ptdOPz78bpGVe=shr8N631Cdcw>