From: Michael Tokarev <mjt@tls.msk.ru>
To: Network Development <netdev@vger.kernel.org>
Subject: iproute equivalent of replacing address with ifconfig?
Date: Mon, 18 May 2015 17:03:37 +0300 [thread overview]
Message-ID: <5559F139.2010801@msgid.tls.msk.ru> (raw)
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
next reply other threads:[~2015-05-18 14:10 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-18 14:03 Michael Tokarev [this message]
2015-05-18 17:46 ` iproute equivalent of replacing address with ifconfig? Cong Wang
2015-05-18 18:13 ` Michael Tokarev
2015-05-18 18:24 ` Vadim Kochan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5559F139.2010801@msgid.tls.msk.ru \
--to=mjt@tls.msk.ru \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).