On 3/5/2019 4:36 PM, Michael S. Tsirkin wrote:
On Tue, Mar 05, 2019 at 04:20:50PM -0800, si-wei liu wrote:
On 3/5/2019 4:06 PM, Michael S. Tsirkin wrote:
On Tue, Mar 05, 2019 at 11:35:50AM -0800, si-wei liu wrote:
On 3/5/2019 11:24 AM, Stephen Hemminger wrote:
On Tue, 5 Mar 2019 11:19:32 -0800
si-wei liu <si-wei....@oracle.com> wrote:
I have a vague idea: would it work to *not* set
IFF_UP on slave devices at all?
Hmm, I ever thought about this option, and it appears this solution is
more invasive than required to convert existing scripts, despite the
controversy of introducing internal netdev state to differentiate user
visible state. Either we disallow slave to be brought up by user, or to
not set IFF_UP flag but instead use the internal one, could end up with
substantial behavioral change that breaks scripts. Consider any admin
script that does `ip link set dev ... up' successfully just assumes the
link is up and subsequent operation can be done as usual.
How would it work when carrier is off?
While it *may*
work for dracut (yet to be verified), I'm a bit concerned that there are
more scripts to be converted than those that don't follow volatile
failover slave names. It's technically doable, but may not worth the
effort (in terms of porting existing scripts/apps).
Thanks
-Siwei
Won't work for most devices. Many devices turn off PHY and link layer
if not IFF_UP
True, that's what I said about introducing internal state for those driver
and other kernel component. Very invasive change indeed.
-Siwei
Well I did say it's vague.
How about hiding IFF_UP from dev_get_flags (and probably
__dev_change_flags)?
Any different? This has small footprint for the kernel change for sure,
while the discrepancy is still there. Anyone who writes code for IFF_UP will
not notice IFF_FAILOVER_SLAVE.
Not to mention more userspace "fixup" work has to be done due to this
change.
-Siwei
Point is it's ok since most userspace should just ignore slaves
- hopefully it will just ignore it since it already
ignores interfaces that are down.
Admin script thought the interface could be bright up and do further
operations without checking the UP flag. It doesn't look to be a
reliable way of prohibit userspace from operating against slaves.
-Siwei