netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Richard Weinberger <richard@nod.at>
To: davem@davemloft.net
Cc: coreteam@netfilter.org, netfilter-devel@vger.kernel.org,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	bhutchings@solarflare.com, john.fastabend@gmail.com,
	herbert@gondor.apana.org.au, vyasevic@redhat.com,
	jiri@resnulli.us, vfalico@gmail.com, therbert@google.com,
	edumazet@google.com, yoshfuji@linux-ipv6.org, jmorris@namei.org,
	kuznet@ms2.inr.ac.ru, kadlec@blackhole.kfki.hu, kaber@trash.net,
	pablo@netfilter.org, kay@vrfy.org, stephen@networkplumber.org
Subject: [RFC] Make predictable/persistent network interface names more handy
Date: Sun, 11 Jan 2015 21:52:48 +0100	[thread overview]
Message-ID: <1421009571-5279-1-git-send-email-richard@nod.at> (raw)

Since the Linux distribution of my choice makes use of
predictable network interface names[0] my USB gadgets
are no longer usb0 but enp0s29u1u2. Same for all other network devices.
While I can fully understand that this new naming scheme makes sense
for a lot of people and makes their work easier it does not really work for me.
My brain is not able to remember that my Beaglebone's USB-Ethernet
is now enp0s29u1u2. Even after looking at the output of ifconfig
I have to copy&paste the interface name.
Instead of just disabling the feature I thought about
a generic solution which satisfies both needs.

For block devices we also have predictable device names,
udev creates a symlink to the kernel device.
This works very good and reliable.
My idea is to use the network device alias as symlink.
Such that we can have both the easy to use kernel name and
the predictable/persistent name from udev.
systemd/udev could store the original kernel interface name
as alias after renaming the interface.
Existing users would not notice but one can still use the kernel name.
So I can use tcpdump -i usb0 _and_ tcpdump -i enp0s29u1u2.

This patch series implements my idea.
I'd love to get some feedback!

Patch 1/3 exposes the interfaces alias for general userspace usage, i.e. that ifconfig <alias> works.
Of course you can only use the first 15 chars of an alias.

In-kernel users of interface names need also an update, patch 2/3 updates x_tables.
I'm sure there is more todo, i.e. nftables.
We could also define that netfilter will never use the alias but this needs documented cleary.

Patch 3/3 is a cleanup in continuation of 2/3.

[0] http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

Thanks,
//richard

git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc.git netalias

[PATCH 1/3] net: Make interface aliases available for general usage
[PATCH 2/3] x_tables: Use also dev->ifalias for interface matching
[PATCH 3/3] x_tables: Factor out 16bit aligment ifname_compare()

 include/linux/netdevice.h          |  1 +
 include/linux/netfilter/x_tables.h | 41 +++++++++++++++++++++++++++---
 include/net/net_namespace.h        |  1 +
 net/core/dev.c                     | 52 ++++++++++++++++++++++++++++++++++++++
 net/ipv4/netfilter/arp_tables.c    | 37 ++++-----------------------
 net/ipv4/netfilter/ip_tables.c     | 15 ++++-------
 net/ipv6/netfilter/ip6_tables.c    | 18 +++++--------
 net/netfilter/xt_physdev.c         |  9 ++-----
 8 files changed, 110 insertions(+), 64 deletions(-)

             reply	other threads:[~2015-01-11 20:52 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-11 20:52 Richard Weinberger [this message]
2015-01-11 20:52 ` [PATCH 1/3] net: Make interface aliases available for general usage Richard Weinberger
2015-01-11 22:40   ` Stephen Hemminger
2015-01-11 22:43     ` Richard Weinberger
2015-01-11 20:52 ` [PATCH 2/3] x_tables: Use also dev->ifalias for interface matching Richard Weinberger
2015-01-12 16:04   ` Eric Dumazet
2015-01-12 16:12     ` Richard Weinberger
2015-01-12 16:32     ` Jan Engelhardt
2015-01-12 16:46       ` Eric Dumazet
     [not found]     ` <1425960.ovH4s7sjue@rofl>
2015-01-12 16:51       ` Eric Dumazet
2015-01-12 17:19         ` Patrick Schaaf
2015-01-12 17:22           ` Patrick McHardy
2015-01-12 17:41             ` Patrick Schaaf
2015-01-11 20:52 ` [PATCH 3/3] x_tables: Factor out 16bit aligment ifname_compare() Richard Weinberger
2015-01-11 20:59   ` Joe Perches
2015-01-11 21:02     ` Richard Weinberger
2015-01-11 21:14       ` Joe Perches
2015-01-11 21:30         ` Richard Weinberger
2015-01-11 21:39           ` Joe Perches
2015-01-11 21:42             ` Richard Weinberger
2015-01-12  2:50               ` David Miller
2015-01-12  8:18                 ` Richard Weinberger
2015-01-12  8:40                   ` Joe Perches
2015-01-11 22:23           ` Jan Engelhardt
2015-01-11 22:42 ` [RFC] Make predictable/persistent network interface names more handy Stephen Hemminger
2015-01-11 22:47   ` Richard Weinberger
2015-01-11 22:51   ` Richard Weinberger

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=1421009571-5279-1-git-send-email-richard@nod.at \
    --to=richard@nod.at \
    --cc=bhutchings@solarflare.com \
    --cc=coreteam@netfilter.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=jiri@resnulli.us \
    --cc=jmorris@namei.org \
    --cc=john.fastabend@gmail.com \
    --cc=kaber@trash.net \
    --cc=kadlec@blackhole.kfki.hu \
    --cc=kay@vrfy.org \
    --cc=kuznet@ms2.inr.ac.ru \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=netfilter-devel@vger.kernel.org \
    --cc=pablo@netfilter.org \
    --cc=stephen@networkplumber.org \
    --cc=therbert@google.com \
    --cc=vfalico@gmail.com \
    --cc=vyasevic@redhat.com \
    --cc=yoshfuji@linux-ipv6.org \
    /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).