From 0067696a2dbf59d2a2c10ba7aef81783df162701 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 23 Dec 2014 01:16:43 +0000 Subject: [PATCH] Better handling for dummy interfaces Will not create any port configurations for them any more when the kernel module is loaded into the kernel. --- src/functions/functions.device | 16 +++++++++++++++- src/udev/network-hotplug | 9 +++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/functions/functions.device b/src/functions/functions.device index d4318f84..c9c471a1 100644 --- a/src/functions/functions.device +++ b/src/functions/functions.device @@ -298,6 +298,14 @@ function device_is_loopback() { [ "${device}" = "lo" ] } +# Check if the device is a dummy device +# This is the worst possible check, but all I could come up with +function device_is_dummy() { + local device="${1}" + + [[ ${device} =~ ^dummy[0-9]+$ ]] +} + # Check if the device is a wireless device function device_is_wireless() { local device=${1} @@ -324,6 +332,9 @@ function device_is_serial() { function device_is_ethernet() { local device=${1} + device_is_ethernet_compatible "${device}" || \ + return ${EXIT_ERROR} + device_is_loopback ${device} && \ return ${EXIT_ERROR} @@ -339,7 +350,7 @@ function device_is_ethernet() { device_is_vlan ${device} && \ return ${EXIT_ERROR} - [ "$(__device_get_file ${device} type)" != "1" ] && \ + device_is_dummy ${device} && \ return ${EXIT_ERROR} return ${EXIT_OK} @@ -378,6 +389,9 @@ function device_get_type() { elif device_is_wireless ${device}; then echo "wireless" + elif device_is_dummy ${device}; then + echo "dummy" + elif device_is_ethernet ${device}; then echo "ethernet" diff --git a/src/udev/network-hotplug b/src/udev/network-hotplug index a738970a..87035e0a 100644 --- a/src/udev/network-hotplug +++ b/src/udev/network-hotplug @@ -78,6 +78,15 @@ case "${SUBSYSTEM}" in fi ;; + # dummy + add,dummy) + # Remove the by default created dummy device + if [ "${INTERFACE}" = "dummy0" ]; then + dummy_remove "${INTERFACE}" + exit ${EXIT_OK} + fi + ;; + # Ethernet add,ethernet) # Create a default port for all ethernet devices -- 2.39.2