tools/testing/selftests/drivers/net/team/transmit_failover.sh
Source file repositories/reference/linux-study-clean/tools/testing/selftests/drivers/net/team/transmit_failover.sh
File Facts
- System
- Linux kernel
- Corpus path
tools/testing/selftests/drivers/net/team/transmit_failover.sh- Extension
.sh- Size
- 4504 bytes
- Lines
- 159
- Domain
- Support Tooling And Documentation
- Bucket
- tools
- Inferred role
- Support Tooling And Documentation: tools
- Status
- atlas-only
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
# These tests verify the basic failover capability of the team driver via the
# `enabled` team driver option across different team driver modes. This does not
# rely on teamd, and instead just uses teamnl to set the `enabled` option
# directly.
#
# Topology:
#
# +-------------------------+ NS1
# | test_team1 |
# | + |
# | eth0 | eth1 |
# | +---+---+ |
# | | | |
# +-------------------------+
# | |
# +-------------------------+ NS2
# | | | |
# | +-------+ |
# | eth0 | eth1 |
# | + |
# | test_team2 |
# +-------------------------+
export ALL_TESTS="team_test_failover"
test_dir="$(dirname "$0")"
# shellcheck disable=SC1091
source "${test_dir}/../../../net/lib.sh"
# shellcheck disable=SC1091
source "${test_dir}/team_lib.sh"
NS1=""
NS2=""
export NODAD="nodad"
PREFIX_LENGTH="64"
NS1_IP="fd00::1"
NS2_IP="fd00::2"
NS1_IP4="192.168.0.1"
NS2_IP4="192.168.0.2"
MEMBERS=("eth0" "eth1")
while getopts "4" opt; do
case $opt in
4)
echo "IPv4 mode selected."
export NODAD=
PREFIX_LENGTH="24"
NS1_IP="${NS1_IP4}"
NS2_IP="${NS2_IP4}"
;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
esac
done
# Create the network namespaces, veth pair, and team devices in the specified
# mode.
# Globals:
# RET - Used by test infra, set by `check_err` functions.
# Arguments:
# mode - The team driver mode to use for the team devices.
environment_create()
{
trap cleanup_all_ns EXIT
setup_ns ns1 ns2
Annotation
- Atlas domain: Support Tooling And Documentation / tools.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.