# VLAN interfaces have a '.' in their name by convention
if vif and not '.' in ifname:
continue
if vrrp:
vrrp_interfaces = VRRP.active_interfaces()
if ifname not in vrrp_interfaces:
continue
yield interface
def is_interface_has_mac(interface_name):
interface_no_mac = ('tun', 'wg')
return not any(interface_name.startswith(prefix) for prefix in interface_no_mac)
def detailed_output(dataset, headers):
for data in dataset:
adjusted_rule = data + [""] * (len(headers) - len(data)) # account for different header length, like default-action
transformed_rule = [[header, adjusted_rule[i]] for i, header in enumerate(headers) if i < len(adjusted_rule)] # create key-pair list from headers and rules lists; wrap at 100 char