Skip to content

Commit 8ad013d

Browse files
author
Ritwick DSouza
committed
[raspbian] Added support for manual mode in interfaces
1 parent cd30895 commit 8ad013d

4 files changed

Lines changed: 48 additions & 9 deletions

File tree

netjsonconfig/backends/raspbian/templates/interfaces.jinja2

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
{% if i|string() == 'interfaces' %}
33
{% for interface in j %}
44
{% if interface.get('iftype') in ['ethernet', 'bridge', 'loopback', 'wireless'] %}
5-
{% if interface.get('address') != None %}
65
# config: /etc/network/interfaces
6+
{% if interface.get('address') != None %}
77

88
auto {{ interface.get('ifname') }}
99
{% for address in interface.get('address') %}
@@ -67,17 +67,16 @@
6767
{% endif%}
6868
{% endfor %}
6969
{% else %}
70-
{% if interface.get('iftype') == 'bridge' %}
71-
# config: /etc/network/interfaces
7270

7371
auto {{ interface.get('ifname') }}
72+
{% if interface.get('iftype') == 'wireless' and interface.get('mode') != 'adhoc' %}
73+
iface {{ interface.get('ifname') }} inet manual
74+
{% endif %}
75+
{% if interface.get('iftype') == 'bridge' %}
7476
bridge_ports {{ interface.get('bridge_members')[0] }} {{ interface.get('bridge_members')[1] }}
7577
{% endif %}
7678
{% if interface.get('mode') == 'adhoc' %}
77-
# config: /etc/network/interfaces
78-
79-
auto {{ interface.get('iftype') }}
80-
iface {{ interface.get('iftype') }} inet static
79+
iface {{ interface.get('ifname') }} inet static
8180
address 172.128.1.1
8281
netmask 255.255.255.0
8382
wireless-channel 1

tests/raspbian/test_hostapd.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ def test_wpa2_personal(self):
5050
wpa_key_mgmt=WPA-PSK
5151
wpa_passphrase=passphrase012345
5252
wpa_pairwise=TKIP CCMP
53+
# config: /etc/network/interfaces
54+
55+
auto wlan0
56+
iface wlan0 inet manual
5357
5458
'''
5559
self.assertEqual(o.render(), expected)
@@ -97,6 +101,10 @@ def test_wpa_personal(self):
97101
wpa=1
98102
wpa_key_mgmt=WPA-PSK
99103
wpa_passphrase=passphrase012345
104+
# config: /etc/network/interfaces
105+
106+
auto wlan0
107+
iface wlan0 inet manual
100108
101109
'''
102110
self.assertEqual(o.render(), expected)
@@ -209,6 +217,10 @@ def test_encryption_disabled(self):
209217
channel=3
210218
ieee80211n=1
211219
ssid=MyNetwork
220+
# config: /etc/network/interfaces
221+
222+
auto wlan0
223+
iface wlan0 inet manual
212224
213225
'''
214226
self.assertEqual(o.render(), expected)
@@ -248,6 +260,10 @@ def test_no_encryption(self):
248260
channel=3
249261
ieee80211n=1
250262
ssid=open
263+
# config: /etc/network/interfaces
264+
265+
auto wlan0
266+
iface wlan0 inet manual
251267
252268
'''
253269
self.assertEqual(o.render(), expected)

tests/raspbian/test_interfaces.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -401,8 +401,8 @@ def test_adhoc_wireless(self):
401401

402402
expected = '''# config: /etc/network/interfaces
403403
404-
auto wireless
405-
iface wireless inet static
404+
auto wlan0
405+
iface wlan0 inet static
406406
address 172.128.1.1
407407
netmask 255.255.255.0
408408
wireless-channel 1

tests/raspbian/test_radios.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ def test_radio_multi(self):
5151
channel=11
5252
ieee80211n=1
5353
ssid=myWiFi
54+
# config: /etc/network/interfaces
55+
56+
auto wlan0
57+
iface wlan0 inet manual
5458
5559
'''
5660
self.assertEqual(o.render(), expected)
@@ -89,6 +93,10 @@ def test_radio_n_24ghz(self):
8993
channel=3
9094
ieee80211n=1
9195
ssid=myWiFi
96+
# config: /etc/network/interfaces
97+
98+
auto wlan0
99+
iface wlan0 inet manual
92100
93101
'''
94102
self.assertEqual(o.render(), expected)
@@ -127,6 +135,10 @@ def test_radio_n_5ghz(self):
127135
channel=36
128136
ieee80211n=1
129137
ssid=myWiFi
138+
# config: /etc/network/interfaces
139+
140+
auto wlan0
141+
iface wlan0 inet manual
130142
131143
'''
132144
self.assertEqual(o.render(), expected)
@@ -164,6 +176,10 @@ def test_radio_ac(self):
164176
channel=132
165177
ieee80211ac=1
166178
ssid=myWiFi
179+
# config: /etc/network/interfaces
180+
181+
auto wlan0
182+
iface wlan0 inet manual
167183
168184
'''
169185
self.assertEqual(o.render(), expected)
@@ -200,6 +216,10 @@ def test_radio_a(self):
200216
hw_mode=a
201217
channel=0
202218
ssid=myWiFi
219+
# config: /etc/network/interfaces
220+
221+
auto wlan0
222+
iface wlan0 inet manual
203223
204224
'''
205225
self.assertEqual(o.render(), expected)
@@ -236,6 +256,10 @@ def test_radio_g(self):
236256
hw_mode=g
237257
channel=0
238258
ssid=myWiFi
259+
# config: /etc/network/interfaces
260+
261+
auto wlan0
262+
iface wlan0 inet manual
239263
240264
'''
241265
self.assertEqual(o.render(), expected)

0 commit comments

Comments
 (0)