1#!/bin/bash 2# SPDX-License-Identifier: GPL-2.0 3# Shared netdevsim setup/cleanup for YNL C test wrappers 4 5NSIM_ID="1337" 6NSIM_DEV="" 7KSFT_SKIP=4 8 9nsim_cleanup() { 10 echo "$NSIM_ID" > /sys/bus/netdevsim/del_device 2>/dev/null || true 11} 12 13nsim_setup() { 14 modprobe netdevsim 2>/dev/null 15 if ! [ -f /sys/bus/netdevsim/new_device ]; then 16 echo "netdevsim module not available, skipping" >&2 17 exit "$KSFT_SKIP" 18 fi 19 20 trap nsim_cleanup EXIT 21 22 echo "$NSIM_ID 1" > /sys/bus/netdevsim/new_device 23 udevadm settle 24 25 NSIM_DEV=$(ls /sys/bus/netdevsim/devices/netdevsim${NSIM_ID}/net 2>/dev/null | head -1) 26 if [ -z "$NSIM_DEV" ]; then 27 echo "failed to find netdevsim device" >&2 28 exit 1 29 fi 30 31 ip link set dev "$NSIM_DEV" name nsim0 32 ip link set dev nsim0 up 33 ip addr add 192.168.1.1/24 dev nsim0 34 ip addr add 2001:db8::1/64 dev nsim0 nodad 35} 36