Re: [PATCH] Revert "cfg80211: make WEXT compatibility unselectable"

Michal Kubecek
2015-01-05T07:26:54Z

On Thu, Jan 01, 2015 at 02:44:17PM -0500, Lennart Sorensen wrote:

> not handling IPv6 (I think that has been fixed by now), and many
> other awfulnesses.

Some basic setting can be done. But it illustrates nicely what is wrong
with the idea of extending ifconfig to support new features. IPv6
addresses are added and removed (which is how it really works) while
with IPv4, ifconfig keeps pretending interface has exactly one address
and to set more, a virtual interface must be created. In reality, both
IPv4 and IPv6 addresses are handled in pretty much the same way.

This "virtual interface" does not actually exist so that its parameters
can't be set; and worse, if you try, ifconfig silently sets them for the
actual interface (try e.g. "ifconfig eth0:0 mtu 1400"). You also can't
use its name with other commands. Just google for users asking why
iptables or tcpdump does not recognize their 'eth0:0'... and then people
come and say that ip (unlike ifconfig) is confusing.

But, yes, as the old ioctl interface can't be removed, lot of people
will claim that ifconfig "just works" and that it must be preserved. And
they will teach new generations of linux users to use it. So I'm afraid
this exact discussion will be still repeated even after next 15 years.

> Would be nice if all features of the ip command were actually documented,
> but they clearly are not.

As far as I can say, there may still be some missing parts but in recent
versions, both manual pages and "ip ... help" cover the functions quite
well (even if they are a bit too terse sometimes). On the other hand,
"route --help" doesn't even tell me how to add a simple route.

Michal Kubecek