Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/tools/testing/selftests/net/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  psock_snd.sh   Sprache: Shell

 
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
#
# Run a series of packet socket send regression tests

set -e

readonly mtu=1500
readonly iphlen=20
readonly udphlen=8

readonly vnet_hlen=10
readonly eth_hlen=14

readonly mss="$((${mtu} - ${iphlen} - ${udphlen}))"
readonly mss_exceeds="$((${mss} + 1))"

readonly max_mtu=65535
readonly max_mss="$((${max_mtu} - ${iphlen} - ${udphlen}))"
readonly max_mss_exceeds="$((${max_mss} + 1))"

# functional checks (not a full cross-product)

echo "dgram"
./in_netns.sh ./psock_snd -d

echo "dgram bind"
./in_netns.sh ./psock_snd -d -b

echo "raw"
./in_netns.sh ./psock_snd

echo "raw bind"
./in_netns.sh ./psock_snd -b

echo "raw qdisc bypass"
./in_netns.sh ./psock_snd -q

echo "raw vlan"
./in_netns.sh ./psock_snd -V

echo "raw vnet hdr"
./in_netns.sh ./psock_snd -v

echo "raw csum_off"
./in_netns.sh ./psock_snd -v -c

echo "raw csum_off with bad offset (expected to fail)"
(! ./in_netns.sh ./psock_snd -v -c -C)


# bounds check: send {max, max + 1, min, min - 1} lengths

echo "raw min size"
./in_netns.sh ./psock_snd -l 0

echo "raw mtu size"
./in_netns.sh ./psock_snd -l "${mss}"

echo "raw mtu size + 1 (expected to fail)"
(! ./in_netns.sh ./psock_snd -l "${mss_exceeds}")

# fails due to ARPHRD_ETHER check in packet_extra_vlan_len_allowed
#
# echo "raw vlan mtu size"
# ./in_netns.sh ./psock_snd -V -l "${mss}"

echo "raw vlan mtu size + 1 (expected to fail)"
(! ./in_netns.sh ./psock_snd -V -l "${mss_exceeds}")

echo "dgram mtu size"
./in_netns.sh ./psock_snd -d -l "${mss}"

echo "dgram mtu size + 1 (expected to fail)"
(! ./in_netns.sh ./psock_snd -d -l "${mss_exceeds}")

echo "raw truncate hlen (expected to fail: does not arrive)"
(! ./in_netns.sh ./psock_snd -t "$((${vnet_hlen} + ${eth_hlen}))")

echo "raw truncate hlen - 1 (expected to fail: EINVAL)"
(! ./in_netns.sh ./psock_snd -t "$((${vnet_hlen} + ${eth_hlen} - 1))")


# gso checks: implies -l, because with gso len must exceed gso_size

echo "raw gso min size"
./in_netns.sh ./psock_snd -v -c -g -l "${mss_exceeds}"

echo "raw gso max size"
./in_netns.sh ./psock_snd -v -c -g -l "${max_mss}"

echo "raw gso max size + 1 (expected to fail)"
(! ./in_netns.sh ./psock_snd -v -c -g -l "${max_mss_exceeds}")

echo "OK. All tests passed"

Messung V0.5
C=89 H=95 G=91

¤ Dauer der Verarbeitung: 0.2 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.