netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "David S. Miller" <davem@davemloft.net>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: mirko.parthey@informatik.tu-chemnitz.de,
	linux-kernel@vger.kernel.org, netdev@oss.sgi.com,
	yoshfuji@linux-ipv6.org, shemminger@osdl.org
Subject: Re: PROBLEM: 2.6.11-rc2 hangs on bridge shutdown (br0)
Date: Sat, 5 Feb 2005 20:10:44 -0800	[thread overview]
Message-ID: <20050205201044.1b95f4e8.davem@davemloft.net> (raw)
In-Reply-To: <20050205064643.GA29758@gondor.apana.org.au>

On Sat, 5 Feb 2005 17:46:43 +1100
Herbert Xu <herbert@gondor.apana.org.au> wrote:

> This doesn't work because net/core/dst.c can only search based
> on dst->dev.  For the split device case, dst->dev is set to
> loopback_dev while rt6i_idev is set to the real device.

Indeed.  I didn't catch that.

> If we wanted to preserve the split device semantics, then we
> can create a local GC list in IPv6 so that it can search based
> on rt6i_idev as well as the other keys.

Ok, so this would entail changing each ipv6 dst_free() call
into one to ip6_dst_free(), which would:

	ip6_garbage_add(dst);
	dst_free(dst);

It would mean that dst_run_gc() would need to have some callback
like dst->ops->gc_destroy() or similar, which would allow ipv6
to delete the dst from it's local garbage list.

> Alternatively we can
> remove the dst->dev == dev check in dst_dev_event and dst_ifdown
> and move that test down to the individual ifdown functions.

I think there is a hole in this idea.... maybe.

If the idea is to scan dst_garbage_list down in ipv6 specific code,
you can't do that since 'dst' objects from every pool in the kernel
get put onto the dst_garbage_list.   It is generic.

They have no identity, so it's illegal to treat any member of that
list as an rt_entry, rt6_entry or any specific higher level dst
type.

  parent reply	other threads:[~2005-02-06  4:10 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20050131162201.GA1000@stilzchen.informatik.tu-chemnitz.de>
2005-02-05  5:24 ` PROBLEM: 2.6.11-rc2 hangs on bridge shutdown (br0) Herbert Xu
2005-02-05  5:38   ` David S. Miller
2005-02-05  6:11     ` Herbert Xu
2005-02-05  6:13       ` David S. Miller
2005-02-05  6:46         ` Herbert Xu
2005-02-05 10:45           ` Herbert Xu
2005-02-06 11:41             ` Herbert Xu
2005-02-06 12:30               ` YOSHIFUJI Hideaki / 吉藤英明
2005-02-06 21:01                 ` Herbert Xu
2005-02-09 20:45                 ` Andre Tomt
2005-02-05 10:50           ` YOSHIFUJI Hideaki / 吉藤英明
2005-02-05 18:32             ` Herbert Xu
2005-02-06  4:02             ` David S. Miller
2005-02-06  5:01               ` YOSHIFUJI Hideaki / 吉藤英明
2005-02-06  4:10           ` David S. Miller [this message]
2005-02-06  4:37             ` YOSHIFUJI Hideaki / 吉藤英明
2005-02-06  5:04               ` David S. Miller
2005-02-06  5:31                 ` YOSHIFUJI Hideaki / 吉藤英明
2005-02-06  5:50                   ` YOSHIFUJI Hideaki / 吉藤英明
2005-02-06  7:00                     ` Herbert Xu
2005-02-06  6:53                   ` Herbert Xu
2005-02-06  6:52                 ` Herbert Xu
2005-02-06  6:51             ` Herbert Xu
2005-02-08  1:29               ` [IPSEC] Move dst->child loop from dst_ifdown to xfrm_dst_ifdown Herbert Xu
2005-02-08  1:31                 ` Herbert Xu
2005-02-15 22:53                   ` David S. Miller
2005-02-05 11:14       ` PROBLEM: 2.6.11-rc2 hangs on bridge shutdown (br0) Andre Tomt
2005-02-05 11:39         ` YOSHIFUJI Hideaki / 吉藤英明
2005-02-05 11:48           ` Andre Tomt
2005-02-05 11:55             ` YOSHIFUJI Hideaki / 吉藤英明
2005-02-05 18:33           ` Herbert Xu
2005-02-06 10:55       ` Andre Tomt
2005-02-06 11:28         ` YOSHIFUJI Hideaki / 吉藤英明

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=20050205201044.1b95f4e8.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mirko.parthey@informatik.tu-chemnitz.de \
    --cc=netdev@oss.sgi.com \
    --cc=shemminger@osdl.org \
    --cc=yoshfuji@linux-ipv6.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).