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


Quelle  test_xdping.sh   Sprache: Shell

 
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0

# xdping tests
#   Here we setup and teardown configuration required to run
#   xdping, exercising its options.
#
#   Setup is similar to test_tunnel tests but without the tunnel.
#
# Topology:
# ---------
#     root namespace   |     tc_ns0 namespace
#                      |
#      ----------      |     ----------
#      |  veth1  | --------- |  veth0  |
#      ----------    peer    ----------
#
# Device Configuration
# --------------------
# Root namespace with BPF
# Device names and addresses:
# veth1 IP: 10.1.1.200
# xdp added to veth1, xdpings originate from here.
#
# Namespace tc_ns0 with BPF
# Device names and addresses:
#       veth0 IPv4: 10.1.1.100
# For some tests xdping run in server mode here.
#

readonly TARGET_IP="10.1.1.100"
readonly TARGET_NS="xdp_ns0"

readonly LOCAL_IP="10.1.1.200"

setup()
{
 ip netns add $TARGET_NS
 ip link add veth0 type veth peer name veth1
 ip link set veth0 netns $TARGET_NS
 ip netns exec $TARGET_NS ip addr add ${TARGET_IP}/24 dev veth0
 ip addr add ${LOCAL_IP}/24 dev veth1
 ip netns exec $TARGET_NS ip link set veth0 up
 ip link set veth1 up
}

cleanup()
{
 set +e
 ip netns delete $TARGET_NS 2>/dev/null
 ip link del veth1 2>/dev/null
 if [[ $server_pid -ne 0 ]]; then
  kill -TERM $server_pid
 fi
}

test()
{
 client_args="$1"
 server_args="$2"

 echo "Test client args '$client_args'; server args '$server_args'"

 server_pid=0
 if [[ -n "$server_args" ]]; then
  ip netns exec $TARGET_NS ./xdping $server_args &
  server_pid=$!
  sleep 10
 fi
 ./xdping $client_args $TARGET_IP

 if [[ $server_pid -ne 0 ]]; then
  kill -TERM $server_pid
  server_pid=0
 fi

 echo "Test client args '$client_args'; server args '$server_args': PASS"
}

set -e

server_pid=0

trap cleanup EXIT

setup

for server_args in "" "-I veth0 -s -S" ; do
 # client in skb mode
 client_args="-I veth1 -S"
 test "$client_args" "$server_args"

 # client with count of 10 RTT measurements.
 client_args="-I veth1 -S -c 10"
 test "$client_args" "$server_args"
done

# Test drv mode
test "-I veth1 -N" "-I veth0 -s -N"
test "-I veth1 -N -c 10" "-I veth0 -s -N"

echo "OK. All tests passed"
exit 0

Messung V0.5
C=70 H=89 G=80

¤ 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