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]
Message-Id: <cover.1593509090.git.petrm@mellanox.com>
Date:   Tue, 30 Jun 2020 13:14:48 +0300
From:   Petr Machata <petrm@...lanox.com>
To:     netdev@...r.kernel.org
Cc:     Stephen Hemminger <stephen@...workplumber.org>,
        David Ahern <dsahern@...il.com>,
        Petr Machata <petrm@...lanox.com>
Subject: [PATCH iproute2-next v2 0/4] Support qevents

To allow configuring user-defined actions as a result of inner workings of
a qdisc, a concept of qevents was recently introduced to the kernel.
Qevents are attach points for TC blocks, where filters can be put that are
executed as the packet hits well-defined points in the qdisc algorithms.
The attached blocks can be shared, in a manner similar to clsact ingress
and egress blocks, arbitrary classifiers with arbitrary actions can be put
on them, etc.

For example:

# tc qdisc add dev eth0 root handle 1: \
	red limit 500K avpkt 1K qevent early_drop block 10
# tc filter add block 10 \
	matchall action mirred egress mirror dev eth1

This patch set introduces the corresponding iproute2 support. Patch #1 adds
the new netlink attribute enumerators. Patch #2 adds a set of helpers to
implement qevents, and #3 adds a generic documentation to tc.8. Patch #4
then adds two new qevents to the RED qdisc: mark and early_drop.

Changes from v1 to v2:
- Patch #3:
    - s/early/early_drop/ in the example.

Changes from RFC to v1:
- Rename "tail" qevent to "tail_drop".
- Adapt to the new 100-column standard.
- Add a selftest

Petr Machata (4):
  uapi: pkt_sched: Add two new RED attributes
  tc: Add helpers to support qevent handling
  man: tc: Describe qevents
  tc: q_red: Add support for qevents "mark" and "early_drop"

 include/uapi/linux/pkt_sched.h |   2 +
 man/man8/tc-red.8              |  18 ++-
 man/man8/tc.8                  |  19 ++++
 tc/Makefile                    |   1 +
 tc/q_red.c                     |  30 ++++-
 tc/tc_qevent.c                 | 202 +++++++++++++++++++++++++++++++++
 tc/tc_qevent.h                 |  49 ++++++++
 7 files changed, 317 insertions(+), 4 deletions(-)
 create mode 100644 tc/tc_qevent.c
 create mode 100644 tc/tc_qevent.h

-- 
2.20.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ