xref: /linux/tools/testing/selftests/drivers/net/bonding/bond_topo_3d1c.sh (revision e7e86d7697c6ed1dbbde18d7185c35b6967945ed)
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
29mac[2]="00:0a:0b:0c:0d:03"
30
31setup_prepare()
32{
33	gateway_create
34	server_create
35	client_create
36
37	# Add the extra device as we use 3 down links for bond0
38	local i=2
39	ip -n ${s_ns} link add eth${i} type veth peer name s${i} netns ${g_ns}
40	ip -n "${s_ns}" link set "eth${i}" addr "${mac[$i]}"
41	ip -n ${g_ns} link set s${i} up
42	ip -n ${g_ns} link set s${i} master br0
43	ip -n ${s_ns} link set eth${i} master bond0
44	tc -n ${g_ns} qdisc add dev s${i} clsact
45}
46