Go to file
David Ahern 3b88380b07 Merge branch 'pcp-prio-apptrust' into next
Daniel Machon  says:

====================

This patch series makes use of the newly introduced [1] DCB_APP_SEL_PCP
selector, for PCP/DEI prioritization, and DCB_ATTR_IEEE_APP_TRUST
attribute for configuring per-selector trust and trust-order.

========================================================================
New parameter "pcp-prio" to existing "app" subcommand:
========================================================================

A new pcp-prio parameter has been added to the app subcommand, which can
be used to classify traffic based on PCP and DEI from the VLAN header.
PCP and DEI is specified in a combination of numerical and symbolic
form, where 'de' (drop-eligible) means DEI=1 and 'nd' (not-drop-eligible)
means DEI=0.

Map PCP 1 and DEI 0 to priority 1
$ dcb app add dev eth0 pcp-prio 1nd:1

Map PCP 1 and DEI 1 to priority 1
$ dcb app add dev eth0 pcp-prio 1de:1

========================================================================
New apptrust subcommand for configuring per-selector trust and trust
order:
========================================================================

This new command currently has a single parameter, which lets you
specify an ordered list of trusted selectors. The microchip sparx5
driver is already enabled to offload said list of trusted selectors. The
new command has been given the name apptrust, to indicate that the trust
covers APP table selectors only. I found that 'apptrust' was better than
plain 'trust' as the latter does not indicate the scope of what is to be
trusted.

Example:

Trust selectors dscp and pcp, in that order:
$ dcb apptrust set dev eth0 order dscp pcp

Trust selectors ethtype, stream-port and pcp, in that order
$ dcb apptrust set dev eth0 order ethtype stream-port pcp

Show the trust order
$ dcb apptrust show dev eth0 order order: ethtype stream-port pcp

A concern was raised here [2], that 'apptrust' would not work well with
matches(), so instead strcmp() has been used to match for the new
subcommand, as suggested here [3]. Same goes with pcp-prio parameter for
dcb app.

The man page for dcb_app has been extended to cover the new pcp-prio
parameter, and a new man page for dcb_apptrust has been created.

[1] https://lore.kernel.org/netdev/20221101094834.2726202-1-daniel.machon@microchip.com/
[2] https://lore.kernel.org/netdev/20220909080631.6941a770@hermes.local/
[3] https://lore.kernel.org/netdev/Y0fP+9C0tE7P2xyK@shredder/

====================

Signed-off-by: David Ahern <dsahern@kernel.org>
2022-12-08 09:23:56 -07:00
bash-completion devlink: add support for running selftests 2022-08-04 12:34:28 -06:00
bridge bridge: Remove unused function argument 2022-11-16 16:55:23 -07:00
dcb dcb: add new subcommand for apptrust 2022-12-08 09:22:47 -07:00
devlink devlink: support direct region read requests 2022-12-08 09:21:10 -07:00
doc/actions doc: fix 'infact' --> 'in fact' typo 2022-05-13 16:34:09 -07: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: remove unused vars in Makefile 2022-10-26 08:53:02 -07:00
include libnetlink: Fix wrong netlink header placement 2022-12-08 09:20:27 -07:00
ip Merge branch 'main' into next 2022-12-02 08:59:28 -07:00
lib json: do not escape single quotes 2022-11-03 11:30:20 -07:00
man dcb: add new subcommand for apptrust 2022-12-08 09:22:47 -07:00
misc ss: re-add TIPC query support 2022-10-20 15:59:57 -07:00
netem doc: remove trailing whitespace 2018-12-19 12:02:38 -08:00
rdma uapi: update headers from 6.0-rc1 2022-08-14 19:25:21 -07:00
schema bridge: add json schema for bridge fdb show 2016-07-20 12:02:02 -07:00
tc Merge branch 'main' into next 2022-12-02 08:59:28 -07:00
testsuite testsuite: Add test for ip --json neigh get 2022-12-02 08:55:24 -07:00
tipc tipc: fix keylen check 2022-05-17 12:57:45 -07:00
vdpa vdpa: allow provisioning device features 2022-12-02 08:54:01 -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: Define _GNU_SOURCE when checking for setns 2022-08-12 08:21:09 -07:00
COPYING Update address of FSF in license 2008-03-08 13:31:03 -08:00
Makefile Makefile: move HAVE_MNL check to top-level Makefile 2022-03-12 09:00:56 -07: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