This commit adds support for configuring static PTMP overlays with VXLAN by
allowing to specify multiple IPs for »vxlan-peer-ips«. If more than one IP
is given ifupdown-ng will set up additional FDB entries for all peer IPs and
the Linux Kernel will do ingres / head-end replication for BUM traffic.
For a cleaner naming schema and simliar names to commercial vendor CLIs the
options to specify unicast or multicast peers have been renamed and aliases
added for compatibility to previous versions of ifupdown-ng:
* »vxlan-remote-ip« now is named »vxlan-peer-ips«
* »vxlan-remote-group« now is called »vxlan-peer-group«
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
Previously, it was possible for an executor to hang forever. To mitigate
this, we now implement process execution timeouts for executors, by looping
with waitpid(..., WNOHANG) and sleeping.
This could be implemented more efficiently with process descriptors, see
pidfd_open(2), but that interface is Linux-specific and is only available
on Linux 5.3 or newer.
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>