[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5FFF52B6-424D-4005-8658-B906797D0E5F@qlogic.com>
Date: Mon, 25 Jul 2011 22:16:58 -0700
From: Anirban Chakraborty <anirban.chakraborty@...gic.com>
To: Stephen Hemminger <stephen.hemminger@...tta.com>
CC: Jiri Bohac <jbohac@...e.cz>, netdev <netdev@...r.kernel.org>,
Herbert Xu <herbert@...dor.apana.org.au>,
David Miller <davem@...emloft.net>,
stephen hemminger <shemminger@...tta.com>
Subject: Re: IPv6: autoconfiguration and suspend/resume or link down/up
On Jul 19, 2011, at 12:42 PM, Stephen Hemminger wrote:
> bridge forwarding table; route cache; and neighbor table could have same problem. I thought carrier is supposed to toggle on suspend or hibernate
In case of a VM using a VF as a NIC device, the VF would not know of a suspend event unless the hypervisor sends such a notification to the PF,
which the PF could relay back to the VF. Does KVM send such notification at present? Other option would be to bring down the interface in the
VM.
-Anirban
>
> Jiri Bohac <jbohac@...e.cz> wrote:
>
>> Hi,
>>
>> I came over a surprising behaviour with IPv6 autoconfiguration,
>> which I think is a bug, but I would first like to hear other
>> people's opinions before trying to fix this:
>>
>> Problem 1: all the address/route lifetimes are kept in jiffies
>> and jiffies don't get incremented on resume. So when a
>> route/address lifetime is 30 minutes and the system resumes after
>> 1 hour, the route/address should be considered expired, but it is
>> not.
>>
>> Problem 2: when a system is moved to a new network a RS is not
>> sent. Thus, IPv6 does not autoconfigure until the router sends a
>> periodic RA. This can occur both while the system is alive and
>> while it is suspended. I think the autoconfigured state should be
>> discarded when the kernel suspects the system could have been
>> moved to a different network.
>>
>> When the cable is unplugged and plugged in again, we already get
>> notified through linkwatch -> netdev_state_change ->
>> -> call_netdevice_notifiers(NETDEV_CHANGE, ...)
>> However, if the device has already been autoconfigured,
>> addrconf_notify() only handles this event by printing a
>> message.
>>
>> So my idea was to:
>> - handle link up/down in addrconf_notify() similarly to
>> NETDEV_UP/NETDEV_DOWN
>>
>> - on suspend, faking a link down event; on resume, faking a link up event
>> (or better, having a special event type for suspend/resume)
>>
>> This would cause autoconfiguration to be restarted on resume as
>> well as cable plug/unplug, solving both the above problems.
>>
>> Or do we want to completely rely on userspace tools
>> (networkmanager/ifplug) and expect them to do NETDEV_DOWN on
>> unplug/suspend and NETDEV_UP on plug/resume?
>>
>> Any thoughts?
>>
>> --
>> Jiri Bohac <jbohac@...e.cz>
>> SUSE Labs, SUSE CZ
>>
> .��칻.�&�~�&�.��+-��ݶ.��w��˛���m�ׯ�{ay�.ʇڙ�,j.��f���h���z�.�w���.���j:+v���w�j�m����.����zZ+�����ݢj"��!�i
Powered by blists - more mailing lists