Add config option <compat_create_interfaces>:
Denotes where or not to create interfaces when compat_* settings are
active and it would be necessary to create an interface to be fully
compliant. This could happen when inheriting bridge VLAN settings to
an interface within a bridges bridge-ports setting but no interface
stanza is found. Valid values are 0 and 1, the default is 1.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
Add config options <compat_ifupdown2_bridge_ports_inherit_vlans>.
In ifupdown2 <bridge-vids> as well as the <bridge-pvid> set on a bridge
interface will be inherited by all member ports if not set explicitly.
When set to 1 ifupdown-ng behaves the same way and will internally copy
both options from the bridge member ports if they are not set on the
member port. Valid values are 0 and 1, the default is 1.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
Previously IF_ADDRESSES would not contain a prefix length if the address
entry in the configuration did not was in CIDR format but had a netmask
set seperately. This commit fixes that behaviour and computes a CIDR
netmask if necessary.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
Gather all IP addresses and gateways and expose them as IF_ADDRESSES and
IF_GATEWAYS environment variables to executors. This eliminates the need
to run ifquery from execuctors which would have to parse the config file
again on every run.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
* Add a bond executor
* Add mappings from ifupdown1/2
* Add a detailed man page
* Remove legacy compatiblity glue for setups with 'requires' only
The current implementation has to work around the fact that member interfaces
will be already up then the bond is created. This is simply done by downing
them, adding them to the bundle and upping them again. This can possible be
done in a nicer way after revisiting the ordering of plugin execution (#12).
Closes#91
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
Do not configure interfaces which have a configuration know to be broken.
Currently this only happens when using "inherit" to an non-existing iface
or to an iface and not a template, and having allow_any_iface_as_template
set to 0.
In those cases broken ifaces will not be configured unless ifup/ifdown is
invoked with --force.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>