lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 18 May 2015 17:03:37 +0300
From:	Michael Tokarev <mjt@....msk.ru>
To:	Network Development <netdev@...r.kernel.org>
Subject: iproute equivalent of replacing address with ifconfig?

Hello.

I'm trying to find a more or less easy way to set an address of
an "interface" (I understand an interface can have N addresses).
Traditionally it was done by a comand

 ifconfig $iface 1.2.3.4 mask 5.6.7.8

What it does is effectively _replaces_ currently set address
to a new one, or just sets a new address if it is already set.
And it does that more or less atomically, at least in one go,
so that if the network has been configured before it remains
working after the command if it is successful.

ip addr command however does not have the ability to "replace"
an address, there are two commands for that, del and add.
So in order to change address, one have to delete and add,
a two-step process.  Adding an address before deleting might
not work as the new address should not conflict with old
address in any way, or else addition fails.

What I'm thinking about is, for example, a system running
out of a remote nfs root, with a dhcp client running.
Initially address has been configure by the boot loader
and is provided to the kernel/initramfs in terms of ip=
boot option.  When the system is booted, it starts dhcpc
which has to (re)configure the interface.  With ifconfig
it works just fine, but with ip addr it doesn't, since once
the old address is deleted, nfs root simple stops working,
and there's no way anymore to run anything at all.

Trying to see which addresses are already configured for
the interface, what has changed compared to the new address
etc, and working around various combinations and conflicts
in shell is not really an option, it quickly becomes
unmanageable.

What's the closest equivalent of `ifconfig $iface $address'
command to set-or-replace a (named) IP address?

Thanks,

/mjt
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ