Subject: Re: [PATCH net-next] hyperv: Add handler for RNDIS_STATUS_NETWORK_CHANGE event

From: Greg KH <[email-masked]>
Date: Mon, 23 Jun 2014 12:29:11 -0400

On Mon, Jun 23, 2014 at 04:09:59PM +0000, Haiyang Zhang wrote:
> 
> 
> > -----Original Message-----
> > From: Olaf Hering [mailto:[email-masked]]
> > Sent: Monday, June 23, 2014 9:17 AM
> > To: Haiyang Zhang
> > Cc: Greg KH; [email-masked]; [email-masked]; driverdev-
> > [email-masked]; [email-masked];
> > [email-masked]
> > Subject: Re: [PATCH net-next] hyperv: Add handler for
> > RNDIS_STATUS_NETWORK_CHANGE event
> > 
> > On Mon, Jun 23, Haiyang Zhang wrote:
> > 
> > > > I think its reasonable to expect guest config changes on this new
> > > > kind of host. Would a link-down/link-up event work? I'm sure it
> > > > will, there is enough code floating around in the guests which handles cable
> > unplug.
> > >
> > > Do you mean netif_carrier_off() / netif_carrier_on()? They are already
> > > called in the code before this patch, but DHCP renew is not triggered
> > > by them.
> > 
> > I do not know how to simulate a cable unplug. The point is that calling
> > /etc/init.d/network will fail, at least in SLES12.
> > Maybe some sort of "DHCP refresh required" event is required?
> > Maybe the DHCP clients need to renew on cable unplug?
> > No idea what the solution to the issue really is.
> 
> Yes, it will be great if there is such a "DHCP refresh required" event, or DHCP clients
> are triggered when netif_carrier_off() then netif_carrier_on().
> 
> I have tried some possibilities, like IF_OPER_DORMANT then IF_OPER_UP with 
> netdev_state_change() etc. but not able to trigger DHCP review. I will look at this
> further...
> 
> So, what's the equivalent or similar command to "network restart" on SLES12? Could
> you update the command line for the usermodehelper when porting this patch to SLES
> 12?

Given that this change will fail on all future distro releases, and
almost all of the community distros today, I don't see how this is
acceptable at all.  Nor would it be any better if you switch to a
systemd command line script as well.  You should just work like any
other network device works in this situation when it comes to
enabling/disabling the device.  Worse case, just tear down the whole
network device at suspend time, and recreate it at resume.

greg k-h