Re: [Toybox] complaining about 'ifconfig' - better use 'ip'

2013-04-05 Thread Bastian Bittorf
* Rob Landley r...@landley.net [05.04.2013 09:00]:
 bastian@box:~$ man ip | wc -l
 150
 
 bastian@box:~$ lsb_release  -a
 No LSB modules are available.
 Distributor ID:  Ubuntu
 Description: Ubuntu Raring Ringtail (development branch)
 Release: 13.04
 Codename:raring
 
 You're aware that this man page is available online, right?
 
   http://manpages.ubuntu.com/manpages/precise/en/man8/ip.8.html

strange. here (150 lines, local man-page of ubuntu 13.04):

IP(8)
Linux
IP(8)



NAME
   ip - show / manipulate routing, devices, policy routing and
tunnels

SYNOPSIS
   ip [ OPTIONS ] OBJECT { COMMAND | help }


   OBJECT := { link | addr | addrlabel | route | rule | neigh |
ntable | tunnel | tuntap | maddr | mroute | mrule | monitor | xfrm |
netns | l2tp | tcp_metrics }


   OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily]
{ inet | inet6 | ipx | dnet | link } | -o[neline] }


OPTIONS
   -V, -Version
  print the version of the ip utility and exit.


   -s, -stats, -statistics
  output more information.  If the option appears twice or
more, the amount of information increases.  As a rule, the information
is statistics or some time values.


   -l, -loops
  Specify maximum number of loops the 'ip addr flush' logic
will attempt before giving up.  The default is 10.  Zero (0) means loop
until all addresses are removed.


   -f, -family
  followed by protocol family identifier: inet,
inet6,bridge,ipx,dnet or link, enforce the protocol family to use.  If
the option is not present, the protocol family is guessed from other
arguments.  If the rest of the command line does not give enough
information to guess the family, ip falls back to the default one,
usually inet or any.  link is a special family identifier meaning that
no networking protocol is involved.


   -4 shortcut for -family inet.


   -6 shortcut for -family inet6.


   -B shortcut for -family bridge.


   -0 shortcut for -family link.


   -o, -oneline
  output each record on a single line, replacing line feeds
with the '\' character. This is convenient when you want to count
records with wc(1) or to grep(1) the output.


   -r, -resolve
  use the system's name resolver to print DNS names instead
of host addresses.


IP - COMMAND SYNTAX
   OBJECT
   address
  - protocol (IP or IPv6) address on a device.


   addrlabel
  - label configuration for protocol address selection.


   l2tp   - tunnel ethernet over IP (L2TPv3).


   link   - network device.


   maddress
  - multicast address.


   monitor
  - watch for netlink messages.


   mroute - multicast routing cache entry.


   mrule  - rule in multicast routing policy database.


   neighbour
  - manage ARP or NDISC cache entries.


   netns  - manage network namespaces.


   ntable - manage the neighbor cache's operation.


   route  - routing table entry.


   rule   - rule in routing policy database.


   tcp_metrics/tcpmetrics
  - manage TCP Metrics


   tunnel - tunnel over IP.


   tuntap - manage TUN/TAP devices.


   xfrm   - manage IPSec policies.


   The names of all objects may be written in full or abbreviated
form, f.e.  address is abbreviated as addr or just a.


   COMMAND
   Specifies the action to perform on the object.  The set of
possible actions depends on the object type.  As a rule, it is possible
to add, delete and show (or list ) objects, but some objects do not
allow all of these operations or have some additional commands.  The
help command is available for all objects.  It prints out a list of
available commands and argument syntax conventions.

   If no command is given, some default command is assumed.  Usually
it is list or, if the objects of this class cannot be listed, help.


HISTORY
   ip was written by Alexey N. Kuznetsov and added in Linux 2.2.

SEE ALSO
   ip-address(8), ip-addrlabel(8), ip-l2tp(8), ip-link(8),
ip-maddress(8), ip-monitor(8), ip-mroute(8), ip-neighbour(8),
ip-netns(8), ip-ntable(8), ip-route(8), ip-rule(8), ip-tcp_metrics(8),
ip-tunnel(8), ip-xfrm(8)
   IP Command reference ip-cref.ps

REPORTING BUGS
   Report bug to the Network Developers mailing list
net...@vger.kernel.org where the development and maintenance is
primarily done.  You do not have to be subscribed to the list to send a
message there.


AUTHOR
   Original Manpage by Michail Litvak m...@owl.openwall.com



iproute2
20 Dec 2011 


___
Toybox mailing list
Toybox@lists.landley.net

Re: [Toybox] complaining about 'ifconfig' - better use 'ip'

2013-04-05 Thread Bastian Bittorf
* Rob Landley r...@landley.net [05.04.2013 09:00]:
 there is not plugin-arch, just one command which simply
 manipulates the kernels netlink-interface.
 
 A very large, very complicated command in the mold of systemd.

whats interesting to me:

the busybox-ip with all it's features (a lot more than
ifconfig/route/arp/netstat can deliver) has nearly the same size.

bastian@box:~/busybox-1.21.0$ make allnoconfig
# and activate ifconfig/arp/netstat/route
bastian@box:~/busybox-1.21.0$ ls -l busybox*
-rwxr-xr-x 1 bastian bastian  37048 Apr  5 09:18 busybox
-rwxr-xr-x 1 bastian bastian  51939 Apr  5 09:18 busybox_unstripped
-rw-r--r-- 1 bastian bastian 106920 Apr  5 09:18 busybox_unstripped.map
-rw-r--r-- 1 bastian bastian  15580 Apr  5 09:18 busybox_unstripped.out

bastian@box:~/busybox-1.21.0$ make allnoconfig
# and activate ip
bastian@gcc20:~/busybox/busybox-1.21.0$ ls -l busybox*
-rwxr-xr-x 1 bastian bastian  42696 Apr  5 09:21 busybox
-rwxr-xr-x 1 bastian bastian  56911 Apr  5 09:21 busybox_unstripped
-rw-r--r-- 1 bastian bastian 105150 Apr  5 09:21 busybox_unstripped.map
-rw-r--r-- 1 bastian bastian  15565 Apr  5 09:21 busybox_unstripped.out

and again from the design-view: it's makes no sense to split up one tool into
different ones, when you are doing the same thing (manipulating network). show
it in the syntax is enough:

ip link ...
ip address ...
ip route ...
ip rule ...
ip neigh ...
ip tunnel ...

(and more, always with the same syntax add/delete/show ...)

 never quite understood.
 
  if you are
  really using 'ifconfig', you should better switch now. the
  pain will be much worse if you wait again 2 years...
 
  In what way? I vaguely recall first hearing about ip back under
 Red
  Hat 9, which shipped in 2003. So I've been successfully largely
  ignoring it for 10 years now. What's queued up to change in the near
  future?
 
 i will. there is no work done anymore on ifconfig, even the manpage
 says to switch.
 
 You keep saying that, but like so many other things you've said you
 don't back it up, and what I can see disagrees with what you say.
 
 Giving you the benefit of the doubt of using the version of ubuntu
 you're using (which is newer than the LTS I'm using), here is the man
 page for ifconfig:
 
   http://manpages.ubuntu.com/manpages/precise/en/man8/ifconfig.8.html
 
 Please point me to the text you were referring to. I can't find it.

debian has it not 8-(
http://linux.die.net/man/8/ifconfig

 Note: if you mean _ip_ command's man page says that ifconfig is
 obsolete, this is exactly as convincing to me as Microsoft saying
 Linux is obsolete. You'll notice I'm not claiming that busybox is

no thats not the same. it would be the same, when microsoft says:
IE is obsolete, use firefox.

the network people say: ifconfig is obsolete, use ip.

 there is no standard, just reallive (like the mount or init-command):
 every developer in the network world has realized, that doing the
 'ifconfg/route/arp/netstat'-thingy was a dead-end-street.
 
 Hmmm, it's not http://en.wikipedia.org/wiki/Argumentum_ad_populum
 when they're invisible, I think it's
 http://barb.velvet.com/humor/lurkers.html except you're claiming
 _every_ eveloper thinks the same way as you do. That there are none
 who don't.

ask somebody you thrust who does networking about his opinion about that.

 Look: fconfig and friends are not coming out. Android toolbox has
 ifconfig, thus toybox needs ifconfig. The question is whether or not
 it needs ip on top of that, and I must admit you're not doing the
 best job of advocacy I've seen recently.

8-) so shame on me, i did me best. one question left:
ifconfig/arp/route/netstat in androids toolbox: are there other
programs depend on this, or is it just for the devs/debug?

bye, bastian
___
Toybox mailing list
Toybox@lists.landley.net
http://lists.landley.net/listinfo.cgi/toybox-landley.net


Re: [Toybox] complaining about 'ifconfig' - better use 'ip'

2013-04-05 Thread Bastian Bittorf
* Rob Landley r...@landley.net [05.04.2013 09:00]:
 this is wrong:
 lo:0 is no interface, so why does it show an extra interface?
 
 I note that technically lo isn't an ethernet interface in the first
 place, so you could make the same argument there...

ethernet or SLIP or lo doesnt matter. lo:0 belongs to lo and
is not an separate interface. but your are right, this is only
a small issue...

 
  - more than one routing table (policy routing)
 
  Never tried, but I've done some fun stuff with iptables and some
 
 so, because you never tried - it's not needed? 8-)
 
 No, I'm saying I'm scratching my own itch and you complaining about
 ifconfig does not trump other people submitting code to me and
 complaining in email that they would be very confused if it was
 removed because it's part of their patched version of toybox that
 they're already using in a product.

i doubt somebody is using toybox in production today. thats the reason
that i switched in: it's not too late for making it right. (when
ifconfig is fully included, than we need to maintain both:
ifconfig/arp/netstat/route and 'ip')

 won't use code from net-tools. Your complaints about horrible
 infrastructure are mind-bogglingly irrelevant, it's gonna be a fresh
 implementation. (At least when I get done with it...)

thats an important point and i agree.
but if you/somebody creates something fresh, why warm-up old soup?

 the idea behind it is:
 dont encourage people to use such old, incomplete, inconsistent tools.
 
 1) cat's older
 2) this should (eventually) be a fresh implementation
 3) we can add stuff until it's not incomplete
 4) you've never explained inconsistent, just asserted it. (No, I'm
 not interested in hearing it at the moment. I'm experiencing topic
 exhaustion.)

i did. it's inconsistent because you have different commands with
different sytax / switches which are doing the same thing:
manipulating network - nobody would implement two different
cat-implementations for 'files' and 'devices'. it's the same, because
it's the same kernel-interface.

 so why not doing it right? is there any distro
 not shipping 'ip' (iproutw2)?
 
 People made this argument for udev. I wrote mdev. This is the same
 argument people are making right now for systemd. I'm not doing
 that one.

true and valid argument.

 
  - you can rename interfaces
 
  man nameif
 
  - multicast working
 
  I'm fairly certain multicast was around in the 90's. I remember
  people bemoaning its failure even then. (How is the mbone doing?
  Netflix streaming making extensive use of that, then? Skype?
  Youtube?)
 
 multicast makes more sense in the ipv6 world
 
 No it doesn't. I was working for a set top box manufacturer in 2001,

a lot of things have changed in IPv6 since then. i understand you
arguments about this (and read the links). lets see in 5 years if
somebody is using it, or if it silently dies...hard to say.

 (I care more about quality of the code than rapidly increasing the
 feature set. All these commands already exist elsewhere, toybox needs

thats the most important point and also the thing why i'am in.

i think from architecture view, its cleaner to implement 'ip' than
fighting with all the syntax and output-issues of ifconfig.

so the question again: is ifconfig in androids-toolbox a dependency
for any other program in android?

bye, bastian
___
Toybox mailing list
Toybox@lists.landley.net
http://lists.landley.net/listinfo.cgi/toybox-landley.net


Re: [Toybox] complaining about 'ifconfig' - better use 'ip'

2013-04-05 Thread Bastian Bittorf
* Rob Landley r...@landley.net [05.04.2013 09:00]:
 http://www.linuxfoundation.org/collaborate/workgroups/networking/net-tools
 
 So they don't include network configuration in LSB, and half of LSB
 is reverting posix-2008 to posix-2001, and they've gone through _5_
 not-android embedded distributions (Maemo, Moblin, Meego, Tizen,
 Yocto), and they specified RPM as part of LSB which pissed off Ubuntu
 to no end...

this is what it want to say, because somebody use LSB as an argument
for 'ifconfig' against 'ip' ...

 Arch, meanwhile, declared static linking to be obsolete:
 
   http://comments.gmane.org/gmane.linux.arch.devel/19143

read again. somebody had an idea, but there are enough reasons
(others complained) not to do so.

 is always the same with people which are used to CVS and very
 annoyed if somebody reveals that there is now git/mercurial.
 
 I completely reject that analogy. I've used cvs, svn, git, and
 mercurial. I've also used ifconfig and ip. The cases are nothing like
 each other.

so the question: would you ever use CVS/SVN again if you have the choice?
there are still people stamping on the ground saying CVS is not obsolete.
 
 You have an irrational hatred of ifconfig, but haven't said what's
 wrong with it. Just taken it for granted that everybody knows that

i said, but seems all my arguments seem invalid. (till now, nobody
jumped in to support my opinion)

 ip is infinitely superior. It's like Jorg Schilling and Solaris vs
 Linux, or Glen Beck and gold vs the dollar.
 
 nobody should be annoyed:
 
 You. You are annoyed. This entire thread is you being annoyed. That's

you misunderstood me. i'am not annoyed, just educational.

 i just encourage you to cut off old braids.
 
 And switch to plan 9?

to 'ip' rob, to 'ip'...

bye, bastian
___
Toybox mailing list
Toybox@lists.landley.net
http://lists.landley.net/listinfo.cgi/toybox-landley.net


Re: [Toybox] complaining about 'ifconfig' - better use 'ip'

2013-04-05 Thread David Seikel
On Fri, 5 Apr 2013 10:02:40 +0200 Bastian Bittorf
bitt...@bluebottle.com wrote:

 * Rob Landley r...@landley.net [05.04.2013 09:00]:
  this is wrong:
  lo:0 is no interface, so why does it show an extra interface?
  
  I note that technically lo isn't an ethernet interface in the
  first place, so you could make the same argument there...
 
 ethernet or SLIP or lo doesnt matter. lo:0 belongs to lo and
 is not an separate interface. but your are right, this is only
 a small issue...
 
  
   - more than one routing table (policy routing)
  
   Never tried, but I've done some fun stuff with iptables and some
  
  so, because you never tried - it's not needed? 8-)
  
  No, I'm saying I'm scratching my own itch and you complaining about
  ifconfig does not trump other people submitting code to me and
  complaining in email that they would be very confused if it was
  removed because it's part of their patched version of toybox that
  they're already using in a product.
 
 i doubt somebody is using toybox in production today. thats the reason
 that i switched in: it's not too late for making it right. (when
 ifconfig is fully included, than we need to maintain both:
 ifconfig/arp/netstat/route and 'ip')
 
  won't use code from net-tools. Your complaints about horrible
  infrastructure are mind-bogglingly irrelevant, it's gonna be a fresh
  implementation. (At least when I get done with it...)
 
 thats an important point and i agree.
 but if you/somebody creates something fresh, why warm-up old soup?
 
  the idea behind it is:
  dont encourage people to use such old, incomplete, inconsistent
  tools.
  
  1) cat's older
  2) this should (eventually) be a fresh implementation
  3) we can add stuff until it's not incomplete
  4) you've never explained inconsistent, just asserted it. (No, I'm
  not interested in hearing it at the moment. I'm experiencing topic
  exhaustion.)
 
 i did. it's inconsistent because you have different commands with
 different sytax / switches which are doing the same thing:
 manipulating network - nobody would implement two different
 cat-implementations for 'files' and 'devices'. it's the same, because
 it's the same kernel-interface.
 
  so why not doing it right? is there any distro
  not shipping 'ip' (iproutw2)?
  
  People made this argument for udev. I wrote mdev. This is the same
  argument people are making right now for systemd. I'm not doing
  that one.
 
 true and valid argument.
 
  
   - you can rename interfaces
  
   man nameif
  
   - multicast working
  
   I'm fairly certain multicast was around in the 90's. I remember
   people bemoaning its failure even then. (How is the mbone doing?
   Netflix streaming making extensive use of that, then? Skype?
   Youtube?)
  
  multicast makes more sense in the ipv6 world
  
  No it doesn't. I was working for a set top box manufacturer in 2001,
 
 a lot of things have changed in IPv6 since then. i understand you
 arguments about this (and read the links). lets see in 5 years if
 somebody is using it, or if it silently dies...hard to say.
 
  (I care more about quality of the code than rapidly increasing the
  feature set. All these commands already exist elsewhere, toybox
  needs
 
 thats the most important point and also the thing why i'am in.
 
 i think from architecture view, its cleaner to implement 'ip' than
 fighting with all the syntax and output-issues of ifconfig.
 
 so the question again: is ifconfig in androids-toolbox a dependency
 for any other program in android?

Instead of continually arguing your point, it would be much better if
you put your time into writing code.  There really is no point going on
and on and on and on and on about the ip command if there's no code.
Can't put the ip command into toybox if there's no code.  So far you
have not convinced anyone, which means no one else is going to write
it.  In fact I can see that others are getting annoyed at you, that's
no way to convince people either, quite the opposite.  Right now it's
best if you shut up and show us the code.

-- 
A big old stinking pile of genius that no one wants
coz there are too many silver coated monkeys in the world.


signature.asc
Description: PGP signature
___
Toybox mailing list
Toybox@lists.landley.net
http://lists.landley.net/listinfo.cgi/toybox-landley.net


Re: [Toybox] complaining about 'ifconfig' - better use 'ip'

2013-04-05 Thread Bastian Bittorf
* Rob Landley r...@landley.net [05.04.2013 09:00]:
 What exactly is the _problem_? The existing ifconfig works fine. This

and that is the dangerous thing about it:

it's working enough, so ip will be always missing (because there
is so little Leidensdruck: 'psychological strain')

 But this Oh no, the code is old! Code RUSTS! I don't get it. Linux

the argument was:
the code/idea/implementation is old AND incomplete AND inconsistent.

only old is not a problem but all 3 together.

 2.4 doesn't support modern hardware, containers, tickless operation,
 sucks at threading and SMP. But if it had decent arm support I expect
 android would have been based on it because it ran in a quarter the
 memory the current one needs.

adventurous hypothesis. for a modern network device you want a modern
network stack which has 2.4 not. for a modern device with multitasking
you want a modern scheduler and a modern VM which has 2.4 not. for a
modern device with many interfaces (HDMI, USB, wifi) you want support
for the attachable devices which 2.4 has not. in fact it does not matter
if you have 1 gig or 1.008 gig of memory...

lets stop the discussion here, it's only timeconsuming and the
opinions are deadlocked somehow. lets see how it performs and maybe
in autumn i will jump in for 'ip'.

bye, bastian
___
Toybox mailing list
Toybox@lists.landley.net
http://lists.landley.net/listinfo.cgi/toybox-landley.net


[Toybox] Integer value parsing issue

2013-04-05 Thread Kyungwan Han
Hi,

I'm making arping, but I find some issue about parsing integer value when I
test toybox arping.

Toybox infra code handles the number values in three way:

1. if you input 10, it is treated as decimal number. it is 10
2. if you input 010, it is treated as octal number. it is 8
3. if you input 0x10, it is treated as Hex number. it is 16


So when I execute *$ toybox arping -c 010 100.0.0.1, *arping* *is executed
8 times.
In my ubuntu, however, when I execute *$ arping -c 010 100.0.0.1*, arping
is executed 10 times.
*
*
*
*
I think toybox's approach is right, because it can supports octal, hex
number automatically.
It's very useful.
But above case, some people can be confused.
Is it fine?
How about your opinion?

Thanks.
Kyungwan Han.
___
Toybox mailing list
Toybox@lists.landley.net
http://lists.landley.net/listinfo.cgi/toybox-landley.net


Re: [Toybox] Integer value parsing issue

2013-04-05 Thread Bastian Bittorf
* David Seikel onef...@gmail.com [05.04.2013 17:47]:
  2. if you input 010, it is treated as octal number. it is 8

i think this is correct. i can see no case, where somebody
exspect to interpret this as 10 decimal, because you cannot
calculate in shell with leading zeros, so no 'tool' or
script will output this by accident.

maybe for arping this is non-fatal, we have to think about
other cases...

bye, bastian
___
Toybox mailing list
Toybox@lists.landley.net
http://lists.landley.net/listinfo.cgi/toybox-landley.net


Re: [Toybox] complaining about 'ifconfig' - better use 'ip'

2013-04-05 Thread Isaac Dunham
On Fri, 5 Apr 2013 09:08:56 +0200
Bastian Bittorf bitt...@bluebottle.com wrote:

  You're aware that this man page is available online, right?
  
http://manpages.ubuntu.com/manpages/precise/en/man8/ip.8.html
 
 strange. here (150 lines, local man-page of ubuntu 13.04):
 
 IP(8)
 Linux
 IP(8)
 
 
 
 NAME
(snip 100+ lines of manpage) 
 SEE ALSO
ip-address(8), ip-addrlabel(8), ip-l2tp(8), ip-link(8),
 ip-maddress(8), ip-monitor(8), ip-mroute(8), ip-neighbour(8),
 ip-netns(8), ip-ntable(8), ip-route(8), ip-rule(8), ip-tcp_metrics(8),
 ip-tunnel(8), ip-xfrm(8)
It appears that someone just split out the help for each subcommand.
But you had better include manpages for each of the ones you want in your 
total...which is at least 
ip ip-address ip-route ip-neighbor ip-link
and probably more.

-- 
Isaac Dunham idun...@lavabit.com

___
Toybox mailing list
Toybox@lists.landley.net
http://lists.landley.net/listinfo.cgi/toybox-landley.net