Re: [Toybox] complaining about 'ifconfig' - better use 'ip'
* Isaac Dunham idun...@lavabit.com [06.04.2013 08:22]: 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 bastian@box:~$ for F in ifconfig route arp netstat; do man $F; done | wc -c 35308 bastian@box:~$ for F in ip-address ip-route ip-neighbour ip-link; do man $F; done | wc -c 35337 but really, i dont see the point to argue about lines or bytes, when ip can do a lot more and please consider, that all 'ip'-commands share the same syntax so if you know one, you can also work with another (not possible with net-tools). 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]: 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
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
Re: [Toybox] complaining about 'ifconfig' - better use 'ip'
* Rob Landley r...@landley.net [04.04.2013 10:03]: $ man ip | wc -l 1853 $ man ifconfig | wc -l 185 here: bastian@box:~$ for F in ifconfig arp netstat route; do man $F; done | wc -l 756 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 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 [04.04.2013 10:03]: I've used ip a couple times. I mostly use ifconfig, because it's there and I see no upside in using ip. I also use iwlist and iwlist is also dead since a long time, the successor is 'iw' which shares/imitates to 'ip' syntax ifenslave and tunctl and various other tools. Does ip have some kind of plugin architecture to suck all that into one big monolithic command? there is not plugin-arch, just one command which simply manipulates the kernels netlink-interface. 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. Is there a standard on this? I'm happy to implement a standard... 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. 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 Thu, 4 Apr 2013 10:17:17 +0200 Bastian Bittorf bitt...@bluebottle.com wrote: i will. there is no work done anymore on ifconfig, even the manpage says to switch. My copy of the ifconfig man page does not mention the ip command, and certainly does not say to switch. On Wed, 03 Apr 2013 20:03:46 -0500 Rob Landley r...@landley.net wrote: Right, let's get back to the current 1.0 goal of toybox, which is making android self-hosting, which involves replacing android toolbox, which has ifconfig but does not have ip. We _cannot_ replace toolbox without implementing ifconfig. We can do so without implementing ip. THAT's the real reason why toybox should keep ifconfig and friends. pre existing systems we want toybox to be a drop in replacement for already assume the existence of ifconfig. If a power user thinks the ip command is better, they can install that to. The two can live quite happily with each other. If something we want to be a drop in replacement for requires the ip command, we can do both with some shared code. Toybox already has an ifconfig implementation. If you want an ip implementation, submit one. If you don't want ifconfig in toybox, disable it when you build it. The rest of the arguments seem pretty pointless and annoying. -- 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 [04.04.2013 10:03]: I agree ipv6 is coming. I don't understand why you think ifconfig can't trivially support ipv6. The one in android toolbox does. (Note: you are right, some people have hacked ipv6-support into ifconfig. whats missing (because it would break the output for parsing), some informations about ipv6 internals. (which 'ip' shows) android toolbox has ifconfig. does not have ip. Maybe this has changed since I took a snapshot in february...) i'am shocked about that, but ofcourse: no gpl in userspace, so they took a bsd-ifconfig. iproute2 is gpl... i'am wondering how they test an internet-connection with different interfaces (e.g. wifi and 3g) without having multiple routing-tables: it simply does not work - there is no test at all! well done android 8-( if android has ifconfig (and needs ifconfig), than all the discussion is unneeded: we need it too - or is it only for developers, so apps dont rely on it? 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 [04.04.2013 10:03]: Yup, just pulled up my old Red Hat 9 image under qemu and did ifconfig eth0 10.0.2.15/31 and it worked fine. you are right, shame on me. Heh, it's still up at http://busybox.net/downloads/qemu/ if you'd like to try that yourself. - aliases + multiple IP's on one interface I did aliases with ifconfig in 2002, there's a colon number syntax or some such... ip address add 9.8.7.6/32 dev lo label lo:commentXY are labels supported via ifconfig? - correct output of aliases Define correct. sudo ifconfig lo:0 10.255.255.1/31 ifconfig loLink encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:5708561 errors:0 dropped:0 overruns:0 frame:0 TX packets:5708561 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3736486922 (3.7 GB) TX bytes:3736486922 (3.7 GB) lo:0 Link encap:Local Loopback inet addr:10.255.255.1 Mask:255.255.255.254 UP LOOPBACK RUNNING MTU:16436 Metric:1 this is wrong: lo:0 is no interface, so why does it show an extra interface? - 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-) other fun stuff with containers. http://landley.net/lxc/ - preparing traffic control man tc tc belongs to 'ip'. so how to you set up an 'ip rule' with ifconfig. 8-) - better parseable output (if needed, e.g. ip -oneline link show tun0) Look, I'm not saying that providing an alternate interface to the same functionality for people who are used to and expect the other interface is a bad thing, especially if it's easy to do. But that cuts _against_ your complaints about ifconfig. You're claiming ifconfig is an incapable relic, and so far not showing things that actually require ip. The point of this thread is you said that we should NOT implement ifconfig and friends. the idea behind it is: dont encourage people to use such old, incomplete, inconsistent tools. especially if you make something new, this is the chance to enforce people to use/learn the new interface. sooner or later they need to learn ip anyway, so why not doing it right? is there any distro not shipping 'ip' (iproutw2)? - 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 Look, I asked What can you do with ip that you can't do with ifconfig/route? You didn't come up with anything actually _requiring_ ip yet, that I've noticed. you negated a lot of arguments, but there are some left. but the killer-arg is the existing ifconfig in androids toolbox, so ifconfig is needed, ip is optional 8-( hopefully the person which implements 'ifconfig' will also do: arp ipmaddr iptunnel route nameif netstat 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 Thu, Apr 04, 2013 at 10:09:39AM +0200, Bastian Bittorf wrote: bastian@box:~$ man ip | wc -l 150 zs@silver:~$ for F in ip ip-address ip-addrlabel ip-link ip-maddress \ ip-monitor ip-mroute ip-neighbour ip-netns ip-ntable ip-route ip-rule \ ip-tunnel ip-xfrm; do man $F; done | wc -l 1956 zs@silver:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description:Ubuntu 12.10 Release:12.10 Codename: quantal ___ Toybox mailing list Toybox@lists.landley.net http://lists.landley.net/listinfo.cgi/toybox-landley.net
Re: [Toybox] complaining about 'ifconfig' - better use 'ip'
* David Seikel onef...@gmail.com [04.04.2013 11:25]: My copy of the ifconfig man page does not mention the ip command, and certainly does not say to switch. http://linux.die.net/man/8/ifconfig http://www.linuxfoundation.org/collaborate/workgroups/networking/net-tools (seems in debian this note on top is missing). debian is very conservative. arch linux is the other way around. happily with each other. If something we want to be a drop in replacement for requires the ip command, we can do both with some shared code. shared code makes sense. sad: a lot of code (the commandline parser) cannot share. but you are right: one can simply disable X or Z. disable it when you build it. The rest of the arguments seem pretty pointless and annoying. is always the same with people which are used to CVS and very annoyed if somebody reveals that there is now git/mercurial. nobody should be annoyed: i just encourage you to cut off old braids. 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'
* Ilya Kuzmich ilya.kuzm...@gmail.com [04.04.2013 11:42]: bastian@box:~$ man ip | wc -l 150 zs@silver:~$ for F in ip ip-address ip-addrlabel ip-link ip-maddress \ ip-monitor ip-mroute ip-neighbour ip-netns ip-ntable ip-route ip-rule \ ip-tunnel ip-xfrm; do man $F; done | wc -l 1956 thats unfair, because all those tools can do _a lot_ more than net-tools. the point is: syntax of 'ip' command is a lot more uniform, than all the net-tools stuff. so if you know 'ip address add' you also know 'ip route add' or 'ip link add' or 'ip tunnel add' and... 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 Thu, 4 Apr 2013 11:42:00 +0200 Bastian Bittorf bitt...@bluebottle.com wrote: * David Seikel onef...@gmail.com [04.04.2013 11:25]: My copy of the ifconfig man page does not mention the ip command, and certainly does not say to switch. http://linux.die.net/man/8/ifconfig http://www.linuxfoundation.org/collaborate/workgroups/networking/net-tools (seems in debian this note on top is missing). debian is very conservative. arch linux is the other way around. I was looking at the Ubuntu one, which likely inherited the Debian one. nobody should be annoyed: i just encourage you to cut off old braids. I have dreadlocks over a meter long that has taken me over a decade to grow. I'm not cutting them off. :-P -- 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'
On Thu, 4 Apr 2013 10:17:17 +0200 Bastian Bittorf bitt...@bluebottle.com wrote: * Rob Landley r...@landley.net [04.04.2013 10:03]: I've used ip a couple times. I mostly use ifconfig, because it's there and I see no upside in using ip. I also use iwlist and iwlist is also dead since a long time, the successor is 'iw' which shares/imitates to 'ip' syntax Oh? http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html#latest doesn't mention that, AFAICT. Also, iw _requires_ nl80211. I know this because it did not work for me. (ie, iw IS NOT a replacement for wireless-tools) (OT, I usually use iwmulticall, the multicall version of wireless-tools) ifenslave and tunctl and various other tools. Does ip have some kind of plugin architecture to suck all that into one big monolithic command? there is not plugin-arch, just one command which simply manipulates the kernels netlink-interface. Yuck. One monolith that does everything but no plugin architecture... 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. Well, if toybox implements ifconfig, there will be work done on ifconfig. I won't be switching. And Rob won't be. And Android won't be. In other words, if you're switching, who cares? If you want an ip command, please either write it yourself or pay for it to happen. It's not on Rob's agenda at present, and this argument over whether to implement it or ifconfig is making no headway and impeding real progress. Is there a standard on this? I'm happy to implement a standard... there is no standard, just reallive (like the mount or init-command): mount and init have specs in LSB--though it's not enough. Landley's point is that toybox aims to be standards-conformant, not to copy every command in every detail. And if you can point to a standard (POSIX, LSB, or similar, not consensus among a subset of distros which would also mandate avahi for zeroconf and pulse for audio) that says use ip, then that will mandate implementing ip. every developer in the network world has realized, that doing the 'ifconfg/route/arp/netstat'-thingy was a dead-end-street. As far as I can tell, that problem is only with the net-tools implementation of ifconfig. BSD still uses ifconfig, and so does Android. -- Isaac Dunham idun...@lavabit.com ___ Toybox mailing list Toybox@lists.landley.net http://lists.landley.net/listinfo.cgi/toybox-landley.net
Re: [Toybox] complaining about 'ifconfig' - better use 'ip'
* Isaac Dunham idun...@lavabit.com [04.04.2013 17:51]: iwlist is also dead since a long time, the successor is 'iw' which shares/imitates to 'ip' syntax Oh? http://wireless.kernel.org/en/users/Documentation/iw The old tool iwconfing, which uses Wireless Extensions interface, is deprecated and it's strongly recommended to switch to iw and nl80211 there is not plugin-arch, just one command which simply manipulates the kernels netlink-interface. Yuck. One monolith that does everything but no plugin architecture... yes, because all the networking stuff is done via netlink anyway. it makes from the architecture view no sense to split it. i will. there is no work done anymore on ifconfig, even the manpage says to switch. Well, if toybox implements ifconfig, there will be work done on ifconfig. I won't be switching. And Rob won't be. And Android won't be. you will: sooner or later 8-) even android must switch to make use of the new kernel infrastructure, e.g. if you have multiple network devices with uplink you need more than one routing-table for the fallback. for this case, they need 'ip' or they must implement something which speaks with the kernel. In other words, if you're switching, who cares? If you want an ip command, please either write it yourself or pay for it to happen. It's not on Rob's agenda at present, and this argument over whether to implement it or ifconfig is making no headway and impeding real progress. seems you are right. Is there a standard on this? I'm happy to implement a standard... there is no standard, just reallive (like the mount or init-command): mount and init have specs in LSB--though it's not enough. i poked on POSIX, which does not define it. http://www.linuxbase.org/navigator/browse/command.php where is 'init' defined? Landley's point is that toybox aims to be standards-conformant, not to copy every command in every detail. And if you can point to a standard (POSIX, LSB, or similar, not consensus among a subset of distros which would also mandate avahi for zeroconf and pulse for audio) that says use ip, then that will mandate implementing ip. the other question is: which distro has not 'iproute2' and when is the point they are all switching. in 2 years? in 5 years? lets see. every developer in the network world has realized, that doing the 'ifconfg/route/arp/netstat'-thingy was a dead-end-street. As far as I can tell, that problem is only with the net-tools implementation of ifconfig. BSD still uses ifconfig, and so does Android. yes, correct. thanks for the discussion to all - 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'
* Isaac Dunham idun...@lavabit.com [04.04.2013 17:51]: mount and init have specs in LSB--though it's not enough. fun fact: they even define 'mailx', 'perl' and 'awk' 8-) 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 04/04/2013 03:09:39 AM, Bastian Bittorf wrote: * Rob Landley r...@landley.net [04.04.2013 10:03]: $ man ip | wc -l 1853 $ man ifconfig | wc -l 185 here: bastian@box:~$ for F in ifconfig arp netstat route; do man $F; done | wc -l 756 Ok. 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 That's a lot more than 150 lines. Would you like to explain what page you were actually looking at that's 150 lines? Rob ___ 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 04/04/2013 03:17:17 AM, Bastian Bittorf wrote: * Rob Landley r...@landley.net [04.04.2013 10:03]: I've used ip a couple times. I mostly use ifconfig, because it's there and I see no upside in using ip. I also use iwlist and iwlist is also dead since a long time, the successor is 'iw' which shares/imitates to 'ip' syntax For a definition of dead that's installed by default on current ubuntu LTS. ifenslave and tunctl and various other tools. Does ip have some kind of plugin architecture to suck all that into one big monolithic command? 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. Busybox was not simpler than 20-something other packages because it implemented everything they did in a single binary. It was simpler in SPITE of that. This is something the http://www.freebsd.org/cgi/man.cgi?query=crunchgensektion=1 people 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. 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 obsolete and everyone should stop using it, because that would be a seriously dick move. People are free to continue using that as long as they like, it's a free country. If toybox isn't better enough to convince them to switch on their own, obviously I still have work to do. Is there a standard on this? I'm happy to implement a standard... 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. I'm not a developer in the network world, apparently. Neither are the people who do android. Neither are any of the other developers I've seen piping up in this thread. Neither are the (multiple) developers who sent me an ifconfig implementation. Neither is cray, my current employer, which bolted an an arp implementation on to klibc for use in initramfs. (I could go on...) As far as I can tell you've been repeatedly factually wrong without acknowledging or correcting one instance of it that I've noticed so far. I'm trying not to hold this _against_ the ip command, but it's not giving me warm fuzzies so far. 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. bye, bastian Rob ___ 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 04/04/2013 04:25:03 AM, Bastian Bittorf wrote: * Rob Landley r...@landley.net [04.04.2013 10:03]: Yup, just pulled up my old Red Hat 9 image under qemu and did ifconfig eth0 10.0.2.15/31 and it worked fine. you are right, shame on me. Sorry for complaining about it in the last email then. (Reading 'em as I see 'em...) Heh, it's still up at http://busybox.net/downloads/qemu/ if you'd like to try that yourself. - aliases + multiple IP's on one interface I did aliases with ifconfig in 2002, there's a colon number syntax or some such... ip address add 9.8.7.6/32 dev lo label lo:commentXY are labels supported via ifconfig? There's a label tool somewhere. I haven't bothered with it, I assume people will submit one if they need it. I looked into the low level API so I could build the functionality into mdev, actually... (Looking down in this very email, it's apparently nameif.) - correct output of aliases Define correct. sudo ifconfig lo:0 10.255.255.1/31 ifconfig loLink encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:5708561 errors:0 dropped:0 overruns:0 frame:0 TX packets:5708561 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3736486922 (3.7 GB) TX bytes:3736486922 (3.7 GB) lo:0 Link encap:Local Loopback inet addr:10.255.255.1 Mask:255.255.255.254 UP LOOPBACK RUNNING MTU:16436 Metric:1 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... - 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. other fun stuff with containers. http://landley.net/lxc/ - preparing traffic control man tc tc belongs to 'ip'. so how to you set up an 'ip rule' with ifconfig. 8-) I don't care. This is the difference between you and me here. If I implemented ip, it wouldn't use code from iptools. If I implement rotue it 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...) You like the ip command being its own swiss-army-knife that sucks in route and arp and such, but then tc is an external command rather than a flag to the ip monolith and that also makes it better. Right. Fine. I'm sure it makes sense to somebody. - better parseable output (if needed, e.g. ip -oneline link show tun0) Look, I'm not saying that providing an alternate interface to the same functionality for people who are used to and expect the other interface is a bad thing, especially if it's easy to do. But that cuts _against_ your complaints about ifconfig. You're claiming ifconfig is an incapable relic, and so far not showing things that actually require ip. The point of this thread is you said that we should NOT implement ifconfig and friends. 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.) especially if you make something new, this is the chance to enforce people to use/learn the new interface. No. No it isn't. There are existing users. I'm trying to serve the userbase. sooner or later they need to learn ip anyway, No, they don't. You keep saying that, and I see no reason it would ever be true. 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. - 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, we were doing movies on demand and DVR and all that long before there was a _market_ for it. (It never shipped because the rights were
Re: [Toybox] complaining about 'ifconfig' - better use 'ip'
On 04/04/2013 04:42:00 AM, Bastian Bittorf wrote: * David Seikel onef...@gmail.com [04.04.2013 11:25]: My copy of the ifconfig man page does not mention the ip command, and certainly does not say to switch. http://linux.die.net/man/8/ifconfig So a third random guy has an opinion, on the internet. 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... And they think that this thing that they don't standardize is obsoleted by this other thing they don't standardize. (seems in debian this note on top is missing). debian is very conservative. arch linux is the other way around. 55% of the linux workstation market last I checked. I'm not saying they have good technical judgement (/bin/sh-dash), but declaring normal by pointing at a minority is weird. Arch, meanwhile, declared static linking to be obsolete: http://comments.gmane.org/gmane.linux.arch.devel/19143 (Meaning aboriginal linux's default configuration won't build on it.) And they went to systemd. Those guys are _nuts_. happily with each other. If something we want to be a drop in replacement for requires the ip command, we can do both with some shared code. shared code makes sense. sad: a lot of code (the commandline parser) cannot share. but you are right: one can simply disable X or Z. disable it when you build it. The rest of the arguments seem pretty pointless and annoying. 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. 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 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 why you started it, that's why it continues. You have established nothing but that you are annoyed. i just encourage you to cut off old braids. And switch to plan 9? http://plan9.bell-labs.com/magic/man2html/8/ipconfig They don't use this ip thing either. You've never said what's _wrong_ with ifconfig. You've just gone ew. Rob ___ 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 04/04/2013 09:52:47 AM, Isaac Dunham wrote: On Thu, 4 Apr 2013 10:17:17 +0200 Bastian Bittorf bitt...@bluebottle.com wrote: 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. Noting, in passing, that he once again didn't answer my actual question. Unless i will is an answer to what's queued up to change in the near future? But this entire thread has been like that... Well, if toybox implements ifconfig, there will be work done on ifconfig. I won't be switching. And Rob won't be. And Android won't be. In other words, if you're switching, who cares? If you want an ip command, please either write it yourself or pay for it to happen. It's not on Rob's agenda at present, and this argument over whether to implement it or ifconfig is making no headway and impeding real progress. This is what I popped in to answer, in a thread I've otherwise largely lost interest in. It was never about ifconfig _or_ ip. It was about implementing an ip interface in addition to the ifconfig that somebody already submitted and that toolbox already has. Support for ifconfig was in the first version of the roadmap I checked in a year ago: http://landley.net/hg/toybox/rev/639 Support for ip still isn't. And nobody other than Bastian's ever asked for it. (They've asked for things like freeramdisk and readahead, but not that.) every developer in the network world has realized, that doing the 'ifconfg/route/arp/netstat'-thingy was a dead-end-street. As far as I can tell, that problem is only with the net-tools implementation of ifconfig. BSD still uses ifconfig, and so does Android. What exactly is the _problem_? The existing ifconfig works fine. This is like saying http://nc110.sourceforge.net/ is useless because 1.10 came out in 1996, and it's SO useless that I shouldn't have written a new implementation of for busybox. Which Denys then _replaced_ with the 1.10 version from 1996 as the default, back before I relaunched toybox... http://lists.uclibc.org/pipermail/busybox/2010-June/072734.html And I can see why he did it. (I don't agree, but I see why. I would have extended my version to have the features and optionally the user interface the other one had. But I wasn't really around for him to delegate that to, was I?) But this Oh no, the code is old! Code RUSTS! I don't get it. Linux 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. Rob ___ 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 Thu, 4 Apr 2013 11:42:00 +0200 Bastian Bittorf bitt...@bluebottle.com wrote: * David Seikel onef...@gmail.com [04.04.2013 11:25]: My copy of the ifconfig man page does not mention the ip command, and certainly does not say to switch. http://linux.die.net/man/8/ifconfig http://www.linuxfoundation.org/collaborate/workgroups/networking/net-tools (seems in debian this note on top is missing). debian is very conservative. arch linux is the other way around. Because that note is not in the original man page; meaning that it was deprecated by a third party (though there is a note under BUGS at the end, saying please use ip link for showing full address information on Infiniband--but then, is anyone planning to use infiniband with toybox? And do we have to be bug-for-bug compatible?). See: http://net-tools.git.sourceforge.net/git/gitweb.cgi?p=net-tools/net-tools;a=blob;f=man/en_US/ifconfig.8 Digging that up indicates that net-tools is very much alive, with at least 5 regular contributors within the past year or two and several 6 weeks ago. So this sounds more and more like plain, unadulterated, FUD. -- Isaac Dunham idun...@lavabit.com ___ Toybox mailing list Toybox@lists.landley.net http://lists.landley.net/listinfo.cgi/toybox-landley.net
[Toybox] complaining about 'ifconfig' - better use 'ip'
it needed some days to find the right arguments, but i try to make it short: dont implement 'ifconfig'. it's totally obsolete since nearly 10 years. nobody uses it anymore, even the manpage of 'ifconfig' shows this in big letters, it's so much restricted and doesnt know much about networking, it's a relict if the 1990's and must die. better make a stub of 'ip' and implement: ip link add/del/show ip address add/del/show ip route add/del/show ip neigh add/del/show ifconfig is so fundamentally wrong in architecture, thats not worth the work. for greybeards you can add a wrapper which translates every call to ifconfig/route/arp with a stderr output of deprecated: use 'ip address show blabla...'. sorry for the hard words, but someone must say it 8-) 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'
* Roy Tam roy...@gmail.com [03.04.2013 16:23]: nope. many script does use ifconfig. for example: http://www.linuxquestions.org/questions/linux-networking-3/how-can-i-use-udhcpc-800236/ so if you are using scripts/infrastructure which are older than 10 years maybe toybox is not for you 8-) seriously: udhcpc needs a switch to modern tools and with the wrapper i proposed it will not be a prob. 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 Wed, 3 Apr 2013 16:05:26 +0200 Bastian Bittorf bitt...@bluebottle.com wrote: it needed some days to find the right arguments, but i try to make it short: dont implement 'ifconfig'. it's totally obsolete since nearly 10 years. nobody uses it anymore, even the manpage of 'ifconfig' shows this in big letters, it's so much restricted and doesnt know much about networking, it's a relict if the 1990's and must die. One data point: I learned Linux in 2006, and use ifconfig all the time. It's much more informative, much more obvious to use (look at the output of ifconfig, then that of ip, and tell me how on earth you're going to figure out how to troubleshoot a network connection given a rescue/install environment without a manpage or reference), and has clearer output. ip suffers from UI design failure: it may be more capable, but try using it when you don't know how already and you will be lost. I knew some people who stopped using Arch when ifconfig stopped being installed by default. better make a stub of 'ip' and implement: ip link add/del/show ip address add/del/show ip route add/del/show ip neigh add/del/show ifconfig is so fundamentally wrong in architecture, thats not worth the work. for greybeards you can add a wrapper which translates every call to ifconfig/route/arp with a stderr output of deprecated: use 'ip address show blabla...'. -- Isaac Dunham idun...@lavabit.com ___ 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 Wed, 3 Apr 2013 17:28:00 +0200 Bastian Bittorf bitt...@bluebottle.com wrote: * Isaac Dunham idun...@lavabit.com [03.04.2013 17:16]: I learned Linux in 2006, and use ifconfig all the time. It's much more informative, much more obvious to use ofcourse this is always, from which side you are looking. if you are used to 'ifconfig' and never used 'ip' than you have to read something about it. same vica versa. if you are really using 'ifconfig', you should better switch now. the pain will be much worse if you wait again 2 years... If you would read the first _four_ lines instead of the first three, you would see that your response fails to address what I was saying (NOTE: there's more information after this quote): (look at the output of ifconfig, then that of ip, and tell me how on earth you're going to figure out how to troubleshoot a network connection given a rescue/install environment without a manpage or reference), Such situations _do_ occur--I've ended up in them several times. The people who stopped using Arch because of the switch did so because they couldn't get networking in the installer. If you know the command to use, ifconfig is already useful. And the --help is informative enough to start using it. ip just tries to give you a help message; I say tries because it fails to actually provide any information for someone who just knows use ip. PS: ip address add 192.168.1.2/24 dev eth0 ip address show ip route list exact 0/0 table mytable ip route get 10.63.12.4 ip neigh show Thanks for the examples. And just to add one essential example: ip link set eth0 up = ifconfig eth0 up -- Isaac Dunham idun...@lavabit.com ___ Toybox mailing list Toybox@lists.landley.net http://lists.landley.net/listinfo.cgi/toybox-landley.net
Re: [Toybox] complaining about 'ifconfig' - better use 'ip'
* Isaac Dunham idun...@lavabit.com [03.04.2013 20:18]: If you would read the first _four_ lines instead of the first three, you would see that your response fails to address what I was saying (NOTE: there's more information after this quote): ofcourse i understand your arguments: - you are not used to the syntax of 'ip' - you are not used to the output of 'ip' both arguments are valid and invalid, regarding the point of view: a user which has experience with 'ip' and is unfamiliar with 'ifconfig' has the same problems: he needs help using this tool, but: ifconfig/route/arp are 3 tools which are doing the same (manipulating network) but have different commandlines und concepts. 'ip' is a round figure where everything fits together, so easier to understand: ifconfig eth0 up = ip link set dev eth0 up ifconfig = ip address show (or 'ip a', because you can always abbreviate) maybe it hurts, but especially regarding IPv6 (it coming!) you want to have CIDR-notation which ifconfig does not know. and there are 999 examples more... http://inai.de/2008/02/19 http://techblog.rosedu.org/ifconfig-vs-iproute.html http://members.ferrara.linux.it/pioppo/howto/iproute2tunnel-en.html again, think about it: the ifconfig/route/arp-tools are totally obsolete and only because the people know the syntax of 'sccs' nobody cares about it, because there are better tools. 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 04/03/2013 09:05:26 AM, Bastian Bittorf wrote: it needed some days to find the right arguments, but i try to make it short: dont implement 'ifconfig'. I didn't. A third party submitted it, because they use it. Nobody's ever bothered to submit ip. it's totally obsolete since nearly 10 years. nobody uses it anymore, *shrug* I use it. So did the people who submitted their implementation of it. It's in the $PATH on ubuntu LTS without me having to install a package to get it. Could you be a bit more specific about what's wrong with it? So far you've said ew, which isn't really an argument. even the manpage of 'ifconfig' shows this in big letters, it's so much restricted and doesnt know much about networking, Are you saying it's simple and minimal, just enough to get the job done? This is a bad thing? it's a relict if the 1990's and must die. Um, cat and ls are relics of the 1970's, are they on the hit list too? better make a stub of 'ip' and implement: ip link add/del/show ip address add/del/show ip route add/del/show ip neigh add/del/show What can you do with ip that you can't do with ifconfig/route? ifconfig is so fundamentally wrong in architecture, thats not worth the work. I didn't do the work. I need to do the _cleanup_ work, but that tends to be true of most external submissions. (I'm picky. I'm also apparently unusually good at the programming equivalent of haiku.) for greybeards you can add a wrapper which translates every call to ifconfig/route/arp with a stderr output of deprecated: use 'ip address show blabla...'. I was planning on simplifying the underlying infrastructure rather a lot, yes. sorry for the hard words, but someone must say it 8-) Why must someone say it? Neither is specified by Posix _or_ LSB. (I'd very much like it if somebody could point me to a standard for this crud. The closest I've got is man pages.) I'm willing to be convinced, but that wasn't it. Rob ___ 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 [03.04.2013 21:44]: it's totally obsolete since nearly 10 years. nobody uses it anymore, *shrug* I use it. So did the people who submitted their implementation of it. It's in the $PATH on ubuntu LTS without me having to install a package to get it. 8-) ofcourse i overdraw and provoked. even the manpage of 'ifconfig' shows this in big letters, it's so much restricted and doesnt know much about networking, Are you saying it's simple and minimal, just enough to get the job done? This is a bad thing? if it _would_ be simple, minimal and useful then nobody would use 'ip' it's a relict if the 1990's and must die. Um, cat and ls are relics of the 1970's, are they on the hit list too? cat makes sense, ls is useful enough that we all can live with it's errors. (i dont know a better tool to do this job). better make a stub of 'ip' and implement: ip link add/del/show ip address add/del/show ip route add/del/show ip neigh add/del/show What can you do with ip that you can't do with ifconfig/route? - all the IPv6 stuff - CIDR-notation - aliases + multiple IP's on one interface - correct output of aliases - tunnels - more than one routing table (policy routing) - preparing traffic control - better readable scripts (!) e.g. get the default route: 'ip route list exact 0/0' - better parseable output (if needed, e.g. ip -oneline link show tun0) - you can rename interfaces - multicast working - fine control over all netlink-params (e.g. txqueuelen) - http://inai.de/2008/02/19 - http://www.reddit.com/r/networking/comments/1a7z6z/the_missing_man_page_for_ifconfig_xpost_from/ ofcourse i'am fine with both implementations, but IMHO it's better to let 'ifconfig' die, than to enforce people to learn the syntax for 4 tools (ifconfig, route, arp, netstat - which are doing the same (manipulating network-stack) but inconsitently), instead of 1 tool which has the same clean syntax everywhere. 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 04/03/2013 10:28:00 AM, Bastian Bittorf wrote: * Isaac Dunham idun...@lavabit.com [03.04.2013 17:16]: I learned Linux in 2006, and use ifconfig all the time. It's much more informative, much more obvious to use ofcourse this is always, from which side you are looking. if you are used to 'ifconfig' and never used 'ip' than you have to read something about it. same vica versa. I've used ip a couple times. I mostly use ifconfig, because it's there and I see no upside in using ip. I also use iwlist and ifenslave and tunctl and various other tools. Does ip have some kind of plugin architecture to suck all that into one big monolithic command? 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? Is there a standard on this? I'm happy to implement a standard... bye, bastian PS: ip address add 192.168.1.2/24 dev eth0 ip address show ip route list exact 0/0 table mytable ip route get 10.63.12.4 ip neigh show Can use the ip command to manipulate the arp cache too? [checks] Of course you can. So for me to implement ip is as much code as for me to implement _how_ many other commands? Does it have code for moving interfaces into and out of containers too? $ man ip | wc -l 1853 $ man ifconfig | wc -l 185 Oh yes, obviously a much simpler command than ifconfig. Obvious choice, really. (How do I trigger the built in dhcp client, I'm not finding it in the man page. Did ubuntu not compile that in? I vaguely remember using it once...) $ man bash | wc -l 5459 I suppose I can take solace that the bash man page is almost 3 times as long as the ip man page... Rob ___ 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 04/03/2013 03:21:17 PM, Bastian Bittorf wrote: * Rob Landley r...@landley.net [03.04.2013 21:44]: it's totally obsolete since nearly 10 years. nobody uses it anymore, *shrug* I use it. So did the people who submitted their implementation of it. It's in the $PATH on ubuntu LTS without me having to install a package to get it. 8-) ofcourse i overdraw and provoked. even the manpage of 'ifconfig' shows this in big letters, it's so much restricted and doesnt know much about networking, Are you saying it's simple and minimal, just enough to get the job done? This is a bad thing? if it _would_ be simple, minimal and useful then nobody would use 'ip' it's a relict if the 1990's and must die. Um, cat and ls are relics of the 1970's, are they on the hit list too? cat makes sense, ls is useful enough that we all can live with it's errors. (i dont know a better tool to do this job). better make a stub of 'ip' and implement: ip link add/del/show ip address add/del/show ip route add/del/show ip neigh add/del/show What can you do with ip that you can't do with ifconfig/route? - all the IPv6 stuff Toolbox ifconfig does that. - CIDR-notation I dunno what that is. Google... http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Oh, you mean being able to say /30 at the end of an address without it being a class A/B/C address? I think that started working in ifconfig around... Red Hat 7? In 2000 or so? (I used it in the administration scripts for the WebOffice iLand gateway, that can't have been later than 2002.) I'm pretty sure I did that on Red Hat 9 in 2003... Yup, just pulled up my old Red Hat 9 image under qemu and did ifconfig eth0 10.0.2.15/31 and it worked fine. Heh, it's still up at http://busybox.net/downloads/qemu/ if you'd like to try that yourself. - aliases + multiple IP's on one interface I did aliases with ifconfig in 2002, there's a colon number syntax or some such... - correct output of aliases Define correct. sudo ifconfig lo:0 10.255.255.1/31 ifconfig loLink encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:5708561 errors:0 dropped:0 overruns:0 frame:0 TX packets:5708561 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3736486922 (3.7 GB) TX bytes:3736486922 (3.7 GB) lo:0 Link encap:Local Loopback inet addr:10.255.255.1 Mask:255.255.255.254 UP LOOPBACK RUNNING MTU:16436 Metric:1 - tunnels There's an iptunnel command in net-tools. - more than one routing table (policy routing) Never tried, but I've done some fun stuff with iptables and some other fun stuff with containers. http://landley.net/lxc/ - preparing traffic control man tc - better readable scripts (!) Matter of opinion. e.g. get the default route: 'ip route list exact 0/0' There's probably a cleaner way than route -n | grep UG | awk '{print $2}' but I didn't bother to check the man page because I know that one off the top of my head. - better parseable output (if needed, e.g. ip -oneline link show tun0) Look, I'm not saying that providing an alternate interface to the same functionality for people who are used to and expect the other interface is a bad thing, especially if it's easy to do. But that cuts _against_ your complaints about ifconfig. You're claiming ifconfig is an incapable relic, and so far not showing things that actually require ip. The point of this thread is you said that we should NOT implement ifconfig and friends. - 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?) - fine control over all netlink-params (e.g. txqueuelen) There's a txqueuelen option the ubuntu 12.04 ifconfig man page. - http://inai.de/2008/02/19 Somebody in germany had an opinion in a blog post 5 years ago. - http://www.reddit.com/r/networking/comments/1a7z6z/the_missing_man_page_for_ifconfig_xpost_from/ The page this points to disproves your own arguments about ipv6 and txqueuelen, it documents how ifconfig supports modern features, did you bother to read... Oh, I see, you wanted me to see the reddit comments where somebody posted a good ifconfig resource and youtube commenters attacked them saying that systemd is the one true way and resistance is futile. Look, I asked What can you do with ip that you can't do with ifconfig/route? You didn't come up with anything actually _requiring_ ip yet, that I've noticed. ofcourse i'am fine with both implementations, I... hnh... wh...? Let me quote your first message in this thread: