Re: [Toybox] complaining about 'ifconfig' - better use 'ip'
* 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'
* 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'
* 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'
* 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'
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'
* 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
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
* 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'
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