Go to file
Guillaume Nault a7246d3949 selftest: net: Test IPv4 PMTU exceptions with DSCP and ECN
[ Upstream commit ec730c3e1f ]

Add two tests to pmtu.sh, for verifying that PMTU exceptions get
properly created for routes that don't belong to the main table.

A fib-rule based on the packet's DSCP field is used to jump to the
correct table. ECN shouldn't interfere with this process, so each test
has two components: one that only sets DSCP and one that sets both DSCP
and ECN.

One of the test triggers PMTU exceptions using ICMP Echo Requests, the
other using UDP packets (to test different handlers in the kernel).

A few adjustments are necessary in the rest of the script to allow
policy routing scenarios:

  * Add global variable rt_table that allows setup_routing_*() to
    add routes to a specific routing table. By default rt_table is set
    to "main", so existing tests don't need to be modified.

  * Another global variable, policy_mark, is used to define which
    dsfield value is used for policy routing. This variable has no
    effect on tests that don't use policy routing.

  * The UDP version of the test uses socat. So cleanup() now also need
    to kill socat PIDs.

  * route_get_dst_pmtu_from_exception() and route_get_dst_exception()
    now take an optional third argument specifying the dsfield. If
    not specified, 0 is used, so existing users don't need to be
    modified.

Signed-off-by: Guillaume Nault <gnault@redhat.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Stable-dep-of: 139512191b ("ipv4: use RCU protection in __ip_rt_update_pmtu()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-03-13 12:50:43 +01:00
arch arm64: Handle .ARM.attributes section in linker scripts 2025-03-13 12:50:41 +01:00
block partitions: mac: fix handling of bogus partition table 2025-03-13 12:50:41 +01:00
certs
crypto
Documentation kconfig: add warn-unknown-symbols sanity check 2025-03-13 12:50:13 +01:00
drivers mlxsw: Add return value check for mlxsw_sp_port_get_stats_raw() 2025-03-13 12:50:41 +01:00
fs btrfs: fix hole expansion when writing at an offset beyond EOF 2025-03-13 12:50:41 +01:00
include Namespaceify mtu_expires sysctl 2025-03-13 12:50:43 +01:00
init
io_uring
ipc
kernel clocksource: Use migrate_disable() to avoid calling get_random_u32() in atomic context 2025-03-13 12:50:42 +01:00
lib lockdep: Fix upper limit for LOCKDEP_*_BITS configs 2025-03-13 12:50:17 +01:00
LICENSES
mm
net Namespaceify mtu_expires sysctl 2025-03-13 12:50:43 +01:00
samples
scripts kbuild: Move -Wenum-enum-conversion to W=2 2025-03-13 12:50:29 +01:00
security tomoyo: don't emit warning in tomoyo_write_control() 2025-03-13 12:50:18 +01:00
sound ASoC: Intel: bytcr_rt5640: Add DMI quirk for Vexia Edu Atla 10 tablet 5V 2025-03-13 12:50:37 +01:00
tools selftest: net: Test IPv4 PMTU exceptions with DSCP and ECN 2025-03-13 12:50:43 +01:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.