)
device_list() {
- local devices
-
# Add all interfaces
local device
for device in $(list_directory ${SYS_CLASS_NET}); do
- list_append_one devices "${device}"
+ if device_exists "${device}"; then
+ print "${device}"
+ fi
done
- # Add all PHYs
- list_append devices $(phy_list)
-
- # Add all serial devices
- list_append devices $(serial_list)
+ # List all PHYs
+ phy_list
- # Return a sorted result
- list_sort ${devices}
+ # List all serial devices
+ serial_list
}
# Check if the device exists
print "$(<${path})"
}
+device_get_driver() {
+ local device="${1}"
+ assert isset device
+
+ get_driver_from_path "${SYS_CLASS_NET}/${device}/device/driver/module"
+}
+
# Check if the device is a bonding device
device_is_bonding() {
[ -d "/sys/class/net/${1}/bonding" ]
done < ${PROC_NET_VLAN_CONFIG}
}
+__device_type_matches() {
+ local device="${1}"
+ local type="${2}"
+
+ local _type="$(__device_get_file "${device}" "type")"
+
+ if [ "${type}" = "${_type}" ]; then
+ return ${EXIT_TRUE}
+ fi
+
+ return ${EXIT_FALSE}
+}
+
# Check if the device is a ppp device
device_is_ppp() {
- local device=${1}
-
- local type=$(__device_get_file ${device} type)
+ local device="${1}"
+ assert isset device
- [ "${type}" = "512" ] && return ${EXIT_OK} || return ${EXIT_ERROR}
+ __device_type_matches "${device}" 512
}
# Check if the device is a pointopoint device.
}
device_is_vti() {
- local device=${1}
-
- local type=$(__device_get_file ${device} type)
+ local device="${1}"
+ assert isset device
- [ "${type}" = "768" ] && return ${EXIT_OK} || return ${EXIT_ERROR}
+ __device_type_matches "${device}" 768
}
device_is_vti6() {
- local device=${1}
-
- local type=$(__device_get_file ${device} type)
+ local device="${1}"
+ assert isset device
- [ "${type}" = "769" ] && return ${EXIT_OK} || return ${EXIT_ERROR}
+ __device_type_matches "${device}" 769
}
device_get_phy() {