Skip to content

Commit 2e8ec84

Browse files
committed
[airos] drafted support for vlan configuration in ebtables
1 parent 2e7e62e commit 2e8ec84

1 file changed

Lines changed: 25 additions & 1 deletion

File tree

netjsonconfig/backends/airos/converters.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,13 @@ def to_intermediate(self):
157157
class Ebtables(AirOsConverter):
158158
netjson_key = 'general'
159159

160+
@property
161+
def vlan(self):
162+
"""
163+
Return all the vlan interfaces
164+
"""
165+
return vlan(get_copy(self.netjson, self.netjson_key, []))
166+
160167
@property
161168
def wireless(self):
162169
"""
@@ -175,7 +182,24 @@ def ebtables(self):
175182
base.update(encrypted(w))
176183
if self.netmode == 'bridge':
177184
base['sys'].update({'fw': {'status': 'disabled'}})
178-
185+
vlans = []
186+
_t = {
187+
'devname': '',
188+
'id': '',
189+
'status': '',
190+
}
191+
for v in self.vlan:
192+
t = _t.copy()
193+
name_and_id = v['name'].split('.')
194+
t.update({
195+
'devname': name_and_id[0],
196+
'id': name_and_id[1],
197+
'status': status(v),
198+
})
199+
vlans.append(t)
200+
if vlans:
201+
base['sys']['vlan.status'] = 'enabled'
202+
base['sys']['vlan'] = vlans
179203
return [status, base]
180204

181205
def to_intermediate(self):

0 commit comments

Comments
 (0)