Skip to content

Commit f7236fd

Browse files
authored
Merge pull request #1517 from kernelkit/yanger-fix
2 parents 9b08371 + aecb454 commit f7236fd

1 file changed

Lines changed: 15 additions & 13 deletions

File tree

  • src/statd/python/yanger/ietf_interfaces

src/statd/python/yanger/ietf_interfaces/bridge.py

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -275,8 +275,9 @@ def vlans_add_memberships(iplink, vlans):
275275
continue
276276

277277
for brpvlan in brpvlans["vlans"]:
278-
if not (vlan := vlans.get(brpvlan["vlan"])):
279-
LOG.error(f"Unexpected vlan {brpvlans['vlan']} on {port}")
278+
vid = brpvlan["vlan"]
279+
if not (vlan := vlans.get(vid)):
280+
LOG.error(f"Unexpected vlan {vid} on {port}")
280281
continue
281282

282283
if "Egress Untagged" in brpvlan.get("flags", []):
@@ -291,17 +292,18 @@ def vlans(iplink):
291292

292293
mctldata = mctl_queriers()
293294

294-
vlans = {
295-
v["vlan"]: {
296-
"vid": v["vlan"],
297-
"untagged": [],
298-
"tagged": [],
299-
300-
"multicast": multicast(iplink, v, mctldata),
301-
"multicast-filters": multicast_filters(iplink, v["vlan"]),
302-
}
303-
for v in brgvlans[0]["vlans"]
304-
}
295+
vlans = {}
296+
for v in brgvlans[0]["vlans"]:
297+
start = v["vlan"]
298+
end = v.get("vlanEnd", start)
299+
for vid in range(start, end + 1):
300+
vlans[vid] = {
301+
"vid": vid,
302+
"untagged": [],
303+
"tagged": [],
304+
"multicast": multicast(iplink, v, mctldata),
305+
"multicast-filters": multicast_filters(iplink, vid),
306+
}
305307

306308
vlans_add_memberships(iplink, vlans)
307309
return list(vlans.values())

0 commit comments

Comments
 (0)