* Re: [Bridge] Bug#625914: linux-image-2.6.38-2-amd64: bridging is not interacting well with multicast in 2.6.38-4
2011-05-10 23:35 ` Noah Meyerhans
@ 2011-05-12 22:59 ` David Miller
2011-05-12 23:28 ` Stephen Hemminger
2011-05-12 23:43 ` Stephen Hemminger
` (2 subsequent siblings)
3 siblings, 1 reply; 19+ messages in thread
From: David Miller @ 2011-05-12 22:59 UTC (permalink / raw)
To: noahm; +Cc: ben, bridge, netdev, 625914
From: Noah Meyerhans <noahm@debian.org>
Date: Tue, 10 May 2011 16:35:40 -0700
> On Tue, May 10, 2011 at 03:11:00PM -0700, Stephen Hemminger wrote:
>> There were two more follow on commits in stable related to this.
>> I recommend merging 2.6.38.6 which includes these.
>
> The problem still exists in the current 2.6.38.6. Backing out 5f1c356a
> still solves the problem there.
>
> I have not yet tried anything outside the stable-2.6.38.y tree, but it
> seems like these same changes are present there, and it's unlikely that
> other releases will work any better.
So the issue is that if we back out that change, we get crashes.
Aparently there is a code path where whatever is existing in the
SKB ip options block matters, and needs to be maintained.
Someone needs to audit all of this and figure out how to fix the
problem properly.
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [Bridge] Bug#625914: linux-image-2.6.38-2-amd64: bridging is not interacting well with multicast in 2.6.38-4
2011-05-12 22:59 ` David Miller
@ 2011-05-12 23:28 ` Stephen Hemminger
0 siblings, 0 replies; 19+ messages in thread
From: Stephen Hemminger @ 2011-05-12 23:28 UTC (permalink / raw)
To: David Miller; +Cc: 625914, noahm, bridge, ben, netdev
On Thu, 12 May 2011 15:59:16 -0700 (PDT)
David Miller <davem@davemloft.net> wrote:
> From: Noah Meyerhans <noahm@debian.org>
> Date: Tue, 10 May 2011 16:35:40 -0700
>
> > On Tue, May 10, 2011 at 03:11:00PM -0700, Stephen Hemminger wrote:
> >> There were two more follow on commits in stable related to this.
> >> I recommend merging 2.6.38.6 which includes these.
> >
> > The problem still exists in the current 2.6.38.6. Backing out 5f1c356a
> > still solves the problem there.
> >
> > I have not yet tried anything outside the stable-2.6.38.y tree, but it
> > seems like these same changes are present there, and it's unlikely that
> > other releases will work any better.
>
> So the issue is that if we back out that change, we get crashes.
>
> Aparently there is a code path where whatever is existing in the
> SKB ip options block matters, and needs to be maintained.
>
> Someone needs to audit all of this and figure out how to fix the
> problem properly.
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
I suspect tuntap is part of the problem. The skb may not be
allocated with enough padding or something like that. No guarantees
but will do some investigation.
--
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Bridge] Bug#625914: linux-image-2.6.38-2-amd64: bridging is not interacting well with multicast in 2.6.38-4
2011-05-10 23:35 ` Noah Meyerhans
2011-05-12 22:59 ` David Miller
@ 2011-05-12 23:43 ` Stephen Hemminger
2011-05-13 5:03 ` Noah Meyerhans
2011-05-13 18:03 ` Stephen Hemminger
2011-05-13 19:53 ` [Bridge] [PATCH] bridge: fix forwarding of IPv6 Stephen Hemminger
3 siblings, 1 reply; 19+ messages in thread
From: Stephen Hemminger @ 2011-05-12 23:43 UTC (permalink / raw)
To: Noah Meyerhans; +Cc: 625914, bridge, Ben Hutchings, netdev
On Tue, 10 May 2011 16:35:40 -0700
Noah Meyerhans <noahm@debian.org> wrote:
> On Tue, May 10, 2011 at 03:11:00PM -0700, Stephen Hemminger wrote:
> > There were two more follow on commits in stable related to this.
> > I recommend merging 2.6.38.6 which includes these.
>
> The problem still exists in the current 2.6.38.6. Backing out 5f1c356a
> still solves the problem there.
>
> I have not yet tried anything outside the stable-2.6.38.y tree, but it
> seems like these same changes are present there, and it's unlikely that
> other releases will work any better.
Does this fix the problem? The tap driver allocates an skb and throws
it into the receive path, but the skb does not have the same padding
as normal skb's received.
--- a/drivers/net/tun.c 2011-05-12 16:36:15.231347935 -0700
+++ b/drivers/net/tun.c 2011-05-12 16:36:38.503464573 -0700
@@ -614,7 +614,7 @@ static __inline__ ssize_t tun_get_user(s
}
if ((tun->flags & TUN_TYPE_MASK) == TUN_TAP_DEV) {
- align = NET_IP_ALIGN;
+ align = NET_IP_ALIGN + NET_SKB_PAD;
if (unlikely(len < ETH_HLEN ||
(gso.hdr_len && gso.hdr_len < ETH_HLEN)))
return -EINVAL;
--
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [Bridge] Bug#625914: linux-image-2.6.38-2-amd64: bridging is not interacting well with multicast in 2.6.38-4
2011-05-12 23:43 ` Stephen Hemminger
@ 2011-05-13 5:03 ` Noah Meyerhans
0 siblings, 0 replies; 19+ messages in thread
From: Noah Meyerhans @ 2011-05-13 5:03 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: 625914, bridge, Ben Hutchings, netdev
[-- Attachment #1: Type: text/plain, Size: 1199 bytes --]
On Thu, May 12, 2011 at 04:43:22PM -0700, Stephen Hemminger wrote:
> > > There were two more follow on commits in stable related to this.
> > > I recommend merging 2.6.38.6 which includes these.
> >
> > The problem still exists in the current 2.6.38.6. Backing out 5f1c356a
> > still solves the problem there.
> >
> > I have not yet tried anything outside the stable-2.6.38.y tree, but it
> > seems like these same changes are present there, and it's unlikely that
> > other releases will work any better.
>
> Does this fix the problem? The tap driver allocates an skb and throws
> it into the receive path, but the skb does not have the same padding
> as normal skb's received.
>
> --- a/drivers/net/tun.c 2011-05-12 16:36:15.231347935 -0700
> +++ b/drivers/net/tun.c 2011-05-12 16:36:38.503464573 -0700
> @@ -614,7 +614,7 @@ static __inline__ ssize_t tun_get_user(s
> }
>
> if ((tun->flags & TUN_TYPE_MASK) == TUN_TAP_DEV) {
> - align = NET_IP_ALIGN;
> + align = NET_IP_ALIGN + NET_SKB_PAD;
> if (unlikely(len < ETH_HLEN ||
> (gso.hdr_len && gso.hdr_len < ETH_HLEN)))
> return -EINVAL;
>
Sorry, this does not fix the problem.
noah
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Bridge] Bug#625914: linux-image-2.6.38-2-amd64: bridging is not interacting well with multicast in 2.6.38-4
2011-05-10 23:35 ` Noah Meyerhans
2011-05-12 22:59 ` David Miller
2011-05-12 23:43 ` Stephen Hemminger
@ 2011-05-13 18:03 ` Stephen Hemminger
2011-05-13 19:53 ` [Bridge] [PATCH] bridge: fix forwarding of IPv6 Stephen Hemminger
3 siblings, 0 replies; 19+ messages in thread
From: Stephen Hemminger @ 2011-05-13 18:03 UTC (permalink / raw)
To: Noah Meyerhans; +Cc: 625914, bridge, Ben Hutchings, netdev
On Tue, 10 May 2011 16:35:40 -0700
Noah Meyerhans <noahm@debian.org> wrote:
> On Tue, May 10, 2011 at 03:11:00PM -0700, Stephen Hemminger wrote:
> > There were two more follow on commits in stable related to this.
> > I recommend merging 2.6.38.6 which includes these.
>
> The problem still exists in the current 2.6.38.6. Backing out 5f1c356a
> still solves the problem there.
>
> I have not yet tried anything outside the stable-2.6.38.y tree, but it
> seems like these same changes are present there, and it's unlikely that
> other releases will work any better.
>
> noah
>
Is this unique to the tap interfaces or does bridging multicast
not work for all devices?
--
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bridge] [PATCH] bridge: fix forwarding of IPv6
2011-05-10 23:35 ` Noah Meyerhans
` (2 preceding siblings ...)
2011-05-13 18:03 ` Stephen Hemminger
@ 2011-05-13 19:53 ` Stephen Hemminger
2011-05-13 20:00 ` Eric Dumazet
` (2 more replies)
3 siblings, 3 replies; 19+ messages in thread
From: Stephen Hemminger @ 2011-05-13 19:53 UTC (permalink / raw)
To: Noah Meyerhans, Herbert Xu, David Miller; +Cc: netdev, bridge, Ben Hutchings
The commit 6b1e960fdbd75dcd9bcc3ba5ff8898ff1ad30b6e
bridge: Reset IPCB when entering IP stack on NF_FORWARD
broke forwarding of IPV6 packets in bridge because it would
call bp_parse_ip_options with an IPV6 packet.
Reported-by: Noah Meyerhans <noahm@debian.org>
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
---
Patch against net-next-2.6 but must be applied to net-2.6
and stable as well
--- a/net/bridge/br_netfilter.c 2011-05-13 12:37:30.289646958 -0700
+++ b/net/bridge/br_netfilter.c 2011-05-13 12:38:07.820333938 -0700
@@ -737,7 +737,7 @@ static unsigned int br_nf_forward_ip(uns
nf_bridge->mask |= BRNF_PKT_TYPE;
}
- if (br_parse_ip_options(skb))
+ if (pf == PF_INET && br_parse_ip_options(skb))
return NF_DROP;
/* The physdev module checks on this */
--
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [Bridge] [PATCH] bridge: fix forwarding of IPv6
2011-05-13 19:53 ` [Bridge] [PATCH] bridge: fix forwarding of IPv6 Stephen Hemminger
@ 2011-05-13 20:00 ` Eric Dumazet
2011-05-13 20:02 ` David Miller
2011-05-13 20:03 ` David Miller
2011-05-13 21:00 ` Noah Meyerhans
2 siblings, 1 reply; 19+ messages in thread
From: Eric Dumazet @ 2011-05-13 20:00 UTC (permalink / raw)
To: Stephen Hemminger
Cc: netdev, Noah Meyerhans, bridge, Herbert Xu, Ben Hutchings,
David Miller
Le vendredi 13 mai 2011 à 12:53 -0700, Stephen Hemminger a écrit :
> The commit 6b1e960fdbd75dcd9bcc3ba5ff8898ff1ad30b6e
> bridge: Reset IPCB when entering IP stack on NF_FORWARD
> broke forwarding of IPV6 packets in bridge because it would
> call bp_parse_ip_options with an IPV6 packet.
>
> Reported-by: Noah Meyerhans <noahm@debian.org>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
>
> ---
> Patch against net-next-2.6 but must be applied to net-2.6
> and stable as well
>
Well, stable is not needed, since faulty commit is not in 2.6.38
Reviewed-by: Eric Dumazet <eric.dumazet@gmail.com>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Bridge] [PATCH] bridge: fix forwarding of IPv6
2011-05-13 20:00 ` Eric Dumazet
@ 2011-05-13 20:02 ` David Miller
2011-05-13 20:05 ` Eric Dumazet
2011-05-13 20:24 ` Stephen Hemminger
0 siblings, 2 replies; 19+ messages in thread
From: David Miller @ 2011-05-13 20:02 UTC (permalink / raw)
To: eric.dumazet; +Cc: netdev, noahm, bridge, herbert, shemminger, ben
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Fri, 13 May 2011 22:00:44 +0200
> Le vendredi 13 mai 2011 à 12:53 -0700, Stephen Hemminger a écrit :
>> The commit 6b1e960fdbd75dcd9bcc3ba5ff8898ff1ad30b6e
>> bridge: Reset IPCB when entering IP stack on NF_FORWARD
>> broke forwarding of IPV6 packets in bridge because it would
>> call bp_parse_ip_options with an IPV6 packet.
>>
>> Reported-by: Noah Meyerhans <noahm@debian.org>
>> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
>>
>> ---
>> Patch against net-next-2.6 but must be applied to net-2.6
>> and stable as well
>>
>
> Well, stable is not needed, since faulty commit is not in 2.6.38
>
> Reviewed-by: Eric Dumazet <eric.dumazet@gmail.com>
I do need to queue it up for -stable because the faulty commit is
also queued up there :-)
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Bridge] [PATCH] bridge: fix forwarding of IPv6
2011-05-13 20:02 ` David Miller
@ 2011-05-13 20:05 ` Eric Dumazet
2011-05-13 20:24 ` Stephen Hemminger
1 sibling, 0 replies; 19+ messages in thread
From: Eric Dumazet @ 2011-05-13 20:05 UTC (permalink / raw)
To: David Miller; +Cc: netdev, noahm, bridge, herbert, shemminger, ben
Le vendredi 13 mai 2011 à 16:02 -0400, David Miller a écrit :
> I do need to queue it up for -stable because the faulty commit is
> also queued up there :-)
okay ;)
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Bridge] [PATCH] bridge: fix forwarding of IPv6
2011-05-13 20:02 ` David Miller
2011-05-13 20:05 ` Eric Dumazet
@ 2011-05-13 20:24 ` Stephen Hemminger
1 sibling, 0 replies; 19+ messages in thread
From: Stephen Hemminger @ 2011-05-13 20:24 UTC (permalink / raw)
To: David Miller; +Cc: eric.dumazet, netdev, noahm, bridge, herbert, ben
On Fri, 13 May 2011 16:02:32 -0400 (EDT)
David Miller <davem@davemloft.net> wrote:
> From: Eric Dumazet <eric.dumazet@gmail.com>
> Date: Fri, 13 May 2011 22:00:44 +0200
>
> > Le vendredi 13 mai 2011 à 12:53 -0700, Stephen Hemminger a écrit :
> >> The commit 6b1e960fdbd75dcd9bcc3ba5ff8898ff1ad30b6e
> >> bridge: Reset IPCB when entering IP stack on NF_FORWARD
> >> broke forwarding of IPV6 packets in bridge because it would
> >> call bp_parse_ip_options with an IPV6 packet.
> >>
> >> Reported-by: Noah Meyerhans <noahm@debian.org>
> >> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
> >>
> >> ---
> >> Patch against net-next-2.6 but must be applied to net-2.6
> >> and stable as well
> >>
> >
> > Well, stable is not needed, since faulty commit is not in 2.6.38
> >
> > Reviewed-by: Eric Dumazet <eric.dumazet@gmail.com>
>
> I do need to queue it up for -stable because the faulty commit is
> also queued up there :-)
The faulty commit was in 2.6.38.4
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Bridge] [PATCH] bridge: fix forwarding of IPv6
2011-05-13 19:53 ` [Bridge] [PATCH] bridge: fix forwarding of IPv6 Stephen Hemminger
2011-05-13 20:00 ` Eric Dumazet
@ 2011-05-13 20:03 ` David Miller
2011-05-13 21:00 ` Noah Meyerhans
2 siblings, 0 replies; 19+ messages in thread
From: David Miller @ 2011-05-13 20:03 UTC (permalink / raw)
To: shemminger; +Cc: herbert, noahm, bridge, ben, netdev
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 13 May 2011 12:53:14 -0700
> The commit 6b1e960fdbd75dcd9bcc3ba5ff8898ff1ad30b6e
> bridge: Reset IPCB when entering IP stack on NF_FORWARD
> broke forwarding of IPV6 packets in bridge because it would
> call bp_parse_ip_options with an IPV6 packet.
>
> Reported-by: Noah Meyerhans <noahm@debian.org>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
>
> ---
> Patch against net-next-2.6 but must be applied to net-2.6
> and stable as well
Applied and queued up for -stable, thanks!
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [Bridge] [PATCH] bridge: fix forwarding of IPv6
2011-05-13 19:53 ` [Bridge] [PATCH] bridge: fix forwarding of IPv6 Stephen Hemminger
2011-05-13 20:00 ` Eric Dumazet
2011-05-13 20:03 ` David Miller
@ 2011-05-13 21:00 ` Noah Meyerhans
2 siblings, 0 replies; 19+ messages in thread
From: Noah Meyerhans @ 2011-05-13 21:00 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Herbert Xu, bridge, Ben Hutchings, David Miller, netdev
[-- Attachment #1: Type: text/plain, Size: 1063 bytes --]
On Fri, May 13, 2011 at 12:53:14PM -0700, Stephen Hemminger wrote:
> The commit 6b1e960fdbd75dcd9bcc3ba5ff8898ff1ad30b6e
> bridge: Reset IPCB when entering IP stack on NF_FORWARD
> broke forwarding of IPV6 packets in bridge because it would
> call bp_parse_ip_options with an IPV6 packet.
>
> Reported-by: Noah Meyerhans <noahm@debian.org>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
>
> ---
> Patch against net-next-2.6 but must be applied to net-2.6
> and stable as well
>
> --- a/net/bridge/br_netfilter.c 2011-05-13 12:37:30.289646958 -0700
> +++ b/net/bridge/br_netfilter.c 2011-05-13 12:38:07.820333938 -0700
> @@ -737,7 +737,7 @@ static unsigned int br_nf_forward_ip(uns
> nf_bridge->mask |= BRNF_PKT_TYPE;
> }
>
> - if (br_parse_ip_options(skb))
> + if (pf == PF_INET && br_parse_ip_options(skb))
> return NF_DROP;
>
> /* The physdev module checks on this */
>
I can confirm that this patch fixes the behavior I've been seeing in the
stable-2.6.38.y tree. Thank you, Stephen!
noah
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread