netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Jakub Kicinski <kubakici@wp.pl>
Cc: netdev@vger.kernel.org,
	Stephen Hemminger <sthemmin@microsoft.com>,
	Jiri Pirko <jiri@resnulli.us>
Subject: Re: [RFC] hv_netvsc: automatically name slave VF network device
Date: Tue, 19 Dec 2017 13:29:49 -0800	[thread overview]
Message-ID: <20171219132949.57926170@xeon-e3> (raw)
In-Reply-To: <20171219131816.70645a7b@cakuba.netronome.com>

On Tue, 19 Dec 2017 13:18:16 -0800
Jakub Kicinski <kubakici@wp.pl> wrote:

> On Tue, 19 Dec 2017 12:44:25 -0800, Stephen Hemminger wrote:
> > On Tue, 19 Dec 2017 12:32:34 -0800
> > Jakub Kicinski <kubakici@wp.pl> wrote:
> >   
> > > On Tue, 19 Dec 2017 11:35:37 -0800, Stephen Hemminger wrote:    
> > > > Rename the VF device to ethX_vf based on the ethX as the
> > > > synthetic device.  This eliminates the need for delay on setup,
> > > > and the PCI (udev based) naming is not reproducible on Hyper-V
> > > > anyway. The name of the VF does not matter since all control
> > > > operations take place the primary device. It does make the
> > > > user experience better to associate the names.
> > > > 
> > > > Based on feedback from all.systems.go talk.
> > > > The downside is that it requires exporting a symbol from netdev
> > > > core which makes it harder to backport.
> > > > 
> > > > Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>      
> > > 
> > > Why do you have to name the devices in the kernel space in the first
> > > place? :/  Why don't upstream the correct change to biosdevname like
> > > hardware vendors do?    
> > 
> > biosdevname is dead, gone and wouldn't work on Azure (it dumpster dives in /dev/mem).  
> 
> Hm, I haven't worked on biosdevname myself, but AFAIU it also falls 
> back to information from the PCI VPD, which could be populated by 
> the hypervisor.

VPD never had any useful standard are info.
The rules used by udev come off sysfs, see:
  https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

> 
> > I assume you mean the modern application is udev, and it works but the name is meaningless
> > because it based of synthetic PCI information. The PCI host adapter is simulated
> > for pass through devices. Names like enp12s0.
> > 
> > Since every passthrough VF device on Hyper-V/Azure has a matching synthetic
> > network device with same mac address. It is best to have the relationship
> > shown in the name.  
> 
> How about we make the VF drivers expose "vf" as phys_port_name?
> Then systemd/udev should glue that onto the name regardless of
> how the VF is used.

One of the goals was not to modify in any way other drivers (like VF).

> 
> > > Your VF setup is really _not_ special, I don't understand why we are 
> > > OK with ignoring the standard practices.  Real enterprise distroes
> > > are very careful never to break the naming of interfaces and they keep
> > > the naming policy in user space.  Playing tricks in the kernel has every
> > > chance of breaking existing user setups.    
> > 
> > Actually, Systemd folks said "naming policy is in userspace only because
> > kernel can't get it right". Also there is no uniformity in userspace
> > there are at least 5 systems trying to do network setup. And most of
> > them depend on eth0 (yes still). Fixing userspace is impossible.  

  reply	other threads:[~2017-12-19 21:29 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-19 19:35 [RFC] hv_netvsc: automatically name slave VF network device Stephen Hemminger
2017-12-19 20:32 ` Jakub Kicinski
2017-12-19 20:44   ` Stephen Hemminger
2017-12-19 21:18     ` Jakub Kicinski
2017-12-19 21:29       ` Stephen Hemminger [this message]
2017-12-19 21:55         ` Jakub Kicinski
2017-12-19 22:06           ` Stephen Hemminger
2017-12-19 22:24             ` Jakub Kicinski
2017-12-19 22:51               ` Stephen Hemminger
2017-12-19 22:44 ` Samudrala, Sridhar
2017-12-19 22:50   ` Stephen Hemminger
2017-12-19 23:20     ` Jakub Kicinski
2017-12-19 23:44       ` Stephen Hemminger
2017-12-19 23:53         ` Jakub Kicinski
2017-12-20  6:41           ` Jiri Pirko

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=20171219132949.57926170@xeon-e3 \
    --to=stephen@networkplumber.org \
    --cc=jiri@resnulli.us \
    --cc=kubakici@wp.pl \
    --cc=netdev@vger.kernel.org \
    --cc=sthemmin@microsoft.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).