Go to file
Petr Machata 1b5c7414a4 dcb: Fix error reporting when accessing "dcb app"
Currently dcb decodes the response from "dcb app add" and "del" by
interpreting the returned attribute as u8. But the value stored there is
actually a negative errno value.

Additionally, "dcb app" currently shows two sets of messages, one in
dcb_set_attribute_attr_cb() where the issue is detected, and another as a
result of error return from that function.

The current state is as follows:

	# dcb app add dev swp36 dscp-prio 20:2
	Error when attempting to set attribute: Unknown error 239
	Attribute write: No such file or directory

Fix the "unknown error" issue by correctly decoding the attribute as i8 and
negating it. Furthermore, set errno to that value, and let the top-level
"attribute write" error message show the correct message.

Initialize errno to 0 before the dcb_talk() dispatch, and make the error
print conditional on errno != 0. This way the few error messages that are
worth describing in the place where they are detected will not cause the
second error message to be printed.

The fixed reporting looks like this:

	# dcb app add dev swp36 dscp-prio 20:2
	Attribute write: File exists

Reported-by: Maksym Yaremchuk <maksymy@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2022-02-16 12:12:19 -08:00
bash-completion devlink: add support for port params get/set 2021-02-11 09:21:24 -07:00
bridge Merge branch 'main' into next 2021-10-09 17:47:47 -06:00
dcb dcb: Fix error reporting when accessing "dcb app" 2022-02-16 12:12:19 -08:00
devlink Merge branch 'main' into next 2021-11-04 09:45:31 -06:00
doc/actions Fix some typos detected by Lintian in manpages 2021-11-09 10:45:44 -08:00
etc/iproute2 Add Open/R to rt_protos 2021-03-30 03:04:09 +00:00
examples/bpf examples/bpf: add bpf examples with BTF defined maps 2020-11-24 22:14:08 -07:00
genl genl: ctrl: print op -> policy idx mapping 2020-10-11 20:10:09 -06:00
include uapi: update kernel headers from 5.17-rc1 2022-01-24 09:55:39 -08:00
ip iprule: Allow option dsfield in 'ip rule show' 2022-02-01 12:56:30 -08:00
lib libnetlink: fix socket leak in rtnl_open_byproto() 2022-02-11 11:38:51 -08:00
man man: Fix a typo in the flag documentation of ip address 2022-01-28 09:21:46 -08:00
misc ss: use freecon() instead of free() when appropriate 2022-01-31 14:37:25 -08:00
netem doc: remove trailing whitespace 2018-12-19 12:02:38 -08:00
rdma rdma: Don't allocate sparse array 2022-01-11 09:19:27 -07:00
schema bridge: add json schema for bridge fdb show 2016-07-20 12:02:02 -07:00
tc tc: fix duplicate fall-through 2022-02-14 13:07:49 -08:00
testsuite iprule: Allow option dsfield in 'ip rule show' 2022-02-01 12:56:30 -08:00
tipc tipc: bail out if key is abnormally long 2021-05-09 22:08:47 +00:00
vdpa Merge branch 'main' into next 2022-01-11 09:16:35 -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 configure: add the --libdir option 2021-10-15 17:57:20 -06:00
COPYING Update address of FSF in license 2008-03-08 13:31:03 -08:00
Makefile configure: add the --libdir option 2021-10-15 17:57:20 -06:00
README README: remove doc instructions 2021-03-20 09:29:02 -07:00
README.devel README: update location of git repositories, remove broken info link 2018-02-13 16:42:51 -08: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

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

Alexey Kuznetsov
kuznet@ms2.inr.ac.ru