xref: /linux/tools/testing/selftests/net/forwarding/ip6gre_flat_keys.sh (revision c771600c6af14749609b49565ffb4cac2959710d)
17df29960SAmit Cohen#!/bin/bash
27df29960SAmit Cohen# SPDX-License-Identifier: GPL-2.0
37df29960SAmit Cohen
47df29960SAmit Cohen# Test IP-in-IP GRE tunnel with keys.
57df29960SAmit Cohen# This test uses flat topology for IP tunneling tests. See ip6gre_lib.sh for
67df29960SAmit Cohen# more details.
77df29960SAmit Cohen
87df29960SAmit CohenALL_TESTS="
97df29960SAmit Cohen	gre_flat
107df29960SAmit Cohen	gre_mtu_change
11*d7bd61faSIdo Schimmel	gre_flat_remote_change
127df29960SAmit Cohen"
137df29960SAmit Cohen
147df29960SAmit CohenNUM_NETIFS=6
157df29960SAmit Cohensource lib.sh
167df29960SAmit Cohensource ip6gre_lib.sh
177df29960SAmit Cohen
187df29960SAmit Cohensetup_prepare()
197df29960SAmit Cohen{
207df29960SAmit Cohen	h1=${NETIFS[p1]}
217df29960SAmit Cohen	ol1=${NETIFS[p2]}
227df29960SAmit Cohen
237df29960SAmit Cohen	ul1=${NETIFS[p3]}
247df29960SAmit Cohen	ul2=${NETIFS[p4]}
257df29960SAmit Cohen
267df29960SAmit Cohen	ol2=${NETIFS[p5]}
277df29960SAmit Cohen	h2=${NETIFS[p6]}
287df29960SAmit Cohen
297df29960SAmit Cohen	forwarding_enable
307df29960SAmit Cohen	vrf_prepare
317df29960SAmit Cohen	h1_create
327df29960SAmit Cohen	h2_create
337df29960SAmit Cohen	sw1_flat_create $ol1 $ul1 ikey 111 okey 222
347df29960SAmit Cohen	sw2_flat_create $ol2 $ul2 ikey 222 okey 111
357df29960SAmit Cohen}
367df29960SAmit Cohen
377df29960SAmit Cohengre_flat()
387df29960SAmit Cohen{
397df29960SAmit Cohen	test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 with ikey/okey"
407df29960SAmit Cohen	test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 with ikey/okey"
417df29960SAmit Cohen}
427df29960SAmit Cohen
437df29960SAmit Cohengre_mtu_change()
447df29960SAmit Cohen{
457df29960SAmit Cohen	test_mtu_change	gre
467df29960SAmit Cohen}
477df29960SAmit Cohen
48*d7bd61faSIdo Schimmelgre_flat_remote_change()
49*d7bd61faSIdo Schimmel{
50*d7bd61faSIdo Schimmel	flat_remote_change
51*d7bd61faSIdo Schimmel
52*d7bd61faSIdo Schimmel	test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 with ikey/okey (new remote)"
53*d7bd61faSIdo Schimmel	test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 with ikey/okey (new remote)"
54*d7bd61faSIdo Schimmel
55*d7bd61faSIdo Schimmel	flat_remote_restore
56*d7bd61faSIdo Schimmel
57*d7bd61faSIdo Schimmel	test_traffic_ip4ip6 "GRE flat IPv4-in-IPv6 with ikey/okey (old remote)"
58*d7bd61faSIdo Schimmel	test_traffic_ip6ip6 "GRE flat IPv6-in-IPv6 with ikey/okey (old remote)"
59*d7bd61faSIdo Schimmel}
60*d7bd61faSIdo Schimmel
617df29960SAmit Cohencleanup()
627df29960SAmit Cohen{
637df29960SAmit Cohen	pre_cleanup
647df29960SAmit Cohen
657df29960SAmit Cohen	sw2_flat_destroy $ol2 $ul2
667df29960SAmit Cohen	sw1_flat_destroy $ol1 $ul1
677df29960SAmit Cohen	h2_destroy
687df29960SAmit Cohen	h1_destroy
697df29960SAmit Cohen	vrf_cleanup
707df29960SAmit Cohen	forwarding_restore
717df29960SAmit Cohen}
727df29960SAmit Cohen
737df29960SAmit Cohentrap cleanup EXIT
747df29960SAmit Cohen
757df29960SAmit Cohensetup_prepare
767df29960SAmit Cohensetup_wait
777df29960SAmit Cohentests_run
787df29960SAmit Cohen
797df29960SAmit Cohenexit $EXIT_STATUS
80