Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jan 2016 11:01:49 +0100
From:      =?UTF-8?Q?Olivier_Cochard=2DLabb=C3=A9?= <olivier@cochard.me>
To:        "Alexander V. Chernikov" <melifaro@ipfw.ru>
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%2BTcpgA9qpkjyRVyVgh60S%2BUBWeSQa1rVd9%2B_O9OUEAyP1AQ@mail.gmail.com>
In-Reply-To: <2985841452674737@web5h.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> <CA%2Bq%2BTcpR=jx00yWf%2Bwovk5a2ptdOPz78bpGVe=shr8N631Cdcw@mail.gmail.com> <2985841452674737@web5h.yandex.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jan 13, 2016 at 9:45 AM, Alexander V. Chernikov <melifaro@ipfw.ru>
wrote:

>
> I suspect the reason here is link state bridge handling.
> ix0 does not seem to have IFCAP_LINKSTATE option but re(4) does. Probably
> wlan0 doesn't have LINKSTATE option.
> Code in bridge_linkcheck() doesn't handle the case with both "has link
> state" and "no link state" interfaces well:
> if reX is the only interface w/ IFCAP_LINKSTATE and it goes down, bridge
> will also change its link state to down.
> (However, bridge does not seem to have link state option itself, so
> RT_LINK_IS_UP() macro should return true...)
>
>
>
>
=E2=80=8BFor validating your "IFCAP_LINKSTATE" hypothesis, I've plug an USB
ethernet adapter ue(4) that didn't support IFCAP_LINKSTATE.
And I've setup the bridge0 with wlan0 and ue0 (in place of re1): same bug
triggered. I need to =E2=80=8Bplug a cable for correct routing.

=E2=80=8Broot@fbsd-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: ue0 flags=3D143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 7 priority 128 path cost 55
        member: wlan0 flags=3D143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 5 priority 128 path cost 33333
root@fbsd-router:~ # ifconfig ue0
ue0: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0
mtu 1500
        options=3D80008<VLAN_MTU,LINKSTATE>
        ether 00:19:fd:4e:77:4d
        nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (none)
        status: no carrier
=E2=80=8B
=E2=80=8BRegards,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2Bq%2BTcpgA9qpkjyRVyVgh60S%2BUBWeSQa1rVd9%2B_O9OUEAyP1AQ>