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


Quelle  qos_defprio.sh   Sprache: Shell

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

# Test for port-default priority. Non-IP packets ingress $swp1 and are
# prioritized according to the default priority specified at the port.
# rx_octets_prio_* counters are used to verify the prioritization.
#
# +----------------------------------+
# | H1                               |
# |    + $h1                         |
# |    | 192.0.2.1/28                |
# +----|-----------------------------+
#      |
# +----|-----------------------------+
# | SW |                             |
# |    + $swp1                       |
# |      192.0.2.2/28                |
# |      dcb app default-prio <prio> |
# +----------------------------------+

ALL_TESTS="
 ping_ipv4
 test_defprio
"

lib_dir=$(dirname $0)/../../../net/forwarding

NUM_NETIFS=2
: ${HIT_TIMEOUT:=1000} # ms
source $lib_dir/lib.sh

h1_create()
{
 simple_if_init $h1 192.0.2.1/28
}

h1_destroy()
{
 simple_if_fini $h1 192.0.2.1/28
}

switch_create()
{
 ip link set dev $swp1 up
 ip addr add dev $swp1 192.0.2.2/28
}

switch_destroy()
{
 dcb app flush dev $swp1 default-prio
 ip addr del dev $swp1 192.0.2.2/28
 ip link set dev $swp1 down
}

setup_prepare()
{
 h1=${NETIFS[p1]}
 swp1=${NETIFS[p2]}

 vrf_prepare

 h1_create
 switch_create
}

cleanup()
{
 pre_cleanup

 switch_destroy
 h1_destroy

 vrf_cleanup
}

ping_ipv4()
{
 ping_test $h1 192.0.2.2
}

__test_defprio()
{
 local prio_install=$1; shift
 local prio_observe=$1; shift
 local key
 local t1
 local i

 RET=0

 dcb app add dev $swp1 default-prio $prio_install

 local t0=$(ethtool_stats_get $swp1 rx_frames_prio_$prio_observe)
 mausezahn -q $h1 -d 100m -c 10 -t arp reply
 t1=$(busywait "$HIT_TIMEOUT" until_counter_is ">= $((t0 + 10))" \
  ethtool_stats_get $swp1 rx_frames_prio_$prio_observe)

 check_err $? "Default priority $prio_install/$prio_observe: Expected to capture 10 packets, got $((t1 - t0))."
 log_test "Default priority $prio_install/$prio_observe"

 dcb app del dev $swp1 default-prio $prio_install
}

test_defprio()
{
 local prio

 for prio in {0..7}; do
  __test_defprio $prio $prio
 done

 dcb app add dev $swp1 default-prio 3
 __test_defprio 0 3
 __test_defprio 1 3
 __test_defprio 2 3
 __test_defprio 4 4
 __test_defprio 5 5
 __test_defprio 6 6
 __test_defprio 7 7
 dcb app del dev $swp1 default-prio 3
}

trap cleanup EXIT

setup_prepare
setup_wait

tests_run

exit $EXIT_STATUS

Messung V0.5
C=95 H=92 G=93

¤ 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.






                                                                                                                                                                                                                                                                                                                                                                                                     


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