Go to file
Yedaya Katsman 70ba338cd8 ip: Exit exec in child process if setup fails
If we forked, returning from the function will make the calling code to
continue in both the child and parent process. Make cmd_exec exit if
setup failed and it forked already.

An example of issues this causes, where a failure in setup causes
multiple unnecessary tries:

```
$ ip netns
ef
ab
$ ip -all netns exec ls

netns: ef
setting the network namespace "ef" failed: Operation not permitted

netns: ab
setting the network namespace "ab" failed: Operation not permitted

netns: ab
setting the network namespace "ab" failed: Operation not permitted
```

Signed-off-by: Yedaya Katsman <yedaya.ka@gmail.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2024-04-25 12:00:25 -07:00
bash-completion tc: drop support for ATM qdisc 2023-10-30 14:16:29 -07:00
bridge bridge: vlan: fix compressvlans usage 2024-03-26 10:11:05 -07:00
dcb dcb: fully initialize flag table 2023-06-28 16:31:33 -07:00
devlink spelling fixes 2024-01-25 16:49:10 -08:00
etc/iproute2 Add Open/R to rt_protos 2021-03-30 03:04:09 +00:00
examples/bpf spelling fixes 2024-01-25 16:49:10 -08:00
genl ctrl: Fix fd leak in ctrl_listen() 2024-02-08 09:21:39 -08:00
include uapi: update headers 2024-03-16 08:14:56 -07:00
ip use missing argument helper 2024-04-23 09:01:46 -07:00
lib ip: Exit exec in child process if setup fails 2024-04-25 12:00:25 -07:00
man man: fix doc, ip link does support "change" 2024-04-20 20:07:28 -07:00
misc arpd: create /var/lib/arpd on first use 2024-03-28 13:35:52 -07:00
netem netem: add SPDX license header 2023-01-14 09:00:34 -08:00
rdma spelling fixes 2024-01-25 16:49:10 -08:00
schema bridge: add json schema for bridge fdb show 2016-07-20 12:02:02 -07:00
tc use missing argument helper 2024-04-23 09:01:46 -07:00
testsuite tc: remove dsmark qdisc 2023-10-30 11:35:32 -07:00
tipc spelling fixes 2024-01-25 16:49:10 -08:00
vdpa uapi: update vdpa.h 2024-03-24 18:16:06 -07:00
.clang-format clang-format: add configuration file 2019-01-17 13:38:23 -08:00
.gitignore Remove leftovers from removed Latex documentation 2018-02-13 16:43:19 -08:00
.mailmap mailmap: map David's mail address 2019-05-15 09:50:42 -07:00
configure Merge remote-tracking branch 'main/main' into next 2024-01-08 19:25:43 +00:00
COPYING Update address of FSF in license 2008-03-08 13:31:03 -08:00
CREDITS CREDITS: add file 2023-05-13 19:25:04 -07:00
MAINTAINERS ip, link: Add support for netkit 2023-11-22 19:27:45 +00:00
Makefile arpd: create /var/lib/arpd on first use 2024-03-28 13:35:52 -07:00
README README: add note about kernel version compatibility 2024-03-13 09:43:56 -07:00
README.devel README: update location of git repositories, remove broken info link 2018-02-13 16:42:51 -08:00
SECURITY.md Add security policy 2023-09-29 16:06:42 -07:00

This is a set of utilities for Linux networking.

Information:
    https://wiki.linuxfoundation.org/networking/iproute2

Download:
    http://www.kernel.org/pub/linux/utils/net/iproute2/

Stable version repository:
    git://git.kernel.org/pub/scm/network/iproute2/iproute2.git

Development repository:
    git://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git

Compatibility
-------------
A new release of iproute2 is done with each kernel version, but
there is a wide range of compatibility. Newer versions of iproute2
will still work with older kernels, but there are some limitations.

If an iproute2 command with a new feature is used with an older
kernel, the kernel may report an error or silently ignore the new
attribute. Likewise if older iproute2 is used with an newer kernel,
it is not possible to use or see new features. The range of
compatibility extends back as far as the oldest supported Long Term
Support (LTS) kernel version.

How to compile this.
--------------------
1. libdbm

arpd needs to have the berkeleydb development libraries. For Debian
users this is the package with a name like libdbX.X-dev.
DBM_INCLUDE points to the directory with db_185.h which
is the include file used by arpd to get to the old format Berkeley
database routines.  Often this is in the db-devel package.

2. make

The makefile will automatically build a config.mk file which
contains definitions of libraries that may or may not be available
on the system such as: ATM, ELF, MNL, and SELINUX.

3. include/uapi

This package includes matching sanitized kernel headers because
the build environment may not have up to date versions. See Makefile
if you have special requirements and need to point at different
kernel include files.

Stephen Hemminger
stephen@networkplumber.org

David Ahern
dsahern@gmail.com