1#! /bin/bash 2# SPDX-License-Identifier: GPL-2.0 3 4set -e 5set -u 6set -x 7 8unset KBUILD_OUTPUT 9 10GENERATE_GCOV_REPORT=0 11while getopts "g" opt; do 12 case ${opt} in 13 g) 14 GENERATE_GCOV_REPORT=1 15 ;; 16 :) 17 echo "USAGE: config.sh [-g]" 18 exit 1 19 ;; 20 ?) 21 echo "Invalid option: -${OPTARG}." 22 exit 1 23 ;; 24 esac 25done 26 27CONF_FILE="tools/testing/selftests/net/config" 28 29# no modules 30scripts/config --file "$CONF_FILE" --disable CONFIG_MODULES 31 32# enable RDS 33scripts/config --file "$CONF_FILE" --enable CONFIG_RDS 34scripts/config --file "$CONF_FILE" --enable CONFIG_RDS_TCP 35 36if [ "$GENERATE_GCOV_REPORT" -eq 1 ]; then 37 # instrument RDS and only RDS 38 scripts/config --file "$CONF_FILE" --enable CONFIG_GCOV_KERNEL 39 scripts/config --file "$CONF_FILE" --disable GCOV_PROFILE_ALL 40 scripts/config --file "$CONF_FILE" --enable GCOV_PROFILE_RDS 41else 42 scripts/config --file "$CONF_FILE" --disable CONFIG_GCOV_KERNEL 43 scripts/config --file "$CONF_FILE" --disable GCOV_PROFILE_ALL 44 scripts/config --file "$CONF_FILE" --disable GCOV_PROFILE_RDS 45fi 46 47# need network namespaces to run tests with veth network interfaces 48scripts/config --file "$CONF_FILE" --enable CONFIG_NET_NS 49scripts/config --file "$CONF_FILE" --enable CONFIG_VETH 50 51# simulate packet loss 52scripts/config --file "$CONF_FILE" --enable CONFIG_NET_SCH_NETEM 53 54