From: Benjamin Thery <benjamin.thery@bull.net>
To: David Miller <davem@davemloft.net>
Cc: yoshfuji@linux-ipv6.org, netdev@vger.kernel.org
Subject: Re: [PATCH] ipv6: fix run pending DAD when interface becomes ready
Date: Wed, 05 Nov 2008 11:28:44 +0100 [thread overview]
Message-ID: <4911755C.4030504@bull.net> (raw)
In-Reply-To: <20081105.014446.140069453.davem@davemloft.net>
David Miller wrote:
> From: David Miller <davem@davemloft.net>
> Date: Tue, 04 Nov 2008 14:51:22 -0800 (PST)
>
>> From: Benjamin Thery <benjamin.thery@bull.net>
>> Date: Tue, 04 Nov 2008 14:55:50 +0100
>>
>>> I think there's a bug in net/ipv6/addrconf.c, addrconf_notify():
>>> addrconf_dad_run() is not always run when the interface is flagged IF_READY.
>>> Currently it is only run when receiving NETDEV_CHANGE event. Looks like
>>> some (virtual) devices doesn't send this event when becoming up.
>>>
>>> For both NETDEV_UP and NETDEV_CHANGE events, when the interface becomes
>>> ready, run_pending should be set to 1. Patch below.
>>>
>>> 'run_pending = 1' could be moved below the if/else block but it makes
>>> the code less readable.
>> I wonder if we should instead make the virtual devices emit
>> the missing event?
I don't know. We'll have to identify all the devices that (mis)behave
like this.
Are all the devices supposed to emit both NETDEV_UP and NETDEV_CHANGE
when ifconfig/ip commands set the devices up?
But as you state below, it also looked more logical to me to run
addrconf_dad_run() on every events that causes the interface to become
ready.
Benjamin
>
> In any event, for the time being, I'm going to apply
> Benjamin's patch to fix this problem.
>
> It makes the function in question logically consistent
> in that now everything that can cause IF_READY to become
> set will also cause run_pending work to run.
This is how
>
>
--
B e n j a m i n T h e r y - BULL/DT/Open Software R&D
http://www.bull.com
prev parent reply other threads:[~2008-11-05 10:28 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20081104135549.981972492@nptl.frec.bull.fr>
2008-11-04 13:55 ` [PATCH] ipv6: fix run pending DAD when interface becomes ready Benjamin Thery
2008-11-04 22:51 ` David Miller
2008-11-05 9:44 ` David Miller
2008-11-05 10:28 ` Benjamin Thery [this message]
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=4911755C.4030504@bull.net \
--to=benjamin.thery@bull.net \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.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 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.