xref: /linux/tools/testing/selftests/drivers/net/bonding/bond_topo_3d1c.sh (revision ae22a94997b8a03dcb3c922857c203246711f9d4)
1#!/bin/bash
2# SPDX-License-Identifier: GPL-2.0
3#
4# Topology for Bond mode 1,5,6 testing
5#
6#  +-------------------------------------+
7#  |                bond0                |
8#  |                  +                  |  Server
9#  |      eth0        | eth1   eth2      |  192.0.2.1/24
10#  |        +-------------------+        |  2001:db8::1/24
11#  |        |         |         |        |
12#  +-------------------------------------+
13#           |         |         |
14#  +-------------------------------------+
15#  |        |         |         |        |
16#  |    +---+---------+---------+---+    |  Gateway
17#  |    |            br0            |    |  192.0.2.254/24
18#  |    +-------------+-------------+    |  2001:db8::254/24
19#  |                  |                  |
20#  +-------------------------------------+
21#                     |
22#  +-------------------------------------+
23#  |                  |                  |  Client
24#  |                  +                  |  192.0.2.10/24
25#  |                eth0                 |  2001:db8::10/24
26#  +-------------------------------------+
27
28source bond_topo_2d1c.sh
29
30setup_prepare()
31{
32	gateway_create
33	server_create
34	client_create
35
36	# Add the extra device as we use 3 down links for bond0
37	local i=2
38	ip -n ${s_ns} link add eth${i} type veth peer name s${i} netns ${g_ns}
39	ip -n ${g_ns} link set s${i} up
40	ip -n ${g_ns} link set s${i} master br0
41	ip -n ${s_ns} link set eth${i} master bond0
42	tc -n ${g_ns} qdisc add dev s${i} clsact
43}
44