Annotation of /alx-src/tags/alxconf-0_6_4_5/functions/config_network.sh
Parent Directory | Revision Log
Revision 2145 -
(hide annotations)
(download)
(as text)
Tue May 17 11:44:27 2011 UTC (13 years, 4 months ago) by niro
Original Path: alx-src/branches/alxconf-060/functions/config_network.sh
File MIME type: application/x-sh
File size: 3206 byte(s)
Tue May 17 11:44:27 2011 UTC (13 years, 4 months ago) by niro
Original Path: alx-src/branches/alxconf-060/functions/config_network.sh
File MIME type: application/x-sh
File size: 3206 byte(s)
-get database data via evaluate_table() function and use the advantages of xml (no problems with empty values anymore)
1 | niro | 2001 | # $Id$ |
2 | # configures networking on the host via mysql db settings | ||
3 | niro | 218 | |
4 | config_networking() | ||
5 | { | ||
6 | niro | 346 | local iface |
7 | niro | 2033 | local CONFIG |
8 | niro | 346 | |
9 | # first of all get the vars | ||
10 | niro | 2145 | evaluate_table cfg_network |
11 | niro | 218 | |
12 | niro | 346 | # get the right nic |
13 | niro | 2145 | if [[ -z ${cfg_network_iface} ]] || [[ ${cfg_network_iface} = NULL ]] |
14 | niro | 346 | then |
15 | # default is 'eth0' | ||
16 | iface="eth0" | ||
17 | else | ||
18 | niro | 2145 | iface="${cfg_network_iface}" |
19 | niro | 346 | fi |
20 | niro | 218 | |
21 | niro | 346 | # remove all old nics and modules configs |
22 | find /etc/conf.d -type f -name 'net.*' | xargs rm | ||
23 | niro | 2120 | find /etc/modprobe.d -type f -name 'net.*' | xargs rm |
24 | niro | 346 | |
25 | # update the preliminary network | ||
26 | # set an device alias for modprobe.conf | ||
27 | niro | 2120 | [ ! -d /etc/modprobe.d ] && install -d /etc/modprobe.d |
28 | niro | 346 | # update only if not the same (to speed up bootprocess - no depmod) |
29 | niro | 2120 | if [ ! -f /etc/modprobe.d/net.${iface}.conf ] || |
30 | [[ ${iface} != $(cat /etc/modprobe.d/net.${iface}.conf | cut -d' ' -f2) ]] | ||
31 | niro | 346 | then |
32 | niro | 2120 | CONFIG=/etc/modprobe.d/net.${iface}.conf |
33 | niro | 2033 | clearconfig |
34 | niro | 2145 | addconfig "alias ${iface} ${cfg_network_module}" |
35 | niro | 346 | fi |
36 | |||
37 | # update confd-networking default iface | ||
38 | niro | 371 | [ ! -d ${SETTINGSPATH} ] && install -d ${SETTINGSPATH} |
39 | niro | 2033 | CONFIG=${SETTINGSPATH}/confd-networking |
40 | clearconfig | ||
41 | addconfig "${iface}" | ||
42 | niro | 346 | |
43 | niro | 218 | # hostname && hosts |
44 | niro | 2033 | CONFIG=/etc/hostname |
45 | clearconfig | ||
46 | niro | 2145 | addconfig "${cfg_network_hostname}" |
47 | niro | 2033 | CONFIG=/etc/hosts |
48 | clearconfig | ||
49 | niro | 2145 | addconfig -e "127.0.0.1\tlocalhost.${cfg_network_domain}\tlocalhost\t${cfg_network_hostname}" |
50 | case ${cfg_network_networking} in | ||
51 | niro | 2033 | static|STATIC) |
52 | # add hostname with valid ip to hosts | ||
53 | niro | 2145 | addconfig -e "${ALX_IP}\t${cfg_network_hostname}.${cfg_network_domain}\t${cfg_network_hostname}" |
54 | niro | 2033 | ;; |
55 | esac | ||
56 | niro | 218 | |
57 | # network devices | ||
58 | |||
59 | # always on boot | ||
60 | niro | 2033 | CONFIG=/etc/conf.d/net.${iface} |
61 | clearconfig | ||
62 | niro | 218 | |
63 | niro | 2033 | addconfig 'ONBOOT="yes"' |
64 | niro | 2145 | addconfig "NETWORKING=\"${cfg_network_networking}\"" |
65 | case ${cfg_network_networking} in | ||
66 | niro | 218 | dhcp|DHCP) |
67 | niro | 2033 | addconfig 'DHCP_PROG="/sbin/udhcpc"' |
68 | addconfig 'DHCP_STOP=""' | ||
69 | niro | 218 | #timeout after 10 seconds |
70 | niro | 2033 | addconfig 'DHCP_START="-t 10"' |
71 | niro | 218 | ;; |
72 | |||
73 | static|STATIC) | ||
74 | niro | 2145 | addconfig "IP=\"${cfg_network_ip}\"" |
75 | addconfig "NETMASK=\"${cfg_network_netmask}\"" | ||
76 | addconfig "BROADCAST=\"${cfg_network_broadcast}\"" | ||
77 | niro | 218 | ;; |
78 | esac | ||
79 | |||
80 | niro | 276 | # force mac address override |
81 | niro | 2145 | if [[ ${cfg_network_forcemacto} != NULL ]] |
82 | niro | 276 | then |
83 | niro | 2145 | addconfig "FORCE_MAC_TO=\"${cfg_network_forcemacto}\"" |
84 | niro | 276 | fi |
85 | |||
86 | niro | 346 | # wireless extensions |
87 | local value | ||
88 | local var | ||
89 | niro | 2145 | for var in bitrate \ |
90 | channel \ | ||
91 | essid \ | ||
92 | frequency \ | ||
93 | mode \ | ||
94 | nick \ | ||
95 | auth_mode \ | ||
96 | key_length \ | ||
97 | key \ | ||
98 | key_ascii | ||
99 | niro | 346 | do |
100 | # get the value of $var | ||
101 | niro | 2145 | eval value="\${cfg_network_wireless_$(echo ${var})}" |
102 | niro | 346 | |
103 | # write it only if not empty | ||
104 | if [[ -n ${value} ]] && [[ ${value} != NULL ]] | ||
105 | then | ||
106 | niro | 2145 | # add WIRELESS and use uppercases |
107 | addconfig "WIRELESS_$(echo ${var} | tr [[:lower:] [[:upper:]])=\"${value}\"" | ||
108 | niro | 346 | fi |
109 | |||
110 | # clear value | ||
111 | unset value | ||
112 | done | ||
113 | |||
114 | niro | 2033 | # FIXME !!! |
115 | niro | 353 | # setup wpa-driver (only zydas atm) |
116 | niro | 2145 | if [[ ${cfg_network_module} = zd1211 ]] |
117 | niro | 2033 | then |
118 | addconfig "WIRELESS_WPA_DRIVER=zydas" | ||
119 | fi | ||
120 | niro | 353 | |
121 | niro | 2033 | CONFIG=/etc/conf.d/net.routes |
122 | clearconfig | ||
123 | # gateway or gateway overrides | ||
124 | niro | 2145 | if [[ ${cfg_network_gateway} != NULL ]] |
125 | niro | 2033 | then |
126 | niro | 2145 | addconfig "default gw ${cfg_network_gateway}" |
127 | niro | 2033 | fi |
128 | |||
129 | CONFIG=/etc/resolv.conf | ||
130 | clearconfig | ||
131 | # nameserver or nameserver overrides | ||
132 | niro | 2145 | if [[ ${cfg_network_dns} != NULL ]] |
133 | niro | 2033 | then |
134 | niro | 2145 | addconfig "nameserver ${cfg_network_dns}" |
135 | niro | 2033 | fi |
136 | niro | 218 | } |