On 2/25/2019 6:05 PM, Michael S. Tsirkin wrote:
On Mon, Feb 25, 2019 at 05:39:12PM -0800, Stephen Hemminger wrote:
Moreover, you were suggesting hiding the lower slave devices anyway. There was
some discussion
about moving them to a hidden network namespace so that they are not visible
from the default namespace.
I looked into this sometime back, but did not find the right kernel api to
create a network namespace within
kernel. If so, we could use this mechanism to simulate a 1-netdev model.
Yes, that's one possible implementation (IMHO the key is to make 1-netdev
model as much transparent to a real NIC as possible, while a hidden netns is
just the vehicle). However, I recall there was resistance around this
discussion that even the concept of hiding itself is a taboo for Linux
netdev. I would like to summon potential alternatives before concluding
1-netdev is the only solution too soon.
Thanks,
-Siwei
Your scripts would not work at all then, right?
At this point we don't claim images with such usage as SR-IOV live
migrate-able. We would flag it as live migrate-able until this ethtool
config issue is fully addressed and a transparent live migration
solution emerges in upstream eventually.
The hyper-v netvsc with 1-dev model uses a timeout to allow udev to do its
rename.
I proposed a patch to key state change off of the udev rename, but that patch
was
rejected.
Of course that would mean nothing works without udev - was
that the objection? Could you help me find that discussion pls?
Yeah, the kernel should work with and without udev rename - typically
the kernel is agnostic of upcoming rename. User may opt out for kernel
provided names (particularly on older distros) then no rename would ever
happen.
I ever thought about this approach but didn't think it would fit. But,
what is the historical reason that prevents slave from being renamed
after being opened? Could we specialize a code path for this kernel
created device, as net_failover shouldn't carry over any history burden?
Thanks,
-Siwei