FS#10160 - Replace ifconfig/route with iproute
Attached to Project:
Arch Linux
Opened by Aaron Griffin (phrakture) - Friday, 11 April 2008, 22:52 GMT
Last edited by James Rayner (iphitus) - Wednesday, 08 July 2009, 14:02 GMT
Opened by Aaron Griffin (phrakture) - Friday, 11 April 2008, 22:52 GMT
Last edited by James Rayner (iphitus) - Wednesday, 08 July 2009, 14:02 GMT
|
Details
http://www.linux-foundation.org/en/Net:Iproute2
It appears that the ifconfig way of doing this is deprecated. We should overhaul our initscripts and documentation to switch to a more modern (read: bleeding edge) system. Right now this really means /etc/rc.d/network, netcfg, and some wiki pages / user manuals. Anything else I didn't get, please add in the comments |
This task depends upon
It worked for me with static ip and dhcp. But i couldn't test bonding and brigding,
Do you have any documentation that points to one as deprecated in place of the other?
...
Considering that you can use /24 masks in "ip addr add" compared to have to use full bitmask in ifconfig .. it's also easier :)
It's also easier to set up several ip addresses to interfaces.
This is the way forward. Last net-tools release was April 01. More than 7 years ago.
I know they work great now, I know we're all familiar with them, but they won't work forever. Changing to iproute doesnt mean that we'll remove them. I'm sure we could push the old rc.d/network to [community] or [extra] or something as a separate package.
Given this is a breaking change, if there's anything else anyone wants to mix up in rc.d/network, now's a good chance.
James
- ip is presently located in /usr/sbin. This may be an issue.
- ip appears to not need any special arguments for ipv6, so ipv6 checks have been removed. Anyone using ipv6 that can confirm?
- As with original patch, bonding and bridging not tested.
netcfg has iproute2 support in git too.
Another note: IMO, we should only support very basic things in rc.conf, anything advanced should be supported in netcfg. We should remove wireless support completely from rc.conf (it only supports WEP and Open anyway, which is worthless) and once bridging and bonding get more complex, netcfg should be the place to handle these as well.
Thomas: That is a major problem, but we've broken bigger things on Arch before (initrd/initramfs). I always liked the rc.d/network scripts because they _do_ depend on the implementation. There is the thinnest layer, what you enter practically gets passed through to the commands below. If you do try to put some sort of layer.... you end up with something more like netcfg.
Breaking virtually anyone's network during update is not what I want to do (not again) - and that is exactly the problem: If we had a real configuration in place from the beginning, we could simply change the implementation without breaking things. We need to ask ourselves the following questions:
- Do we really need iproute for the very basic network configuration? Isn't it enough to have it in the advanced configuration (=netcfg)?
- If we switch, do we really want to break everyone's rc.conf? This will annoy many users (including me) while having virtually no benefit.
- If we switch and do not want to break things, do we offer a compatibility layer (complicating the scripts) or a conversion script or do we force the user to do it themselves?
I just see shady sentense without prooflink in wikipedia about it.
man 8 ip says nothing about ifconfig deprecation as well as man 8 ifconfig...
but Thomas is right, it's probably not worth the trouble moving rc.d/network over.
In arch bugtracker I found 2: this and 13334.
So, ifconfig works, ip can be used without problems. I think there is no reason to replace it...