xref: /openbmc/linux/tools/testing/selftests/bpf/with_tunnels.sh (revision 3eb66e91a25497065c5322b1268cbc3953642227)
1*50b3ed57SPetar Penkov#!/bin/bash
2*50b3ed57SPetar Penkov# SPDX-License-Identifier: GPL-2.0
3*50b3ed57SPetar Penkov#
4*50b3ed57SPetar Penkov# setup tunnels for flow dissection test
5*50b3ed57SPetar Penkov
6*50b3ed57SPetar Penkovreadonly SUFFIX="test_$(mktemp -u XXXX)"
7*50b3ed57SPetar PenkovCONFIG="remote 127.0.0.2 local 127.0.0.1 dev lo"
8*50b3ed57SPetar Penkov
9*50b3ed57SPetar Penkovsetup() {
10*50b3ed57SPetar Penkov  ip link add "ipip_${SUFFIX}" type ipip ${CONFIG}
11*50b3ed57SPetar Penkov  ip link add "gre_${SUFFIX}" type gre ${CONFIG}
12*50b3ed57SPetar Penkov  ip link add "sit_${SUFFIX}" type sit ${CONFIG}
13*50b3ed57SPetar Penkov
14*50b3ed57SPetar Penkov  echo "tunnels before test:"
15*50b3ed57SPetar Penkov  ip tunnel show
16*50b3ed57SPetar Penkov
17*50b3ed57SPetar Penkov  ip link set "ipip_${SUFFIX}" up
18*50b3ed57SPetar Penkov  ip link set "gre_${SUFFIX}" up
19*50b3ed57SPetar Penkov  ip link set "sit_${SUFFIX}" up
20*50b3ed57SPetar Penkov}
21*50b3ed57SPetar Penkov
22*50b3ed57SPetar Penkov
23*50b3ed57SPetar Penkovcleanup() {
24*50b3ed57SPetar Penkov  ip tunnel del "ipip_${SUFFIX}"
25*50b3ed57SPetar Penkov  ip tunnel del "gre_${SUFFIX}"
26*50b3ed57SPetar Penkov  ip tunnel del "sit_${SUFFIX}"
27*50b3ed57SPetar Penkov
28*50b3ed57SPetar Penkov  echo "tunnels after test:"
29*50b3ed57SPetar Penkov  ip tunnel show
30*50b3ed57SPetar Penkov}
31*50b3ed57SPetar Penkov
32*50b3ed57SPetar Penkovtrap cleanup EXIT
33*50b3ed57SPetar Penkov
34*50b3ed57SPetar Penkovsetup
35*50b3ed57SPetar Penkov"$@"
36*50b3ed57SPetar Penkovexit "$?"
37