12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #!/bin/sh
- # SPDX-License-Identifier: GPL-2.0-or-later
- # Copyright (c) 2018 Oracle and/or its affiliates. All Rights Reserved.
- TST_SETUP="setup"
- TST_TESTFUNC="test"
- TST_CLEANUP="cleanup"
- TST_CNT=3
- TST_MIN_KVER="4.1"
- TST_NEEDS_TMPDIR=1
- TST_NEEDS_ROOT=1
- TST_NEEDS_DRIVERS="mpls_router"
- TST_NEEDS_CMDS="sysctl modprobe"
- . tst_net.sh
- cleanup()
- {
- ip -f mpls route flush dev lo > /dev/null 2>&1
- ip -f mpls route flush dev $(tst_iface) > /dev/null 2>&1
- }
- setup()
- {
- ROD modprobe mpls_router
- }
- test1()
- {
- ROD sysctl -q net.mpls.platform_labels=0xfffff
- ROD ip -f mpls route add 0xffffe dev lo
- ROD ip -f mpls route show \> /dev/null
- ROD ip -f mpls route del 0xffffe dev lo
- tst_res TPASS "added label 0xffffe to lo dev"
- }
- test2()
- {
- ROD sysctl -q net.mpls.platform_labels=0xffffe
- ip -f mpls route add 0xffffe dev lo > /dev/null 2>&1
- if [ $? -eq 0 ]; then
- tst_res TFAIL "can add label that is >= platform_labels"
- return
- fi
- tst_res TPASS "can't add label >= platform_lables"
- }
- test3()
- {
- local start=16
- local end=$((start + NS_TIMES))
- ROD sysctl -q net.mpls.platform_labels=$((end + 1))
- tst_res TINFO "creating mpls routes with labels from $start..$end"
- for l in $(seq $start $end); do
- ROD ip -f mpls route add $l dev $(tst_iface)
- done
- tst_res TINFO "listing created routes"
- ROD ip -f mpls route show \> /dev/null
- tst_res TINFO "removing the routes"
- for l in $(seq $start $end); do
- ROD ip -f mpls route del $l dev $(tst_iface)
- done
- tst_res TPASS "created and removed mpls routes"
- }
- tst_run
|