Files
cariflex/tools/EVerest-main/tests/setup-network-isolation.sh
Eric F d398a6ced2 Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter
- CitrineOS core extracted (CSMS OCPP 2.0.1)
- OpenOCPP extracted (firmware OCPP 1.6J/2.0.1)
- ShapeShifter library installed (pip install -e)
- ShapeShifter specification extracted
- EVerest extracted

TODO updated with progress
2026-06-08 00:38:27 -04:00

76 lines
2.0 KiB
Bash
Executable File

#!/usr/bin/env bash
# SPDX-License-Identifier: Apache-2.0
# Copyright Pionix GmbH and Contributors to EVerest
#
# Setup/teardown script for virtual ethernet pairs used in parallel ISO 15118 testing.
#
# Usage:
# ./setup-network-isolation.sh setup [COUNT] - Create COUNT veth pairs (default: nproc)
# ./setup-network-isolation.sh teardown [COUNT] - Remove COUNT veth pairs (default: 64)
# ./setup-network-isolation.sh status - Show current veth pair status
#
# Requires: root/sudo or CAP_NET_ADMIN
set -euo pipefail
VETH_PREFIX="ev_test"
setup() {
local count="${1:-$(nproc)}"
echo "Creating $count veth pairs (${VETH_PREFIX}0..${VETH_PREFIX}$((count - 1)))..."
for i in $(seq 0 $((count - 1))); do
local iface="${VETH_PREFIX}${i}"
local peer="${VETH_PREFIX}${i}_peer"
# Remove if leftover from previous run
ip link delete "$iface" 2>/dev/null || true
ip link add "$iface" type veth peer name "$peer"
ip link set "$iface" up
ip link set "$peer" up
done
echo "Done."
}
teardown() {
local max_index="${1:-64}"
local removed=0
for i in $(seq 0 $((max_index - 1))); do
local iface="${VETH_PREFIX}${i}"
if ip link show "$iface" &>/dev/null; then
ip link delete "$iface"
removed=$((removed + 1))
fi
done
echo "Removed $removed veth pairs."
}
status() {
echo "Current veth pairs (prefix: ${VETH_PREFIX}):"
ip link show | grep -E "${VETH_PREFIX}[0-9]+" || echo " (none found)"
}
case "${1:-}" in
setup)
setup "${2:-}"
;;
teardown)
teardown "${2:-}"
;;
status)
status
;;
*)
echo "Usage: $0 {setup [COUNT]|teardown [COUNT]|status}"
echo ""
echo " setup [COUNT] Create COUNT veth pairs (default: nproc = $(nproc))"
echo " teardown [COUNT] Remove veth pairs (scan up to COUNT, default: 64)"
echo " status Show existing veth pairs"
exit 1
;;
esac