| 1 | |
| 2 | |
| 3 |
|
| 4 | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
| 11 | |
| 12 | |
| 13 | |
| 14 | |
| 15 | |
| 16 |
|
| 17 | set -euo pipefail
|
| 18 |
|
| 19 | SCRIPTDIR=$(dirname "$(readlink -e "${BASH_SOURCE[0]}")")
|
| 20 |
|
| 21 | source "${SCRIPTDIR}"/../lib/sh/lib_netcons.sh
|
| 22 |
|
| 23 | modprobe netdevsim 2> /dev/null || true
|
| 24 | modprobe netconsole 2> /dev/null || true
|
| 25 |
|
| 26 | |
| 27 | OUTPUT_FILE="/tmp/${TARGET}"
|
| 28 |
|
| 29 | |
| 30 | check_for_dependencies
|
| 31 | |
| 32 | trap cleanup EXIT
|
| 33 |
|
| 34 | |
| 35 | for FORMAT in "basic" "extended"
|
| 36 | do
|
| 37 | for IP_VERSION in "ipv6" "ipv4"
|
| 38 | do
|
| 39 | echo "Running with target mode: ${FORMAT} (${IP_VERSION})"
|
| 40 | |
| 41 | |
| 42 | echo "6 5" > /proc/sys/kernel/printk
|
| 43 | |
| 44 | set_network "${IP_VERSION}"
|
| 45 | |
| 46 | create_dynamic_target "${FORMAT}"
|
| 47 | |
| 48 | if [ "$FORMAT" == "extended" ]
|
| 49 | then
|
| 50 | |
| 51 | set_user_data
|
| 52 | fi
|
| 53 | |
| 54 | |
| 55 | listen_port_and_save_to "${OUTPUT_FILE}" "${IP_VERSION}" &
|
| 56 | |
| 57 | wait_for_port "${NAMESPACE}" "${PORT}" "${IP_VERSION}"
|
| 58 | |
| 59 | echo "${MSG}: ${TARGET}" > /dev/kmsg
|
| 60 | |
| 61 | if ! busywait "${BUSYWAIT_TIMEOUT}" test -s "${OUTPUT_FILE}"
|
| 62 | then
|
| 63 | echo "FAIL: Timed out waiting (${BUSYWAIT_TIMEOUT} ms) for netconsole message in ${OUTPUT_FILE}" >&2
|
| 64 | exit "${ksft_fail}"
|
| 65 | fi
|
| 66 |
|
| 67 | |
| 68 | |
| 69 | validate_result "${OUTPUT_FILE}" "${FORMAT}"
|
| 70 | |
| 71 | pkill_socat
|
| 72 | cleanup
|
| 73 | echo "${FORMAT} : ${IP_VERSION} : Test passed" >&2
|
| 74 | done
|
| 75 | done
|
| 76 |
|
| 77 | trap - EXIT
|
| 78 | exit "${ksft_pass}"
|