summaryrefslogtreecommitdiffstats
path: root/PCBSD/pc-sysinstall/backend/functions-networking.sh
diff options
context:
space:
mode:
Diffstat (limited to 'PCBSD/pc-sysinstall/backend/functions-networking.sh')
-rw-r--r--PCBSD/pc-sysinstall/backend/functions-networking.sh330
1 files changed, 0 insertions, 330 deletions
diff --git a/PCBSD/pc-sysinstall/backend/functions-networking.sh b/PCBSD/pc-sysinstall/backend/functions-networking.sh
deleted file mode 100644
index eca2321..0000000
--- a/PCBSD/pc-sysinstall/backend/functions-networking.sh
+++ /dev/null
@@ -1,330 +0,0 @@
-#!/bin/sh
-# Functions which perform our networking setup
-
-# Function which creates a kde4 .desktop file for the PC-BSD net tray
-create_desktop_nettray()
-{
- NIC="${1}"
- echo "#!/usr/bin/env xdg-open
-[Desktop Entry]
-Exec=/usr/local/kde4/bin/pc-nettray ${NIC}
-Icon=network
-StartupNotify=false
-Type=Application" > ${FSMNT}/usr/share/skel/.kde4/Autostart/tray-${NIC}.desktop
- chmod 744 ${FSMNT}/usr/share/skel/.kde4/Autostart/tray-${NIC}.desktop
-
-};
-
-# Function which checks is a nic is wifi or not
-check_is_wifi()
-{
- NIC="$1"
- ifconfig ${NIC} | grep "802.11" >/dev/null 2>/dev/null
- if [ "$?" = "0" ]
- then
- return 0
- else
- return 1
- fi
-};
-
-# Function to get the first available wired nic, used for lagg0 setup
-get_first_wired_nic()
-{
- rm ${TMPDIR}/.niclist >/dev/null 2>/dev/null
- # start by getting a list of nics on this system
- ${QUERYDIR}/detect-nics.sh > ${TMPDIR}/.niclist
- if [ -e "${TMPDIR}/.niclist" ]
- then
- while read line
- do
- NIC="`echo $line | cut -d ':' -f 1`"
- check_is_wifi ${NIC}
- if [ "$?" != "0" ]
- then
- VAL="${NIC}" ; export VAL
- return
- fi
- done < ${TMPDIR}/.niclist
- fi
-
- VAL="" ; export VAL
- return
-};
-
-# Function which simply enables plain dhcp on all detected nics, not fancy lagg interface
-enable_plain_dhcp_all()
-{
- rm ${TMPDIR}/.niclist >/dev/null 2>/dev/null
- # start by getting a list of nics on this system
- ${QUERYDIR}/detect-nics.sh > ${TMPDIR}/.niclist
- if [ -e "${TMPDIR}/.niclist" ]
- then
- echo "# Auto-Enabled NICs from pc-sysinstall" >>${FSMNT}/etc/rc.conf
- WLANCOUNT="0"
- while read line
- do
- NIC="`echo $line | cut -d ':' -f 1`"
- DESC="`echo $line | cut -d ':' -f 2`"
- echo_log "Setting $NIC to DHCP on the system."
- check_is_wifi ${NIC}
- if [ "$?" = "0" ]
- then
- # We have a wifi device, setup a wlan* entry for it
- WLAN="wlan${WLANCOUNT}"
- echo "wlans_${NIC}=\"${WLAN}\"" >>${FSMNT}/etc/rc.conf
- echo "ifconfig_${WLAN}=\"DHCP\"" >>${FSMNT}/etc/rc.conf
- CNIC="${WLAN}"
- WLANCOUNT="`expr ${WLANCOUNT} + 1`"
- else
- echo "ifconfig_${NIC}=\"DHCP\"" >>${FSMNT}/etc/rc.conf
- CNIC="${NIC}"
- fi
-
- done < ${TMPDIR}/.niclist
- fi
-};
-
-# Function which enables fancy lagg dhcp on specified wifi
-enable_lagg_dhcp()
-{
- WIFINIC="$1"
-
- # Get the first wired nic
- get_first_wired_nic
- WIRENIC=$VAL
- LAGGPORT="laggport ${WIFINIC}"
-
- echo "# Auto-Enabled NICs from pc-sysinstall" >>${FSMNT}/etc/rc.conf
- if [ ! -z "$WIRENIC" ]
- then
- echo "ifconfig_${WIRENIC}=\"up\"" >> ${FSMNT}/etc/rc.conf
- echo "ifconfig_${WIFINIC}=\"\`ifconfig ${WIRENIC} ether\`\"" >> ${FSMNT}/etc/rc.conf
- echo "ifconfig_${WIFINIC}=\"ether \${ifconfig_${WIFINIC}##*ether }\"" >> ${FSMNT}/etc/rc.conf
- LAGGPORT="laggport ${WIRENIC} ${LAGGPORT}"
- fi
-
- echo "wlans_${WIFINIC}=\"wlan0\"" >> ${FSMNT}/etc/rc.conf
- echo "cloned_interfaces=\"lagg0\"" >> ${FSMNT}/etc/rc.conf
- echo "ifconfig_lagg0=\"laggproto failover ${LAGGPORT} DHCP\"" >> ${FSMNT}/etc/rc.conf
-
-};
-
-# Function which detects available nics, and runs them to DHCP on the
-save_auto_dhcp()
-{
- rm ${TMPDIR}/.niclist >/dev/null 2>/dev/null
- # start by getting a list of nics on this system
- ${QUERYDIR}/detect-nics.sh > ${TMPDIR}/.niclist
- if [ -e "${TMPDIR}/.niclist" ]
- then
- while read line
- do
- NIC="`echo $line | cut -d ':' -f 1`"
- DESC="`echo $line | cut -d ':' -f 2`"
- check_is_wifi "${NIC}"
- if [ "$?" = "0" ]
- then
- # We have a wifi device, lets do fancy lagg interface
- enable_lagg_dhcp "${NIC}"
- return
- fi
-
- done < ${TMPDIR}/.niclist
- fi
-
- # Got here, looks like no wifi, so lets simply enable plain-ole-dhcp
- enable_plain_dhcp_all
-
-};
-
-
-# Function which saves a manual nic setup to the installed system
-save_manual_nic()
-{
- # Get the target nic
- NIC="$1"
-
- get_value_from_cfg netSaveIP
- NETIP="${VAL}"
-
- if [ "$NETIP" = "DHCP" ]
- then
- echo_log "Setting $NIC to DHCP on the system."
- echo "ifconfig_${NIC}=\"DHCP\"" >>${FSMNT}/etc/rc.conf
- return 0
- fi
-
- # If we get here, we have a manual setup, lets do so now
-
- # Set the manual IP
- IFARGS="inet ${NETIP}"
-
- # Check if we have a netmask to set
- get_value_from_cfg netSaveMask
- NETMASK="${VAL}"
- if [ ! -z "${NETMASK}" ]
- then
- IFARGS="${IFARGS} netmask ${NETMASK}"
- fi
-
-
- echo "# Auto-Enabled NICs from pc-sysinstall" >>${FSMNT}/etc/rc.conf
- echo "ifconfig_${NIC}=\"${IFARGS}\"" >>${FSMNT}/etc/rc.conf
-
- # Check if we have a default router to set
- get_value_from_cfg netSaveDefaultRouter
- NETROUTE="${VAL}"
- if [ ! -z "${NETROUTE}" ]
- then
- echo "defaultrouter=\"${NETROUTE}\"" >>${FSMNT}/etc/rc.conf
- fi
-
- # Check if we have a nameserver to enable
- get_value_from_cfg netSaveNameServer
- NAMESERVER="${VAL}"
- if [ ! -z "${NAMESERVER}" ]
- then
- echo "nameserver ${NAMESERVER}" >${FSMNT}/etc/resolv.conf
- fi
-
-};
-
-# Function which determines if a nic is active / up
-is_nic_active()
-{
- ifconfig ${1} | grep "status: active" >/dev/null 2>/dev/null
- if [ "$?" = "0" ] ; then
- return 0
- else
- return 1
- fi
-};
-
-
-# Function which detects available nics, and runs DHCP on them until
-# a success is found
-enable_auto_dhcp()
-{
- # start by getting a list of nics on this system
- ${QUERYDIR}/detect-nics.sh > ${TMPDIR}/.niclist
- while read line
- do
- NIC="`echo $line | cut -d ':' -f 1`"
- DESC="`echo $line | cut -d ':' -f 2`"
-
- is_nic_active "${NIC}"
- if [ "$?" = "0" ] ; then
- echo_log "Trying DHCP on $NIC $DESC"
- dhclient ${NIC} >/dev/null 2>/dev/null
- if [ "$?" = "0" ] ; then
- # Got a valid DHCP IP, we can return now
- WRKNIC="$NIC" ; export WRKNIC
- return 0
- fi
- fi
- done < ${TMPDIR}/.niclist
-
-};
-
-# Get the mac address of a target NIC
-get_nic_mac() {
- FOUNDMAC="`ifconfig ${1} | grep 'ether' | tr -d '\t' | cut -d ' ' -f 2`"
- export FOUNDMAC
-}
-
-# Function which performs the manual setup of a target nic in the cfg
-enable_manual_nic()
-{
- # Get the target nic
- NIC="$1"
-
- # Check that this NIC exists
- rc_halt "ifconfig ${NIC}"
-
- get_value_from_cfg netIP
- NETIP="${VAL}"
-
- if [ "$NETIP" = "DHCP" ]
- then
- echo_log "Enabling DHCP on $NIC"
- rc_halt "dhclient ${NIC}"
- return 0
- fi
-
- # If we get here, we have a manual setup, lets do so now
-
- # Set the manual IP
- rc_halt "ifconfig ${NIC} ${NETIP}"
-
- # Check if we have a netmask to set
- get_value_from_cfg netMask
- NETMASK="${VAL}"
- if [ ! -z "${NETMASK}" ]
- then
- rc_halt "ifconfig ${NIC} netmask ${NETMASK}"
- fi
-
- # Check if we have a default router to set
- get_value_from_cfg netDefaultRouter
- NETROUTE="${VAL}"
- if [ ! -z "${NETROUTE}" ]
- then
- rc_halt "route add default ${NETROUTE}"
- fi
-
- # Check if we have a nameserver to enable
- get_value_from_cfg netNameServer
- NAMESERVER="${VAL}"
- if [ ! -z "${NAMESERVER}" ]
- then
- echo "nameserver ${NAMESERVER}" >/etc/resolv.conf
- fi
-
-
-};
-
-
-# Function which parses the cfg and enables networking per specified
-start_networking()
-{
- # Check if we have any networking requested
- get_value_from_cfg netDev
- if [ -z "${VAL}" ]
- then
- return 0
- fi
-
- NETDEV="${VAL}"
- if [ "$NETDEV" = "AUTO-DHCP" ]
- then
- enable_auto_dhcp
- else
- enable_manual_nic ${NETDEV}
- fi
-
-};
-
-
-# Function which checks the cfg and enables the specified networking on
-# the installed system
-save_networking_install()
-{
-
- # Check if we have any networking requested to save
- get_value_from_cfg netSaveDev
- if [ -z "${VAL}" ]
- then
- return 0
- fi
-
- NETDEV="${VAL}"
- if [ "$NETDEV" = "AUTO-DHCP" ]
- then
- save_auto_dhcp
- else
- save_manual_nic ${NETDEV}
- fi
-
-};
-
OpenPOWER on IntegriCloud