From: "Henning P. Schmiedehausen" <hps@tanstaafl.de>
To: linux-kernel@vger.kernel.org
Subject: [little bit OT] ip _IS_ _NOT_ ifconfig and route ! (was Re: [PATCH] hashed device lookup (Does NOT meet Linus' sumission policy!))
Date: Sun, 7 Jan 2001 11:40:10 +0000 (UTC) [thread overview]
Message-ID: <939kiq$11s$1@forge.intermeta.de> (raw)
In-Reply-To: <Pine.GSO.4.30.0101062253440.18916-100000@shell.cyberus.ca>, <200101070543.VAA24689@pizda.ninka.net>
davem@redhat.com (David S. Miller) writes:
> Date: Sat, 6 Jan 2001 23:00:10 -0500 (EST)
> From: jamal <hadi@cyberus.ca>
> I think someone should just flush ifconfig down some toilet. a wrapper
> around "ip" to to give the same look and feel as ifconfig would be a good
> thing so that some stupid program that depends on ifconfig look and feel
> would be a good start.
>I could not agree more. This reminds me to do something I could not
>justify before, making netlink be enabled in the kernel and
>non-configurable.
The fact there there are no man pages, no backward compatibility and
no information for people coming from other unixes (and pretty much
everything else _has_ ifconfig and friends), that iproute does not
work with older kernels, that everyone that reads the docs and looks
for ifconfig and that booting another kernel completely breaks your ip
configuration (which is, in the times of co-located, headless servers
some 3,000 miles away somehow a concern to administrators and users)
should IMNSVHO count at least a little towards keeping the older
tools.
As long as "man ip" on my machines returns "ip(7) - ip - Linux IPv4
protocol implementation", using "ip" exclusively instead of ifconfig
and route is IMHO not an option for anyone else than bleeding edge
hackers and linux gurus.
ip is an ultra-powerful command for the linux ip routing
subsystem. But at least IMHO it introduces so many new and different
concepts that there should be an "ip_lite" config command that at
least related semantically to the ifconfig/route/arp combo, so that
you can tell newbies (and I consider in this case people with 10+
years of Solaris experience as "linux routing command newbies") that
ifconfig eth0 ----> ip link show eth0
and so on. Give a small command with a small man page for these
"normal" cases and give all-powerful "ip" for all the cool, advanced
stuff.
Maybe the major distribution vendors should pay a decent technical
writer to work with Alexey to whip up man pages for these tools. There
are none in the iproute-current package (I looked) which contains all
the informations in an unix-compatible format.
And yes, I don't consider HTML, tex, texinfo or info or (horrors) PS
and PDF format "decent documentation", Unix-style wise. At least as
long as we don't have a man command that understands HTML like Solaris
man does.
yes, it _is_ cool to type "ip route show" and pretend to be on level
with Cisco. But where is the documentation to _parse_ the displayed
information aside from reading lots of mailing list articles and code?
And don't tell me it's in the docs in the package. There is a
reference with at best terse examples.
To quote a randomly picked part (p.25):
--- cut ---
scope SCOPE_VAL
- scope of the destinations covered by the route prefix. SCOPE_VAL may
be a number or a string from the file /etc/iproute2/rt_scopes. If
this parameter is omitted, ip assumes scope global for all gatewayed
unicast routes, scope link for direct unicast routes and broadcasts
and scope host for local routes.
--- cut ---
% ip route show
192.168.2.4 dev eth0 scope link
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.4
127.0.0.0/8 dev lo scope link
default via 192.168.2.1 dev eth0
fine. Why is the last route (which is IMHO a gatewayed unicast route)
not
0.0.0.0/0 vial 192.168.2.1 dev eth0 scope global
?
In fact it behaves like this:
% ip route show scope global
default via 192.168.2.1 dev eth0
I didn't find any "the default route is displayed different and scope
global is normally omitted" in the documentation. And the list goes
on.
And, please, convert all this "link" "route" "show" with abreviations
and abiguities into either getopt "-l" "-r" "s" or long_getopts
"--link" "--route" "--show" command line options. Why? Easy: consider
link == "-t link" and show == "-s"
then
"ip -t link -s" yields the same result as "ip -s -t link"
but
% ip link show
1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:50:04:48:b9:f0 brd ff:ff:ff:ff:ff:ff
% ip show link
Object "show" is unknown, try "ip help".
any further questions? If you write scripts where you push your
arguments on a stack and then do a " join arguments into line, execute
line", having position independend argument order is a clear win over
every syntactic sugar. But then again, it is a real world use.
Regards
Henning
--
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen -- Geschaeftsfuehrer
INTERMETA - Gesellschaft fuer Mehrwertdienste mbH hps@intermeta.de
Am Schwabachgrund 22 Fon.: 09131 / 50654-0 info@intermeta.de
D-91054 Buckenhof Fax.: 09131 / 50654-20
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
next prev parent reply other threads:[~2001-01-07 11:54 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-01-06 21:33 [PATCH] hashed device lookup (Does NOT meet Linus' sumission policy!) Ben Greear
2001-01-06 23:17 ` David S. Miller
2001-01-07 4:06 ` Ben Greear
2001-01-07 5:36 ` David S. Miller
2001-01-07 13:42 ` [PATCH] hashed device lookup (Does NOT meet Linus' sumission Alan Cox
2001-01-07 15:33 ` Matti Aarnio
2001-01-07 16:46 ` Alan Cox
2001-01-07 17:32 ` Matti Aarnio
2001-01-07 19:02 ` Ben Greear
2001-01-07 18:06 ` Alan Cox
2001-01-07 18:53 ` Matti Aarnio
2001-01-07 19:30 ` Ben Greear
2001-01-07 18:30 ` Alan Cox
2001-01-07 22:40 ` 5116
2001-01-08 2:19 ` David Ford
2001-01-09 20:25 ` Christopher E. Brown
2001-01-10 2:47 ` Ben Greear
2001-01-07 18:21 ` jamal
2001-01-07 19:00 ` Matti Aarnio
2001-01-07 19:10 ` jamal
2001-01-07 19:24 ` Matti Aarnio
2001-01-08 0:21 ` jamal
2001-01-07 19:37 ` Ben Greear
2001-01-07 18:53 ` jamal
2001-01-07 3:29 ` [PATCH] hashed device lookup (Does NOT meet Linus' sumission policy!) Chris Wedgwood
2001-01-07 5:40 ` David S. Miller
2001-01-07 6:15 ` Ben Greear
2001-01-07 10:22 ` David Ford
2001-01-07 12:13 ` Chris Wedgwood
2001-01-07 12:01 ` David S. Miller
2001-01-08 5:32 ` Andi Kleen
2001-01-08 6:12 ` Chris Wedgwood
2001-01-08 6:26 ` Andi Kleen
2001-01-08 6:57 ` David Ford
2001-01-08 13:08 ` jamal
2001-01-09 13:28 ` Blu3Viper
2001-01-08 6:13 ` Blu3Viper
2001-01-07 12:19 ` David Ford
2001-01-07 16:56 ` jamal
2001-01-07 17:37 ` Gleb Natapov
2001-01-07 18:02 ` routable interfaces WAS( " jamal
2001-01-07 19:21 ` routable interfaces WAS( Re: [PATCH] hashed device lookup (DoesNOT " Ben Greear
2001-01-07 18:29 ` jamal
2001-01-07 18:51 ` Gleb Natapov
2001-01-07 19:05 ` jamal
2001-01-07 19:19 ` routable interfaces WAS( Re: [PATCH] hashed device lookup(DoesNOT " Sandy Harris
2001-01-07 20:42 ` Ben Greear
2001-01-08 0:37 ` jamal
2001-01-08 5:25 ` routable interfaces WAS( Re: [PATCH] hashed device lookup(DoesNOTmeet " Ben Greear
2001-01-08 13:05 ` jamal
2001-01-07 3:29 ` [PATCH] hashed device lookup (Does NOT meet " Andi Kleen
2001-01-07 4:00 ` jamal
2001-01-07 4:06 ` Andi Kleen
2001-01-07 5:43 ` David S. Miller
2001-01-07 11:40 ` Henning P. Schmiedehausen [this message]
2001-01-07 11:50 ` [little bit OT] ip _IS_ _NOT_ ifconfig and route ! (was Re: [PATCH] hashed device lookup (Does NOT meet Linus' sumission policy!)) David S. Miller
2001-01-07 13:47 ` [PATCH] hashed device lookup (Does NOT meet Linus' sumission Alan Cox
2001-01-07 16:12 ` jamal
2001-01-07 16:51 ` Alan Cox
2001-01-07 15:56 ` [PATCH] hashed device lookup (Does NOT meet Linus' sumission policy!) jamal
2001-01-07 16:30 ` Gleb Natapov
2001-01-07 16:36 ` jamal
2001-01-07 19:54 ` [PATCH] hashed device lookup (Does NOT meet Linus' sumissionpolicy!) Ben Greear
2001-01-07 6:24 ` Ben Greear
2001-01-07 5:29 ` Andi Kleen
2001-01-07 6:22 ` [PATCH] hashed device lookup (Does NOT meet Linus' sumission policy!) Ben Greear
2001-01-07 5:27 ` Andi Kleen
2001-01-07 8:11 ` [PATCH] hashed device lookup (Does NOT meet Linus' sumission policy!) (Benchmarks) Ben Greear
2001-01-07 7:15 ` Andi Kleen
2001-01-08 8:12 ` [PATCH] hashed device lookup (New Benchmarks) Ben Greear
2001-01-08 7:00 ` David S. Miller
2001-01-08 16:26 ` Ben Greear
2001-01-08 16:50 ` Andi Kleen
2001-01-09 16:27 ` Ben Greear
2001-01-07 13:50 ` [PATCH] hashed device lookup (Does NOT meet Linus' sumission Alan Cox
2001-01-07 16:44 ` Miquel van Smoorenburg
2001-01-07 19:09 ` Ben Greear
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='939kiq$11s$1@forge.intermeta.de' \
--to=hps@tanstaafl.de \
--cc=linux-kernel@vger.kernel.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