On Mon, 19 Aug 2024 02:03:53 -0700 Breno Leitao wrote:
+function check_for_dependencies() {
- if [ "$(id -u)" -ne 0 ]; then
echo "This test must be run as root" >&2
exit "${ksft_skip}"
- fi
- if ! which socat > /dev/null ; then
echo "SKIP: socat(1) is not available" >&2
exit "${ksft_skip}"
- fi
- if ! which ip > /dev/null ; then
echo "SKIP: ip(1) is not available" >&2
exit "${ksft_skip}"
- fi
- if ! which udevadm > /dev/null ; then
echo "SKIP: udevadm(1) is not available" >&2
exit "${ksft_skip}"
- fi
- if [ ! -d "${NETCONS_CONFIGFS}" ]; then
echo "SKIP: directory ${NETCONS_CONFIGFS} does not exist. Check if NETCONSOLE_DYNAMIC is enabled" >&2
exit "${ksft_skip}"
- fi
- if ip link show "${DSTIF}" 2> /dev/null; then
echo "SKIP: interface ${DSTIF} exists in the system. Not overwriting it." >&2
exit "${ksft_skip}"
- fi
nit: maybe ip addr list to see if the 192.168.1.x network is already in use?
+}
+# ========== # +# Start here # +# ========== # +modprobe netdevsim 2> /dev/null || true +modprobe netconsole 2 > /dev/null || true
+# The content of kmsg will be save to the following file +OUTPUT_FILE="/tmp/${TARGET}"
+# Check for basic system dependency and exit if not found +check_for_dependencies +# Set current loglevel to KERN_INFO(6), and default to KERN_NOTICE(5) +echo "6 5" > /proc/sys/kernel/printk
nit: should we not undo this in clenaup?
+# Remove the namespace, interfaces and netconsole target on exit +trap cleanup EXIT +# Create one namespace and two interfaces +set_network +# Create a dynamic target for netconsole +create_dynamic_target +# Listed for netconsole port inside the namespace and destination interface +listen_port_and_save_to "${OUTPUT_FILE}" & +# Wait for socat to start and listen to the port. +wait_local_port_listen "${NAMESPACE}" "${PORT}" udp +# Send the message +echo "${MSG}: ${TARGET}" > /dev/kmsg +# Wait until socat saves the file to disk +busywait "${BUSYWAIT_TIMEOUT}" test -s "${OUTPUT_FILE}"
+# Make sure the message was received in the dst part +# and exit +validate_result "${OUTPUT_FILE}"
Main reason Im complaining, I see:
[ 6.686720] netconsole: unknown parameter '2' ignored
in the kernel logs when the test runs.
Is it expected?