[Bridge] [PATCHv3 net-next 2/2] net: Export IGMP/MLD message validation code

2015-05-02 Thread Linus Lüssing
messages is now only done if necessary, just like the IGMP part always did). Finally, these IGMP and MLD message validation functions are exported so that not only the bridge can use it but batman-adv later, too. Signed-off-by: Linus Lüssing --- include/linux/igmp.h |1 + include/linux

[Bridge] [RFC PATCH net-next] bridge: allow setting hash_max + multicast_router if interface is down

2015-05-20 Thread Linus Lüssing
anged even if the according bridge (port) is down, just like other other bridge (port) attributes allow too. Signed-off-by: Linus Lüssing --- I'm currently a little unsure about a few things (that's why I'm sending this as an RFC): * For i=br_multicast_init(), e=br_multic

Re: [Bridge] [RFC PATCH net-next] bridge: allow setting hash_max + multicast_router if interface is down

2015-05-21 Thread Linus Lüssing
On Thu, May 21, 2015 at 11:49:21AM +0800, Herbert Xu wrote: > The timer operations are all supposed to be idempotent. So enabling > a port twice or stopping it twice should be OK. Oki doki. > > > * Might calls to br_multicast_add_router() via br_multicast_enable_port() > > cause unintended si

[Bridge] [PATCH net-next] bridge: allow setting hash_max + multicast_router if interface is down

2015-05-21 Thread Linus Lüssing
anged even if the according bridge (port) is down, just like other other bridge (port) attributes allow too. Signed-off-by: Linus Lüssing --- Changelog: * [RFC PATCH net-next] -> [PATCH net-next] net/bridge/br_multicast.c | 15 ++- 1 file changed, 2 insertions(+), 13 deletions(

[Bridge] [PATCHv2 net-next] bridge: allow setting hash_max + multicast_router if interface is down

2015-05-22 Thread Linus Lüssing
since br_multicast_init() doesn't start any timers and only sets default values and initializes timers it should be save to reconfigure the default values after that, before things actually get active after the bridge is set up. Signed-off-by: Linus Lüssing --- Changelog v2: * remove anothe

[Bridge] [PATCHv3 net-next] bridge: allow setting hash_max + multicast_router if interface is down

2015-05-22 Thread Linus Lüssing
since br_multicast_init() doesn't start any timers and only sets default values and initializes timers it should be save to reconfigure the default values after that, before things actually get active after the bridge is set up. Signed-off-by: Linus Lüssing --- Changelog v3: * Readded two b

Re: [Bridge] [PATCH net] bridge: fix br_multicast_query_expired() bug

2015-05-28 Thread Linus Lüssing
On Thu, May 28, 2015 at 04:42:54AM -0700, Eric Dumazet wrote: > Intent of the code was to clear port field, not the pointer to querier. Acked-by: Linus Lüssing

Re: [Bridge] Multicast packets are not bridged from ethernet to wireless interface

2015-07-31 Thread Linus Lüssing
Hi Saurav, On Fri, Jul 31, 2015 at 03:50:35PM +0530, saurav barik wrote: > I am working on an Access Point device (AP1) running linux kernel 3.0.34 on > which my bridge configuration is as follows. There were quite some crucial bugs, I'm not quite sure whether 3.0.34 was actually usuable for mult

[Bridge] [PATCH] net: fix wrong skb_get() usage / crash in IGMP/MLD parsing code

2015-08-12 Thread Linus Lüssing
ipv6_mc_check_mld() / ip_mc_check_igmp() now needs to additionally check whether the returned skb_trimmed is a clone. Fixes: 9afd85c9e455 ("net: Export IGMP/MLD message validation code") Reported-by: Brenden Blanco Signed-off-by: Linus Lüssing --- net/bridge/br_multicast.c |4 ++--

Re: [Bridge] net: Export IGMP/MLD message validation code

2015-09-07 Thread Linus Lüssing
Hi tpowa, Thanks for your feedback. On Mon, Sep 07, 2015 at 02:46:27PM +0200, Tobias Powalowski wrote: > Hi, > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=9afd85c9e4552b276e2f4cfefd622bdeeffbbf26 > > This commit introduces a weird behaviour on my dlna server. Did

[Bridge] Roaming trouble with bridge & multicast snooping

2015-09-07 Thread Linus Lüssing
Hi bridge folks, I'm currently stuck with a simple scenario where enabling bridge multicast snooping causes packetloss for some time: -- (c) <~~~> (A) <---> (B) (c) is a wifi client, connected to a wifi access point (A). (B) is another AP connected to (A) via ethernet cable. The wifi-ap

Re: [Bridge] net: Export IGMP/MLD message validation code

2015-09-08 Thread Linus Lüssing
Hi Tobias, On Tue, Sep 08, 2015 at 08:36:02AM +0200, Tobias Powalowski wrote: > Am 08.09.2015 um 04:24 schrieb Linus Lüssing: > > Hi tpowa, > > > > Thanks for your feedback. > > > > > > On Mon, Sep 07, 2015 at 02:46:27PM +0200, Tobias Powalowski wrote: &g

Re: [Bridge] Roaming trouble with bridge & multicast snooping

2015-09-10 Thread Linus Lüssing
On Tue, Sep 08, 2015 at 08:52:56AM -0700, Stephen Hemminger wrote: > Why doesn't the client resend a IGMP when it notes > a connection change? > Good question, I actually had expected that too. My guess is that the network stack might be interpreting the RFCs in a "conservative way". RFC3376 ("In

[Bridge] [PATCH net] bridge: fix igmpv3 / mldv2 report parsing

2015-09-11 Thread Linus Lüssing
Tested-by: Tobias Powalowski Signed-off-by: Linus Lüssing --- net/bridge/br_multicast.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index 66efdc2..480b3de 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_m

Re: [Bridge] hw csum failure introduced in linux-4.2

2016-02-12 Thread Linus Lüssing
Hi Alvaro, Did you have a chance to narrow it down to that commit yet? Would be great if you could check whether reverting the following commits helps: c2d4fbd2163e ("bridge: fix igmpv3 / mldv2 report parsing") a516993f0ac1 ("net: fix wrong skb_get() usage / crash in IGMP/MLD parsing code") 9afd8

Re: [Bridge] hw csum failure introduced in linux-4.2

2016-02-14 Thread Linus Lüssing
Ok, was able to borrow a Raspi 2 and indeed I can reproduce the issue there. Reverting these patches helps: On Sat, Feb 13, 2016 at 03:35:28AM +0100, Linus Lüssing wrote: > c2d4fbd2163e ("bridge: fix igmpv3 / mldv2 report parsing") > a516993f0ac1 ("net: fix wrong skb_get()

[Bridge] [PATCH] net: fix bridge multicast packet checksum validation

2016-02-14 Thread Linus Lüssing
sh+0xac/0x51c) [...] Fixes: 9afd85c9e455 ("net: Export IGMP/MLD message validation code") Reported-by: Álvaro Fernández Rojas Signed-off-by: Linus Lüssing --- Steinar, can you check whether this fixes the bridge issues you reported on bugzilla #99081? Not quite sure whether it is the sa

Re: [Bridge] hw csum failure introduced in linux-4.2

2016-02-14 Thread Linus Lüssing
On Sat, Feb 13, 2016 at 03:35:28AM +0100, Linus Lüssing wrote: > PS: 4.4.0 did not have c2d4fb yet, that was added with 4.4.1. While > missing it does cause trouble, it should not cause a csum error. Just for the record: I was wrong here, that patch was part of v4.4 already and even v4.3.

Re: [Bridge] [PATCH] net: fix bridge multicast packet checksum validation

2016-02-18 Thread Linus Lüssing
On Thu, Feb 18, 2016 at 01:51:34PM +0100, Steinar H. Gunderson wrote: > On Mon, Feb 15, 2016 at 03:07:06AM +0100, Linus Lüssing wrote: > > Steinar, can you check whether this fixes the bridge issues you reported on > > bugzilla #99081? Not quite sure whether it is the same as your

[Bridge] [PATCHv2] net: fix bridge multicast packet checksum validation

2016-02-23 Thread Linus Lüssing
lticast_rcv+0x5dc/0xd00) [ 44.060077] [<803b2c98>] (br_multicast_rcv) from [<803aa510>] (br_handle_frame_finish+0xac/0x51c) [...] Fixes: 9afd85c9e455 ("net: Export IGMP/MLD message validation code") Reported-by: Álvaro Fernández Rojas Signed-off-by: Linus Lüssing -

[Bridge] [PATCHv3] net: fix bridge multicast packet checksum validation

2016-02-23 Thread Linus Lüssing
lticast_rcv+0x5dc/0xd00) [ 44.060077] [<803b2c98>] (br_multicast_rcv) from [<803aa510>] (br_handle_frame_finish+0xac/0x51c) [...] Fixes: 9afd85c9e455 ("net: Export IGMP/MLD message validation code") Reported-by: Álvaro Fernández Rojas Signed-off-by: Linus Lüssing --- v3: *

[Bridge] [PATCH net] bridge: fix igmp / mld query parsing

2016-05-03 Thread Linus Lüssing
this by taking the offset between IP and IGMP/MLD header into account, too. Fixes: 9afd85c9e455 ("net: Export IGMP/MLD message validation code") Reported-by: Simon Wunderlich Signed-off-by: Linus Lüssing --- net/bridge/br_multicast.c | 12 +++- 1 file changed, 7 insertions(+), 5

Re: [Bridge] [PATCH net] bridge: fix igmp / mld query parsing

2016-05-04 Thread Linus Lüssing
On Tue, May 03, 2016 at 01:26:23PM -0700, Stephen Hemminger wrote: > On Tue, 3 May 2016 22:18:54 +0200 > Linus Lüssing wrote: > > > diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c > > index 03661d9..7105cdf 100644 > > --- a/net/bridge/br_multi

[Bridge] [PATCHv2 net] bridge: fix igmp / mld query parsing

2016-05-04 Thread Linus Lüssing
this by taking the offset between IP and IGMP/MLD header into account, too. Fixes: 9afd85c9e455 ("net: Export IGMP/MLD message validation code") Reported-by: Simon Wunderlich Signed-off-by: Linus Lüssing --- v2: changed "int" to "unsigned int" net/bridge/br_multicast

Re: [Bridge] [PATCH] Bridge: Fix ipv6 mc snooping if it has no ipv6 address.

2016-06-23 Thread Linus Lüssing
Hi Daniel, Thanks for submitting this patch here :). On Thu, Jun 23, 2016 at 11:28:55AM +0200, daniel wrote: > The bridge is falsly dropping ipv6 mulitcast packets > if there is no ipv6 address assigned on the brigde and no > external mld querier is present. and if the bridge internal querier i

Re: [Bridge] [PATCH net] Bridge: Fix ipv6 mc snooping if bridge has no ipv6 address

2016-06-24 Thread Linus Lüssing
ssinged to the bridge > and returns a false state for the local querier in > __br_multicast_querier_exists(). Acked-by: Linus Lüssing

Re: [Bridge] [PATCH net] Bridge: Fix ipv6 mc snooping if bridge has no ipv6 address

2016-06-25 Thread Linus Lüssing
On Fri, Jun 24, 2016 at 12:35:18PM +0200, Daniel Danzberger wrote: > The bridge is falsly dropping ipv6 mulitcast packets if there is: > 1. No ipv6 address assigned on the brigde. > 2. No external mld querier present. > 3. The internal querier enabled. > > When the bridge fails to build mld que

Re: [Bridge] [PATCH net-next] net: bridge: add support for IGMP/MLD stats and export them via netlink

2016-06-28 Thread Linus Lüssing
On Mon, Jun 27, 2016 at 08:10:48PM +0200, Nikolay Aleksandrov via Bridge wrote: > These are invaluable when monitoring or debugging complex multicast setups > with bridges. Indeed! Great patch :). Especially if people are unable to provide pcap files for debugging (due to whatever reason). Hopeful

Re: [Bridge] [PATCH net] Bridge: Fix ipv6 mc snooping if bridge has no ipv6 address

2016-06-28 Thread Linus Lüssing
On Tue, Jun 28, 2016 at 08:04:42AM -0400, David Miller wrote: > From: Linus Lüssing > [...] > > Fixes: 1d81d4c3dd88 ("bridge: check return value of ipv6_dev_get_saddr()") > > You're missing an initial 'd' in that SHA1-ID. > > With that fixed, app

Re: [Bridge] [PATCH net-next v2 2/2] net: bridge: add per-port multicast flood flag

2016-08-30 Thread Linus Lüssing
On Tue, Aug 30, 2016 at 05:23:08PM +0200, Nikolay Aleksandrov via Bridge wrote: > diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c > index 1da3221845f1..ed0dd3340084 100644 > --- a/net/bridge/br_if.c > +++ b/net/bridge/br_if.c > @@ -362,7 +362,7 @@ static struct net_bridge_port *new_nbp(struct

Re: [Bridge] [PATCH net-next v2 2/2] net: bridge: add per-port multicast flood flag

2016-08-31 Thread Linus Lüssing
On Wed, Aug 31, 2016 at 08:02:22AM +0200, Nikolay Aleksandrov wrote: > On 31/08/16 03:37, Linus Lüssing wrote: > > On Tue, Aug 30, 2016 at 05:23:08PM +0200, Nikolay Aleksandrov via Bridge > > wrote: > >> diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c > >>

Re: [Bridge] Force IGMP membership

2016-11-12 Thread Linus Lüssing
On Fri, Nov 04, 2016 at 08:44:48PM +, Corey Melanson wrote: > After the live migration, multicast traffic to 239.236.15.150 stops as > expected. If I try to manually add the multicast group membership: > # bridge mdb add dev br.128 port vnet3 grp 239.236.15.150 temp > # bridge mdb list |

Re: [Bridge] Force IGMP membership

2016-11-21 Thread Linus Lüssing
On Wed, Nov 16, 2016 at 05:24:36PM +, Corey Melanson wrote: > Please let me know if there is any other information that would be helpful. > > Thank you, > Corey Hi Corey, I tried to reproduce your issue in a similar VM setup, but was unsuccessful so far. For me things seem to work with 4.9-r

[Bridge] [PATCH net-next] bridge: multicast to unicast

2017-01-02 Thread Linus Lüssing
packets than broadcast ones (e.g. wifi). However, it should only be enabled on interfaces where no IGMPv2/MLDv1 report suppression takes place. This feature is disabled by default. The initial patch and idea is from Felix Fietkau. Cc: Felix Fietkau Signed-off-by: Linus Lüssing --- This feature

Re: [Bridge] [PATCH net-next] bridge: multicast to unicast

2017-01-07 Thread Linus Lüssing
On Sat, Jan 07, 2017 at 11:32:57AM +0100, M. Braun wrote: > Am 06.01.2017 um 14:54 schrieb Johannes Berg: > > > >> The bridge layer can use IGMP snooping to ensure that the multicast > >> stream is only transmitted to clients that are actually a member of > >> the group. Can the mac80211 feature d

Re: [Bridge] [PATCH net-next] bridge: multicast to unicast

2017-01-07 Thread Linus Lüssing
On Fri, Jan 06, 2017 at 07:13:56PM -0800, Stephen Hemminger wrote: > On Mon, 2 Jan 2017 20:32:14 +0100 > Linus Lüssing wrote: > > > This feature is intended for interface types which have a more reliable > > and/or efficient way to deliver unicast packets than broadcas

Re: [Bridge] [PATCH net-next] bridge: multicast to unicast

2017-01-07 Thread Linus Lüssing
On Fri, Jan 06, 2017 at 01:47:52PM +0100, Johannes Berg wrote: > How does this compare and/or relate to the multicast-to-unicast feature > we were going to add to the wifi stack, particularly mac80211? Do we > perhaps not need that feature at all, if bridging will have it? > > I suppose that the f

Re: [Bridge] [PATCH net-next] bridge: multicast to unicast

2017-01-09 Thread Linus Lüssing
On Mon, Jan 09, 2017 at 09:05:49AM +0100, Johannes Berg wrote: > On Sat, 2017-01-07 at 16:15 +0100, Linus Lüssing wrote: > > > Actually, I do not quite understand that remark in the mac80211 > > multicast-to-unicast patch. IP should not care about the ethernet > > heade

Re: [Bridge] [PATCH net-next] bridge: multicast to unicast

2017-01-09 Thread Linus Lüssing
On Mon, Jan 09, 2017 at 12:44:19PM +0100, M. Braun wrote: > Am 09.01.2017 um 09:08 schrieb Johannes Berg: > > Does it make sense to implement the two in separate layers though? > > > > Clearly, this part needs to be implemented in the bridge layer due to > > the snooping knowledge, but the code is

Re: [Bridge] [PATCH net-next] bridge: multicast to unicast

2017-01-09 Thread Linus Lüssing
On Mon, Jan 09, 2017 at 10:42:46PM +0100, Johannes Berg wrote: > On Mon, 2017-01-09 at 22:33 +0100, Linus Lüssing wrote: > > On Mon, Jan 09, 2017 at 01:44:03PM +0100, Johannes Berg wrote: > > > > > > > >  A host SHOULD silently discard a datagr

Re: [Bridge] [PATCH net-next] bridge: multicast to unicast

2017-01-09 Thread Linus Lüssing
On Mon, Jan 09, 2017 at 01:30:32PM -0800, Stephen Hemminger wrote: > I wonder if MAC80211 should be doing IGMP snooping and not bridge > in this environment. In the long term, yes. For now, not quite sure. I personally like to go for simple solutions first :).

[Bridge] [PATCH net-next v2] bridge: multicast to unicast

2017-01-17 Thread Linus Lüssing
...@c0d3.blue: various bug + style fixes, commit message] Signed-off-by: Linus Lüssing --- This feature is used and enabled by default in OpenWRT and LEDE for AP interfaces for more than a year now to allow both a more robust multicast delivery and multicast at higher rates (e.g. multicast streaming

[Bridge] [PATCH net-next v3] bridge: multicast to unicast

2017-01-18 Thread Linus Lüssing
+ style fixes, commit message] Signed-off-by: Linus Lüssing --- This feature is used and enabled by default in OpenWRT and LEDE for AP interfaces for more than a year now to allow both a more robust multicast delivery and multicast at higher rates (e.g. multicast streaming). In OpenWRT/LEDE the

[Bridge] [PATCH net-next v4] bridge: multicast to unicast

2017-01-18 Thread Linus Lüssing
...@c0d3.blue: various bug + style fixes, commit message] Signed-off-by: Linus Lüssing --- This feature is used and enabled by default in OpenWRT and LEDE for AP interfaces for more than a year now to allow both a more robust multicast delivery and multicast at higher rates (e.g. multicast streaming

[Bridge] [PATCH net-next v5] bridge: multicast to unicast

2017-01-21 Thread Linus Lüssing
...@c0d3.blue: various bug + style fixes, commit message] Signed-off-by: Linus Lüssing --- This feature is used and enabled by default in OpenWRT and LEDE for AP interfaces for more than a year now to allow both a more robust multicast delivery and multicast at higher rates (e.g. multicast streaming

[Bridge] [PATCH net] ipv6: Fix IPv6 packet loss in scenarios involving roaming + snooping switches

2017-02-02 Thread Linus Lüssing
tch fixes this by always resending MLD reports when an interface change happens, for instance from NO-CARRIER to CARRIER state. Signed-off-by: Linus Lüssing --- Initial problem report was sent to the bridge mailing list a while ago: - https://lists.linuxfoundation.org/pipermail/bridge/2015-Se

[Bridge] [PATCH net] bridge: ebtables: fix reception of frames DNAT-ed to bridge device

2017-03-14 Thread Linus Lüssing
PACKET_OTHERHOST to PACKET_HOST, too. Signed-off-by: Linus Lüssing --- net/bridge/br_input.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c index 013f2290b..ec83175 100644 --- a/net/bridge/br_input.c +++ b/net/bridge/br_i

Re: [Bridge] [PATCH net] bridge: ebtables: fix reception of frames DNAT-ed to bridge device

2017-03-15 Thread Linus Lüssing
On Wed, Mar 15, 2017 at 11:42:11AM +0100, Pablo Neira Ayuso wrote: > I'm missing then why redirect is not then just enough for Linus usecase. For my usecase, the MAC address is configured by the user from a Web-UI. It may or may not be the one from the bridge device. Besides, found it counter int

Re: [Bridge] [PATCH net] bridge: ebtables: fix reception of frames DNAT-ed to bridge device

2017-03-15 Thread Linus Lüssing
On Wed, Mar 15, 2017 at 07:15:39PM +0100, Pablo Neira Ayuso wrote: > Could you update ebtables dnat to check if the ethernet address > matches the one of the input bridge interface, so we mangle the > ->pkt_type accordingly from there, instead of doing this from the > core? Actually, that was the

Re: [Bridge] [PATCH net] bridge: ebtables: fix reception of frames DNAT-ed to bridge device

2017-03-19 Thread Linus Lüssing
On Fri, Mar 17, 2017 at 02:10:44PM +0100, Pablo Neira Ayuso wrote: > Wait. > > May this break local multicast listener that are bound to the bridge > interface? Assuming the bridge interface got an IP address, and that > there is local multicast listener. > > Missing anything here? Hm, for multi

Re: [Bridge] [PATCH net] bridge: ebtables: fix reception of frames DNAT-ed to bridge device

2017-03-20 Thread Linus Lüssing
On Sun, Mar 19, 2017 at 05:55:06PM +0100, Linus Lüssing wrote: > On Fri, Mar 17, 2017 at 02:10:44PM +0100, Pablo Neira Ayuso wrote: > > Wait. > > > > May this break local multicast listener that are bound to the bridge > > interface? Assuming the bridge interface

[Bridge] [PATCH v2] bridge: ebtables: fix reception of frames DNAT-ed to bridge device

2017-03-21 Thread Linus Lüssing
PACKET_OTHERHOST to PACKET_HOST, too. Signed-off-by: Linus Lüssing --- Changelog v2: * refrain from altering pkt_type for multicast packets with a unicast destination MAC --- net/bridge/br_input.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/net/bridge/br_inpu

Re: [Bridge] [PATCH v2] bridge: ebtables: fix reception of frames DNAT-ed to bridge device

2017-04-17 Thread Linus Lüssing
On Tue, Mar 21, 2017 at 04:32:45PM -0700, Stephen Hemminger wrote: > On Tue, 21 Mar 2017 23:28:45 +0100 > Linus Lüssing wrote: > > > However, the IP code drops it in the beginning of ip_input.c/ip_rcv() > > as the dnat target did not update the skb->pkt_type. If after &g

[Bridge] [PATCH net v3] bridge: ebtables: fix reception of frames DNAT-ed to bridge device/port

2017-04-19 Thread Linus Lüssing
nning of ip_input.c/ip_rcv() as the dnat target left the skb->pkt_type as PACKET_OTHERHOST. Fixing this by resetting skb->pkt_type to an appropriate type after dnat'ing. Signed-off-by: Linus Lüssing --- Changelog v3: - moved pkt_type fixup into ebtable dnat code -> v1/v

[Bridge] [PATCH net-next] bridge: ebtables: Avoid resetting limit rule state

2017-11-24 Thread Linus Lüssing
sending packets every 250ms for 600s, with a "--limit 1/sec --limit-burst 50" rule and a command like this in the background: $ ebtables -N VOIDCHAIN $ while true; do ebtables -F VOIDCHAIN; sleep 30; done The results are: Before: ~1600 packets After: 650 packets Signed-off-by: Linus Lüssing

Re: [Bridge] [PATCH net-next] bridge: ebtables: Avoid resetting limit rule state

2017-12-03 Thread Linus Lüssing
Hi Pablo, Thanks for your reply! On Tue, Nov 28, 2017 at 12:30:08AM +0100, Pablo Neira Ayuso wrote: > [...] > > diff --git a/net/bridge/netfilter/ebt_limit.c > > b/net/bridge/netfilter/ebt_limit.c > > index 61a9f1be1263..f74b48633feb 100644 > > --- a/net/bridge/netfilter/ebt_limit.c > > +++ b/ne

Re: [Bridge] [PATCH net-next] bridge: ebtables: Avoid resetting limit rule state

2017-12-03 Thread Linus Lüssing
On Mon, Dec 04, 2017 at 05:53:35AM +0100, Linus Lüssing wrote: > And so, no I do not have this patch. I looked at it now, but it > does not seem to have any relation with .matchinfo, does it? Relation between .usersize and .checkentry I ment, not .usersize and .matchinfo.

Re: [Bridge] [PATCH net-next] bridge: ebtables: Avoid resetting limit rule state

2017-12-07 Thread Linus Lüssing
On Thu, Dec 07, 2017 at 01:26:19AM +0100, Pablo Neira Ayuso wrote: > > I also had a quick look at a 4.15-rc1 kernel in a VM now. I still > > end up in ebt_limit_mt_check() with the variables being reset > > when editing the table somewhere. > > My question is if your fix would work with 4.15-rc1.

Re: [Bridge] [PATCH net-next] bridge: ebtables: Avoid resetting limit rule state

2017-12-07 Thread Linus Lüssing
On Fri, Dec 08, 2017 at 06:46:06AM +0100, Linus Lüssing wrote: > Extending the usersize to include info->prev would probably be too > hackish/ugly, right? And wouldn't be enough anyway, since info->{credit,credit_cap,cost} would still be zeroed... Hm.

Re: [Bridge] Problem with bridge (mcast-to-ucast + hairpin) and Broadcom's 802.11f in their FullMAC fw

2018-03-12 Thread Linus Lüssing
On Tue, Feb 27, 2018 at 11:08:20AM +0100, Rafał Miłecki wrote: > I've problem when using OpenWrt/LEDE on a home router with Broadcom's > FullMAC WiFi chipset. Hi Rafał, Thanks for reporting this issue! > Can you see any solution for this problem? Is that an option to stop > multicast-to-unicast

Re: [Bridge] Problem with bridge (mcast-to-ucast + hairpin) and Broadcom's 802.11f in their FullMAC fw

2018-03-12 Thread Linus Lüssing
On Mon, Mar 12, 2018 at 10:46:45AM +0100, Rafał Miłecki wrote: > On 27 February 2018 at 18:05, Stephen Hemminger [...] > > ebtables is your friend in dealing with weird and broken devices. > > It may be weird, not sure if actually broken. Anyway I'd like to have > some generic solution instead of

Re: [Bridge] Problem with bridge (mcast-to-ucast + hairpin) and Broadcom's 802.11f in their FullMAC fw

2018-03-12 Thread Linus Lüssing
On Mon, Mar 12, 2018 at 12:08:56PM +0100, Linus Lüssing wrote: > On Tue, Feb 27, 2018 at 11:08:20AM +0100, Rafał Miłecki wrote: > > I've problem when using OpenWrt/LEDE on a home router with Broadcom's > > FullMAC WiFi chipset. > > Hi Rafał, > > Thanks for

[Bridge] [PATCH net-next v2] netfilter: ebtables: avoid resetting limit rule state

2018-12-08 Thread Linus Lüssing
ehavior to "xtables-nft-multi ebtables" which uses nft_limit instead of ebt_limit. In tests nft_limit did not suffer from this issue and rate limited to 650 just fine. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Linus Lüssing --- Changelog v2: - Adjusted commit messa

Re: [Bridge] [PATCH net] net: bridge: remove ipv6 zero address check in mcast queries

2018-12-13 Thread Linus Lüssing
Even though RFC4541 recommends this, I'm not quite sure whether this works... even for IGMP. I think this would lead to multicast packet loss in a scenario like this: -- [Switch A] -- [Switch B] / / / /

Re: [Bridge] [PATCH net] net: bridge: remove ipv6 zero address check in mcast queries

2018-12-17 Thread Linus Lüssing
Hi and thanks for your reply! On Fri, Dec 14, 2018 at 10:32:16AM +0800, Ying Xu wrote: >  I think the scenario mentioned above is abnormal. Can we agree, that this scenario, if switch A and B were using the current bridge code, has issues right now which it did not have before that patch? I also

[Bridge] [PATCH net-next 0/4] bridge: implement Multicast Router Discovery (RFC4286)

2018-12-21 Thread Linus Lüssing
Hi, This patchset adds initial Multicast Router Discovery support to the Linux bridge (RFC4286). With MRD it is possible to detect multicast routers and mark bridge ports and forward multicast packets to such routers accordingly. So far, multicast routers are detected via IGMP/MLD queries and PIM

[Bridge] [PATCH net-next 1/4] bridge: simplify ip_mc_check_igmp() and ipv6_mc_check_mld() calls

2018-12-21 Thread Linus Lüssing
potentially trimmed skb to verfiy. However, there is no need to propagate it to the caller. For the second and third case explicit IP packet length checks were added. This hopefully makes ip_mc_check_igmp() and ipv6_mc_check_mld() easier to read and verfiy, as well as easier to use. Signed-off-by: Linus

[Bridge] [PATCH net-next 2/4] bridge: simplify ip_mc_check_igmp() and ipv6_mc_check_mld() internals

2018-12-21 Thread Linus Lüssing
ify that length checks are performed properly. Signed-off-by: Linus Lüssing --- net/ipv4/igmp.c| 51 ++--- net/ipv6/mcast_snoop.c | 62 -- 2 files changed, 52 insertions(+), 61 deletions(-) diff --git a/net/i

[Bridge] [PATCH net-next 3/4] bridge: join all-snoopers multicast address

2018-12-21 Thread Linus Lüssing
Otherwise other snooping switches might refrain from forwarding these advertisements to us. Signed-off-by: Linus Lüssing --- include/uapi/linux/in.h | 9 +++--- net/bridge/br_multicast.c | 72 ++- net/ipv6/mcast.c | 2 ++ 3 files c

[Bridge] [PATCH net-next 4/4] bridge: Snoop Multicast Router Advertisements

2018-12-21 Thread Linus Lüssing
ssing adds such routers to the internal multicast router list. Signed-off-by: Linus Lüssing --- include/linux/in.h | 5 + include/net/addrconf.h | 15 + include/uapi/linux/icmpv6.h | 2 ++ include/uapi/linux/igmp.h | 1 + net/bridge/br_multicas

Re: [Bridge] [PATCH RFC] net: bridge: don't flood known multicast traffic when snooping is enabled

2019-02-15 Thread Linus Lüssing
On Fri, Feb 15, 2019 at 03:04:27PM +0200, Nikolay Aleksandrov wrote: > Every user would expect to have traffic forwarded only to the configured > mdb destination when snooping is enabled, instead now to get that one > needs to enable both snooping and querier. Enabling querier on all > switches cou

Re: [Bridge] [PATCH RFC] net: bridge: don't flood known multicast traffic when snooping is enabled

2019-02-16 Thread Linus Lüssing
Hi Nik, hi Ido, By the way speaking about the IGMP/MLD querier mechanism. Not sure if you are subscribed to the p...@ietf.org or mcast-w...@ietf.org mailing lists. There was a call for volunteers to progress IGMP/MLD to standards track not that long ago: "[pim] Volunteers needed for work on prog

Re: [Bridge] [PATCH RFC] net: bridge: don't flood known multicast traffic when snooping is enabled

2019-02-16 Thread Linus Lüssing
On Sat, Feb 16, 2019 at 09:27:26PM +0200, niko...@cumulusnetworks.com wrote: > >>The no querier condition is not currently reflected via switchdev, so > >>the behavior you're proposing in your patch is what actually happens > >in > >>the data plane. > >> > >>We already hit the problem Linus mention

Re: [Bridge] [RFC v2] net: bridge: don't flood known multicast traffic when snooping is enabled

2019-02-19 Thread Linus Lüssing
On Mon, Feb 18, 2019 at 02:21:07PM +0200, Nikolay Aleksandrov wrote: > This is v2 of the RFC patch which aims to forward packets to known > mdsts' ports only (the no querier case). After v1 I've kept > the previous behaviour when it comes to unregistered traffic or when > a querier is present. All

Re: [Bridge] [RFC v2] net: bridge: don't flood known multicast traffic when snooping is enabled

2019-02-19 Thread Linus Lüssing
On Tue, Feb 19, 2019 at 09:57:16AM +0100, Linus Lüssing wrote: > On Mon, Feb 18, 2019 at 02:21:07PM +0200, Nikolay Aleksandrov wrote: > > This is v2 of the RFC patch which aims to forward packets to known > > mdsts' ports only (the no querier case). After v1 I've kept &

Re: [Bridge] [RFC v2] net: bridge: don't flood known multicast traffic when snooping is enabled

2019-02-19 Thread Linus Lüssing
On Tue, Feb 19, 2019 at 03:31:42PM +0200, Nikolay Aleksandrov wrote: > On 19/02/2019 11:21, Linus Lüssing wrote: > > On Tue, Feb 19, 2019 at 09:57:16AM +0100, Linus Lüssing wrote: > >> On Mon, Feb 18, 2019 at 02:21:07PM +0200, Nikolay Aleksandrov wrote: > >>> This is

Re: [Bridge] [RFC net-next] net: dsa: add support for MC_DISABLED attribute

2019-06-30 Thread Linus Lüssing
On Sat, Jun 29, 2019 at 07:29:45PM +0300, Ido Schimmel wrote: > I would like to avoid having drivers take the querier state into account > as it will only complicate things further. I absolutely share your pain. Initially in the early prototypes of multicast awareness in batman-adv we did not cons

Re: [Bridge] [RFC net-next] net: dsa: add support for MC_DISABLED attribute

2019-07-02 Thread Linus Lüssing
Hi Ido, > Do you differentiate between IPv4 and IPv6 in batman-adv? For most things, yes: The querier state is kept separately for IPv4 and IPv6. And we do have something like a "router node" flag to signalize that a node needs all multicast traffic, which is split into IPv4 and IPv6. The "MDB"

Re: [Bridge] [PATCH net] ipv6: Fix return value of ipv6_mc_may_pull() for malformed packets

2019-08-14 Thread Linus Lüssing
On Wed, Aug 14, 2019 at 12:58:58PM -0400, David Miller wrote: > From: Stefano Brivio > Date: Tue, 13 Aug 2019 00:46:01 +0200 > > > Commit ba5ea614622d ("bridge: simplify ip_mc_check_igmp() and > > ipv6_mc_check_mld() calls") replaces direct calls to pskb_may_pull() > > in br_ipv6_multicast_mld2_r

Re: [PATCH net-next] mcast: ensure L-L IPv6 packets are accepted by bridge

2019-08-14 Thread Linus Lüssing
On Wed, Aug 14, 2019 at 05:40:58PM +0100, Patrick Ruddy wrote: > The group is being joined by MLD at the L3 level but the packets are > not being passed up to the l3 interface becasue there is a MLD querier > on the network > > snippet from /proc/net/igmp6 > ... > 40 sw1 ff02

[Bridge] Fwd: Re: [pim] IGMPv3/MLDv2 implementation and deployment survey

2020-03-24 Thread Linus Lüssing
Is there anyone on the list who would like to fill out this questionnaire on behave of the Linux bridge implementation? Or maybe someone already did? https://tools.ietf.org/html/draft-eckert-pim-igmp-mld-questionnaire-02 -> "Questionnaire for Vendors or Host Implementors" I got an email that the

[Bridge] Fwd: [Mcast-wifi] Issues with MLD and Android powersaving / sleep mode...

2020-03-24 Thread Linus Lüssing
Lüssing - Date: Tue, 24 Mar 2020 21:54:02 +0100 From: Linus Lüssing To: mcast-w...@ietf.org, p...@ietf.org Subject: [Mcast-wifi] Issues with MLD and Android powersaving / sleep mode... Hi, With Freifunk [0] we lately came across an annoying issue with Android devices... which I'm not r

[Bridge] [PATCH net] bridge: mcast: Fix MLD2 Report IPv6 payload length check

2020-07-05 Thread Linus Lüssing
"Number of Sources" field in the "Multicast Address Record" before reading it. And not the size of a pointer to this field. Fixes: e57f61858b7c ("net: bridge: mcast: fix stale nsrcs pointer in igmp3/mld2 report handling") Signed-off-by: Linus Lüssing --- net/bridge/

Re: [Bridge] [PATCH net] bridge: mcast: Fix MLD2 Report IPv6 payload length check

2020-07-05 Thread Linus Lüssing
On Sun, Jul 05, 2020 at 09:33:13PM +0300, Nikolay Aleksandrov wrote: > On 05/07/2020 21:22, Linus Lüssing wrote: > > Commit e57f61858b7c ("net: bridge: mcast: fix stale nsrcs pointer in > > igmp3/mld2 report handling") introduced a small bug which would potentially >

[Bridge] [PATCH net v2] bridge: mcast: Fix MLD2 Report IPv6 payload length check

2020-07-05 Thread Linus Lüssing
mber of Sources" field in the "Multicast Address Record" before reading it. And not the size of a pointer to this field. Fixes: e57f61858b7c ("net: bridge: mcast: fix stale nsrcs pointer in igmp3/mld2 report handling") Acked-by: Nikolay Aleksandrov Signed-off-by: Linus Lüs

Re: [Bridge] [PATCH net] bridge: mcast: Fix MLD2 Report IPv6 payload length check

2020-07-05 Thread Linus Lüssing
On Sun, Jul 05, 2020 at 10:11:39PM +0300, Nikolay Aleksandrov wrote: > On 7/5/20 10:08 PM, Linus Lüssing wrote: > > On Sun, Jul 05, 2020 at 09:33:13PM +0300, Nikolay Aleksandrov wrote: > > > On 05/07/2020 21:22, Linus Lüssing wrote: > > > > Commit e57f61858b7c ("

Re: [Bridge] [PATCH net] bridge: mcast: Fix MLD2 Report IPv6 payload length check

2020-07-06 Thread Linus Lüssing
On Sun, Jul 05, 2020 at 11:18:36PM +0300, Nikolay Aleksandrov wrote: > > > By the way, I can't verify at the moment, but I think we can drop that > > > whole > > > hunk altogether since skb_header_pointer() is used and it will simply > > > return > > > an error if there isn't enough data for nsrc

[Bridge] [RFC PATCH net-next] bridge: Implement MLD Querier wake-up calls / Android bug workaround

2020-08-16 Thread Linus Lüssing
the specific host(s). Link: https://issuetracker.google.com/issues/149630944 Link: https://github.com/freifunk-gluon/gluon/issues/1832 Signed-off-by: Linus Lüssing --- A version of this patch rebased to Linux 4.14 is currently applied on a 400 nodes mesh network (Freifunk Vogtland). I'm aware

Re: [Bridge] [RFC PATCH net-next] bridge: Implement MLD Querier wake-up calls / Android bug workaround

2020-08-23 Thread Linus Lüssing
On Sun, Aug 16, 2020 at 03:08:13PM -0700, Stephen Hemminger wrote: > Rather than adding yet another feature to the bridge, could this hack be done > by > having a BPF hook? or netfilter module? Hi Stephen, Thanks for the constructive feedback and suggestions! The netfilter approach sounds tempt

Re: [Bridge] [PATCH net-next v2 06/16] net: bridge: mcast: rename br_ip's u member to dst

2020-09-22 Thread Linus Lüssing
On Tue, Sep 22, 2020 at 10:30:17AM +0300, Nikolay Aleksandrov wrote: > From: Nikolay Aleksandrov > > Since now we have src in br_ip, u no longer makes sense so rename > it to dst. No functional changes. > > v2: fix build with CONFIG_BATMAN_ADV_MCAST Hi Nikolay, I don't see a "src" in br_ip in

Re: [Bridge] [PATCH net-next v2 06/16] net: bridge: mcast: rename br_ip's u member to dst

2020-09-22 Thread Linus Lüssing
On Tue, Sep 22, 2020 at 07:51:19PM +0200, Linus Lüssing wrote: > I don't see a "src" in br_ip in net-next/master at the moment. Or > is that supposed to be added with your IGMPv3 implementation in > the future? Ah, sorry, found the according patch (*) it in my other inbox.

[Bridge] IPv4/IPv6 separation in bridge code for multicast routers

2021-04-06 Thread Linus Lüssing
Hi, I wanted to add the remaining pieces for batman-adv to support IPv4 multicast groups in bridged setups, next to the IPv6 support already in place. For which we'd need MRD support. So once more I'd tap into the bridge for this information from batman-adv. Then I realized again that the bridge

[Bridge] [PATCH net] net: bridge: mcast: fix broken length + header check for MRDv6 Adv.

2021-04-25 Thread Linus Lüssing
of the mrdisc tool (https://github.com/troglobit/mrdisc). Fixes: 4b3087c7e37f ("bridge: Snoop Multicast Router Advertisements") Signed-off-by: Linus Lüssing --- include/net/addrconf.h| 1 - net/bridge/br_multicast.c | 33 - net/ipv6/mcast_sn

[Bridge] [PATCH net-next 0/2] net: bridge: split IPv4/v6 mc router state and export for batman-adv

2021-04-25 Thread Linus Lüssing
Hi, The following are two patches for the Linux bridge regarding multicast routers. They are rebased on top of the following fix: "net: bridge: mcast: fix broken length + header check for MRDv6 Adv." [0] And should be applied afterwards. The first one splits the so far combined multicast router s

[Bridge] [PATCH net-next 1/2] net: bridge: mcast: split multicast router state for IPv4 and IPv6

2021-04-25 Thread Linus Lüssing
include a multicast router timeout for both IPv4 and IPv6. Signed-off-by: Linus Lüssing --- include/uapi/linux/if_bridge.h | 2 + net/bridge/br_forward.c| 22 ++- net/bridge/br_input.c | 2 +- net/bridge/br_mdb.c| 38 +++- net/bridge/br_multicast.c | 341

[Bridge] [PATCH net-next 2/2] net: bridge: mcast: export multicast router presence adjacent to a port

2021-04-25 Thread Linus Lüssing
bridge. Signed-off-by: Linus Lüssing --- include/linux/if_bridge.h | 8 ++ net/bridge/br_multicast.c | 58 +++ 2 files changed, 66 insertions(+) diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h index 2cc35038a8ca..12e9a32dbca0 100644 --- a

[Bridge] [PATCH net-next 0/2] net: bridge: split IPv4/v6 mc router state and export for batman-adv

2021-04-25 Thread Linus Lüssing
Hi, The following are two patches for the Linux bridge regarding multicast routers. They are rebased on top of the following fix: "net: bridge: mcast: fix broken length + header check for MRDv6 Adv." [0] And should be applied afterwards. The first one splits the so far combined multicast router s

[Bridge] [net-next v2 02/11] net: bridge: mcast: add wrappers for router node retrieval

2021-05-09 Thread Linus Lüssing
In preparation for the upcoming split of multicast router state into their IPv4 and IPv6 variants and to avoid IPv6 #ifdef clutter later add two wrapper functions for router node retrieval in the payload forwarding code. Signed-off-by: Linus Lüssing --- net/bridge/br_forward.c | 15

[Bridge] [net-next v2 03/11] net: bridge: mcast: prepare mdb netlink for mcast router split

2021-05-09 Thread Linus Lüssing
able put one router port entry with both the IPv4 and IPv6 multicast router info later. Signed-off-by: Linus Lüssing --- net/bridge/br_mdb.c | 39 ++- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/net/bridge/br_mdb.c b/net/bridge/br_mdb.c index

[Bridge] [net-next v2 04/11] net: bridge: mcast: prepare query reception for mcast router split

2021-05-09 Thread Linus Lüssing
In preparation for the upcoming split of multicast router state into their IPv4 and IPv6 variants and as the br_multicast_mark_router() will be split for that remove the select querier wrapper and instead add ip4 and ip6 variants for br_multicast_query_received(). Signed-off-by: Linus Lüssing

<    1   2   3   >