38 lines
1.4 KiB
Bash
Executable File
38 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Source Qubes library.
|
|
# shellcheck source=init/functions
|
|
. /usr/lib/qubes/init/functions
|
|
|
|
NM_CONFIG_DIR=/etc/NetworkManager/system-connections
|
|
if [ -d $NM_CONFIG_DIR ] && [ ! -h $NM_CONFIG_DIR ]; then
|
|
mkdir -p /rw/config/NM-system-connections
|
|
mv $NM_CONFIG_DIR/* /rw/config/NM-system-connections/ 2> /dev/null || true
|
|
rmdir $NM_CONFIG_DIR
|
|
ln -s /rw/config/NM-system-connections $NM_CONFIG_DIR
|
|
fi
|
|
|
|
# Do not manage xen-provided network devices
|
|
unmanaged_devices=mac:fe:ff:ff:ff:ff:ff
|
|
#for mac in `xenstore-ls device/vif | grep mac | cut -d= -f2 | tr -d '" '`; do
|
|
# unmanaged_devices="$unmanaged_devices;mac:$mac"
|
|
#done
|
|
sed -r -i -e "s/^#?unmanaged-devices=.*/unmanaged-devices=$unmanaged_devices/" /etc/NetworkManager/NetworkManager.conf
|
|
sed -r -i -e "s/^#?plugins=.*/plugins=keyfile/" /etc/NetworkManager/NetworkManager.conf
|
|
|
|
# setup uplink configuration if applicable - this needs to be done before
|
|
# starting NetworkManager, otherwise it will try default DHCP configuration
|
|
# first and only after a timeout fallback to static one - introducing delay in
|
|
# network connectivity
|
|
ACTION="add"
|
|
INTERFACE="$(get_qubes_managed_iface)"
|
|
export ACTION
|
|
export INTERFACE
|
|
if qubesdb-read /qubes-ip >/dev/null 2>/dev/null &&
|
|
[ -e "/sys/class/net/$INTERFACE" ] &&
|
|
[ ! -r "/etc/NetworkManager/system-connections/qubes-uplink-$INTERFACE" ]; then
|
|
/usr/lib/qubes/setup-ip
|
|
fi
|
|
|
|
exit 0
|