From: "Linus Lüssing" <linus.luessing@web.de>
To: Jan Stancek <jstancek@redhat.com>
Cc: netdev@vger.kernel.org, Florian Westphal <fwestpha@redhat.com>,
bridge@lists.linux-foundation.org
Subject: Re: [Bridge] bridge is not forwaring ICMP6 neighbor solicitation to KVM guest
Date: Tue, 4 Mar 2014 22:37:57 +0100 [thread overview]
Message-ID: <20140304213757.GJ5090@Linus-Debian> (raw)
In-Reply-To: <1663332249.12962360.1393931189285.JavaMail.zimbra@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 3129 bytes --]
On Tue, Mar 04, 2014 at 06:06:29AM -0500, Jan Stancek wrote:
>
>
> ----- Original Message -----
> > From: "Linus Lüssing" <linus.luessing@web.de>
> > To: "Jan Stancek" <jstancek@redhat.com>
> > Cc: netdev@vger.kernel.org, "Florian Westphal" <fwestpha@redhat.com>, bridge@lists.linux-foundation.org
> > Sent: Tuesday, 4 March, 2014 11:52:54 AM
> > Subject: Re: bridge is not forwaring ICMP6 neighbor solicitation to KVM guest
> >
> > Hi Jan,
> >
> > On Tue, Mar 04, 2014 at 03:02:36AM -0500, Jan Stancek wrote:
> > > > For the broken query, ok, it's your manually crafted query. But
> > > > did you see a query with such a bogus source address "in the
> > > > wild", too? (I'm curious how urgent this sanity check is)
> > >
> > > It's real packet I managed to capture during one such occurrence.
> > > I'm sending it with small C program over raw socket, but it's byte
> > > by byte exact copy of what I captured with tcpdump previously.
> > >
> > > I'm not sure how that packet came to existence. Based on IPv6 address
> > > it came from host B, but all host B was doing at the time
> > > was running RHEL6 with couple qemu-kvm instances. KVM guests were
> > > set up to use bridge, so I'm assuming if any of them crafted
> > > this packet, source IPv6 address would be different.
> > >
> >
> > Ah, okay. Can you check whether it maybe came from the querier
> > code in the Linux bridge on host B? Is
> > "cat /sys/class/net/br0/bridge/multicast_querier" 1?
>
> # cat /sys/class/net/br0/bridge/multicast_querier
> cat: /sys/class/net/br0/bridge/multicast_querier: No such file or directory
Ok, that's not present on such old kernels, there it is actually
enabled by default.
>
> > Can you isolate host B and disable any multicast router daemon on it? Then
> > check again, if you still see these queries.
>
> Besides those cases where I sent it by myself, I haven't seen host B send
> that query for couple days now.
>
> > What kernel version is running on host B?
>
> 2.6.32-279.42.1.el6.x86_64
> It's a RHEL6.3.z kernel.
>
> > Where does Linux use :: for queries?
>
> I'm not sure if it's Linux (I'm trying to locate that system by MAC), but I see
> packets like these on my network every ~125 seconds:
>
> No. Time Source Destination Protocol Length Info
> 22675 1334.751135 :: ff02::1 ICMPv6 86 Multicast Listener Query
It's probably the bridge on this ancient kernel, you might want to
backport the following patch:
"bridge: Use IPv6 link-local address for multicast listener queries"
(fe29ec41aaa51902aebd63658dfb04fe6fea8be5)
And it's follow-up fixes:
"bridge: Fix possibly wrong MLD queries' ethernet source address"
(a7bff75b087e7a355838a32efe61707cfa73c194)
"bridge: check return value of ipv6_dev_get_saddr()"
(d1d81d4c3dd886d5fa25a2c4fa1e39cb89613712)
If these patches on host B xor the sanity check I just submitted applied
on your host A / VM host fix your issue, then they might be worth
considering for the stable queue.
Cheers, Linus
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: "Linus Lüssing" <linus.luessing@web.de>
To: Jan Stancek <jstancek@redhat.com>
Cc: netdev@vger.kernel.org, Florian Westphal <fwestpha@redhat.com>,
bridge@lists.linux-foundation.org
Subject: Re: bridge is not forwaring ICMP6 neighbor solicitation to KVM guest
Date: Tue, 4 Mar 2014 22:37:57 +0100 [thread overview]
Message-ID: <20140304213757.GJ5090@Linus-Debian> (raw)
In-Reply-To: <1663332249.12962360.1393931189285.JavaMail.zimbra@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 3129 bytes --]
On Tue, Mar 04, 2014 at 06:06:29AM -0500, Jan Stancek wrote:
>
>
> ----- Original Message -----
> > From: "Linus Lüssing" <linus.luessing@web.de>
> > To: "Jan Stancek" <jstancek@redhat.com>
> > Cc: netdev@vger.kernel.org, "Florian Westphal" <fwestpha@redhat.com>, bridge@lists.linux-foundation.org
> > Sent: Tuesday, 4 March, 2014 11:52:54 AM
> > Subject: Re: bridge is not forwaring ICMP6 neighbor solicitation to KVM guest
> >
> > Hi Jan,
> >
> > On Tue, Mar 04, 2014 at 03:02:36AM -0500, Jan Stancek wrote:
> > > > For the broken query, ok, it's your manually crafted query. But
> > > > did you see a query with such a bogus source address "in the
> > > > wild", too? (I'm curious how urgent this sanity check is)
> > >
> > > It's real packet I managed to capture during one such occurrence.
> > > I'm sending it with small C program over raw socket, but it's byte
> > > by byte exact copy of what I captured with tcpdump previously.
> > >
> > > I'm not sure how that packet came to existence. Based on IPv6 address
> > > it came from host B, but all host B was doing at the time
> > > was running RHEL6 with couple qemu-kvm instances. KVM guests were
> > > set up to use bridge, so I'm assuming if any of them crafted
> > > this packet, source IPv6 address would be different.
> > >
> >
> > Ah, okay. Can you check whether it maybe came from the querier
> > code in the Linux bridge on host B? Is
> > "cat /sys/class/net/br0/bridge/multicast_querier" 1?
>
> # cat /sys/class/net/br0/bridge/multicast_querier
> cat: /sys/class/net/br0/bridge/multicast_querier: No such file or directory
Ok, that's not present on such old kernels, there it is actually
enabled by default.
>
> > Can you isolate host B and disable any multicast router daemon on it? Then
> > check again, if you still see these queries.
>
> Besides those cases where I sent it by myself, I haven't seen host B send
> that query for couple days now.
>
> > What kernel version is running on host B?
>
> 2.6.32-279.42.1.el6.x86_64
> It's a RHEL6.3.z kernel.
>
> > Where does Linux use :: for queries?
>
> I'm not sure if it's Linux (I'm trying to locate that system by MAC), but I see
> packets like these on my network every ~125 seconds:
>
> No. Time Source Destination Protocol Length Info
> 22675 1334.751135 :: ff02::1 ICMPv6 86 Multicast Listener Query
It's probably the bridge on this ancient kernel, you might want to
backport the following patch:
"bridge: Use IPv6 link-local address for multicast listener queries"
(fe29ec41aaa51902aebd63658dfb04fe6fea8be5)
And it's follow-up fixes:
"bridge: Fix possibly wrong MLD queries' ethernet source address"
(a7bff75b087e7a355838a32efe61707cfa73c194)
"bridge: check return value of ipv6_dev_get_saddr()"
(d1d81d4c3dd886d5fa25a2c4fa1e39cb89613712)
If these patches on host B xor the sanity check I just submitted applied
on your host A / VM host fix your issue, then they might be worth
considering for the stable queue.
Cheers, Linus
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2014-03-04 21:37 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1566805413.12693479.1393872931017.JavaMail.zimbra@redhat.com>
2014-03-03 19:47 ` bridge is not forwaring ICMP6 neighbor solicitation to KVM guest Jan Stancek
2014-03-03 21:27 ` [Bridge] " Linus Lüssing
2014-03-03 21:27 ` Linus Lüssing
2014-03-03 21:40 ` [Bridge] " Vlad Yasevich
2014-03-03 21:40 ` Vlad Yasevich
2014-03-03 23:03 ` [Bridge] " Linus Lüssing
2014-03-03 23:03 ` Linus Lüssing
2014-03-03 22:45 ` [Bridge] " Jan Stancek
2014-03-03 22:45 ` Jan Stancek
2014-03-04 0:00 ` [Bridge] " Linus Lüssing
2014-03-04 0:00 ` Linus Lüssing
2014-03-04 8:02 ` [Bridge] " Jan Stancek
2014-03-04 8:02 ` Jan Stancek
2014-03-04 10:52 ` [Bridge] " Linus Lüssing
2014-03-04 10:52 ` Linus Lüssing
2014-03-04 11:06 ` [Bridge] " Jan Stancek
2014-03-04 11:06 ` Jan Stancek
2014-03-04 21:37 ` Linus Lüssing [this message]
2014-03-04 21:37 ` Linus Lüssing
2014-03-05 12:10 ` [Bridge] " Jan Stancek
2014-03-05 12:10 ` Jan Stancek
2014-03-05 14:27 ` [Bridge] " Linus Lüssing
2014-03-05 14:27 ` Linus Lüssing
2014-03-05 14:57 ` [Bridge] " Jan Stancek
2014-03-05 14:57 ` Jan Stancek
2014-03-12 4:37 ` [Bridge] " Linus Lüssing
2014-03-12 4:37 ` Linus Lüssing
2014-03-12 7:45 ` [Bridge] " Jan Stancek
2014-03-12 7:45 ` Jan Stancek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140304213757.GJ5090@Linus-Debian \
--to=linus.luessing@web.de \
--cc=bridge@lists.linux-foundation.org \
--cc=fwestpha@redhat.com \
--cc=jstancek@redhat.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.