Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  so_txtime.sh   Sprache: Shell

 
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
#
# Regression tests for the SO_TXTIME interface

set -e

readonly ksft_skip=4
readonly DEV="veth0"
readonly BIN="./so_txtime"

readonly RAND="$(mktemp -u XXXXXX)"
readonly NSPREFIX="ns-${RAND}"
readonly NS1="${NSPREFIX}1"
readonly NS2="${NSPREFIX}2"

readonly SADDR4='192.168.1.1'
readonly DADDR4='192.168.1.2'
readonly SADDR6='fd::1'
readonly DADDR6='fd::2'

cleanup() {
 ip netns del "${NS2}"
 ip netns del "${NS1}"
}

trap cleanup EXIT

# Create virtual ethernet pair between network namespaces
ip netns add "${NS1}"
ip netns add "${NS2}"

ip link add "${DEV}" netns "${NS1}" type veth \
  peer name "${DEV}" netns "${NS2}"

# Bring the devices up
ip -netns "${NS1}" link set "${DEV}" up
ip -netns "${NS2}" link set "${DEV}" up

# Set fixed MAC addresses on the devices
ip -netns "${NS1}" link set dev "${DEV}" address 02:02:02:02:02:02
ip -netns "${NS2}" link set dev "${DEV}" address 06:06:06:06:06:06

# Add fixed IP addresses to the devices
ip -netns "${NS1}" addr add 192.168.1.1/24 dev "${DEV}"
ip -netns "${NS2}" addr add 192.168.1.2/24 dev "${DEV}"
ip -netns "${NS1}" addr add       fd::1/64 dev "${DEV}" nodad
ip -netns "${NS2}" addr add       fd::2/64 dev "${DEV}" nodad

run_test() {
 local readonly IP="$1"
 local readonly CLOCK="$2"
 local readonly TXARGS="$3"
 local readonly RXARGS="$4"

 if [[ "${IP}" == "4" ]]; then
  local readonly SADDR="${SADDR4}"
  local readonly DADDR="${DADDR4}"
 elif [[ "${IP}" == "6" ]]; then
  local readonly SADDR="${SADDR6}"
  local readonly DADDR="${DADDR6}"
 else
  echo "Invalid IP version ${IP}"
  exit 1
 fi

 local readonly START="$(date +%s%N --date="+ 0.1 seconds")"

 ip netns exec "${NS2}" "${BIN}" -"${IP}" -c "${CLOCK}" -t "${START}" -S "${SADDR}" -D "${DADDR}" "${RXARGS}" -r &
 ip netns exec "${NS1}" "${BIN}" -"${IP}" -c "${CLOCK}" -t "${START}" -S "${SADDR}" -D "${DADDR}" "${TXARGS}"
 wait "$!"
}

do_test() {
 run_test $@
 [ $? -ne 0 ] && ret=1
}

do_fail_test() {
 run_test $@
 [ $? -eq 0 ] && ret=1
}

ip netns exec "${NS1}" tc qdisc add dev "${DEV}" root fq
set +e
ret=0
do_test 4 mono a,-1 a,-1
do_test 6 mono a,0 a,0
do_test 6 mono a,10 a,10
do_test 4 mono a,10,b,20 a,10,b,20
do_test 6 mono a,20,b,10 b,20,a,20

if ip netns exec "${NS1}" tc qdisc replace dev "${DEV}" root etf clockid CLOCK_TAI delta 400000then
 do_fail_test 4 tai a,-1 a,-1
 do_fail_test 6 tai a,0 a,0
 do_test 6 tai a,10 a,10
 do_test 4 tai a,10,b,20 a,10,b,20
 do_test 6 tai a,20,b,10 b,10,a,20
else
 echo "tc ($(tc -V)) does not support qdisc etf. skipping"
 [ $ret -eq 0 ] && ret=$ksft_skip
fi

if [ $ret -eq 0 ]; then
 echo OK. All tests passed
elif [[ $ret -ne $ksft_skip && -n "$KSFT_MACHINE_SLOW" ]]; then
 echo "Ignoring errors due to slow environment" 1>&2
 ret=0
fi
exit $ret

Messung V0.5
C=93 H=100 G=96

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet)  ¤

*© 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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge