Commit graph

127 commits

Author SHA1 Message Date
Zola
e978d1a42c Fix a bug in the wifi executor script
When stopping wpa_supplicant, the code is supposed to check if a file named $PIDFILE exists and kill the process listed inside. Instead it was checking if a directory named $PIDFILE exists and because this was never the case, killing of the wpa_supplicant process would always silently fail.

This would, after a few invocations of the ifup command, leave the system with large number of running wpa_supplicant processes, all trying to take control of the same interface.
2021-11-25 22:44:19 -06:00
Maximilian Wilhelm
b75e509f3d vxlan: Add support for PTMP setups and rename options to vxlan-peer-{ip,group}
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>
2021-10-16 15:27:30 +02:00
Maximilian Wilhelm
73d9788fab tunnel executore: Add support for setting pmtudisc / ignore-df for tunnels.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2021-06-03 18:53:25 +02:00
Maximilian Wilhelm
2b358fafc6 tunnel executor: Add support for tunnel-local-dev option
The new "tunnel-local-dev <iface>" option allows to specify an interface
  to read the IPv4/IPv6 address from which should be used as "tunnel-local"
  address.  The address family is determined based on the given "tunnel-mode".

Closes #118

Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2021-06-03 18:53:06 +02:00
Ariadne Conill
aee2d45e18 static: use ip addr|route flush instead of manually deleting matching routes
This ensures we wind up with a clean slate for the interface or VRF when taking
interfaces/VRFs down.

Closes #149.
2021-04-22 01:43:12 -06:00
Maximilian Wilhelm
667943f46c Add support for MPLS on Linux
Closes #135

Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2021-03-30 23:29:52 +02:00
Maximilian Wilhelm
bec5fcefce tunnel executor: Add support for ip6gretap tunnels
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2021-03-25 21:17:05 +01:00
Maximilian Wilhelm
cea9840651 Add tests for bond executor
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2021-03-24 15:06:22 +01:00
Maximilian Wilhelm
e88a6b7e10 bond executor: Fix bond param regex
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2021-03-24 14:42:33 +01:00
Maximilian Wilhelm
2cec4ed05c tunnel executor: Make sure mode/type is 1st parameter
Closes #143

Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2021-03-18 20:20:01 +01:00
Ariadne Conill
ffcf1976b8 tests: add tests for forward executor 2020-12-16 06:23:38 -07:00
Ariadne Conill
1c2fddfbaa executor-scripts: add forward executor 2020-12-16 06:13:29 -07:00
A. Wilcox
b9d6c190e4
dhcp executor: Pass correct arguments to dhclient
They are opt-args, not pop-tarts.
2020-12-14 11:23:59 -06:00
Maximilian Wilhelm
383ae31372 wifi executor: And some sanity checks to stopping wpa_supplicant
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-12-04 07:01:47 +01:00
Ariadne Conill
93c8827205 wifi executor: fix up some shell nitpicks 2020-12-03 04:56:47 -07:00
Ariadne Conill
4e3a4c6cb8 wifi executor: add support for insecure wifi networks 2020-12-02 19:27:28 -07:00
Ariadne Conill
b2f5a62c35 wifi executor: protect against unintentionally clobbering $IF_WIFI_CONFIG_PATH 2020-12-02 18:31:39 -07:00
Ariadne Conill
f77d3558f7 executors: add wifi executor 2020-12-02 18:29:05 -07:00
Maximilian Wilhelm
b21cb37df0 dhcp: Pass given config file to dhclient, if present
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-11-30 22:38:32 +01:00
Maximilian Wilhelm
aada42795c DHCP: Rename options to dhcp-*
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-11-30 22:36:28 +01:00
Ariadne Conill
20d9e3fe91 executors: drop set -e, closes #121 2020-11-02 08:53:30 -07:00
Maximilian Wilhelm
02a74985ab bridge: Rework vlan handling
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-18 21:29:50 +02:00
Maximilian Wilhelm
fb1d3181fe bridge: STP option for iproute2 has to be 0 or 1.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-18 21:28:10 +02:00
Maximilian Wilhelm
a5761afd70 bridge: Remove fall back to IF_REQUIRES
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-18 03:28:20 +02:00
Ariadne Conill
05a3b1539b bridge: add support for bridge-vids (with inheritance), bridge-access and bridge-pvid 2020-10-18 03:28:20 +02:00
Ariadne Conill
03528b01ad bridge: remove hack for alpine vlan scripts (not relevant to us) 2020-10-18 03:28:20 +02:00
Ariadne Conill
3d743f512f bridge: add support for bridge-vlan-aware in iproute2 mode 2020-10-18 03:28:20 +02:00
Ariadne Conill
6c5d856ac4 bridge: remove support for gcint (noop in modern kernels), use iproute2 commands for all bridge configuration if present 2020-10-18 03:28:20 +02:00
Ariadne Conill
36eb6e3377 bridge: check if iproute2 is available and use it to configure bridge options 2020-10-18 03:28:20 +02:00
Ariadne Conill
e7ee26ac19 bridge: use iproute commands to create and assign bridge ports 2020-10-18 03:28:20 +02:00
Maximilian Wilhelm
2d32b1577c bond executor: grep for options only once
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-11 03:28:23 +02:00
Maximilian Wilhelm
a67d518ea9
Merge pull request #101 from BarbarossaTM/feature/batman-options
Generalize B.A.T.M.A.N. .adv. option handling
2020-10-06 20:22:19 +02:00
Maximilian Wilhelm
13a8daf96e batman executor: Work around excution order limitations for now.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 05:17:48 +02:00
Maximilian Wilhelm
27a7201b45 batman executor: Generalize option handling.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 05:05:28 +02:00
Maximilian Wilhelm
332ea7c7d3 Stick to upstream naming of hop-penalty instead of interface penalty for hardifs.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 05:05:28 +02:00
Maximilian Wilhelm
59290415a0 batman executor: Allow settings the B.A.T.M.A.N. adv. routing algorithm
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 05:05:28 +02:00
Maximilian Wilhelm
5d6c7732ed static executor: Ignore errors while removing addresses
When having multiple addresses set from the same prefix they might/will(?)
  be configured as 'secondary' and implicitly removed when removing the
  non-secondary address. This leads ip complaining about not being able
  to remove the secondaries as they are already gone. So we ignore errors
  while deconfiguring addresses as they liked occur when removing a
  vanish address anyway.

Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 04:50:02 +02:00
Maximilian Wilhelm
5557804af9 static executor: Update executor to use env vars.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 04:43:12 +02:00
Ariadne Conill
df6835bd62
Merge pull request #98 from BarbarossaTM/feature/pointopoint
static executor: Add support for IPv4 'pointopoint' addresses.
2020-10-05 22:04:58 -04:00
Maximilian Wilhelm
6dc43a2bb4 Let's use "point-to-point" and map "pointopoint" to it.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 04:03:27 +02:00
Ariadne Conill
37299e312f
Merge pull request #87 from BarbarossaTM/feature/veth
Add support for veth interface pairs
2020-10-05 14:34:39 -06:00
Maximilian Wilhelm
9ee3a874d4 Add support for bonding / LAGs.
* 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>
2020-10-04 01:35:41 +02:00
Maximilian Wilhelm
67163c6561 static executor: Add support for IPv4 'pointopoint' addresses.
Closes #96

Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-03 20:38:40 +02:00
Ariadne Conill
cc06712611
Merge pull request #94 from ifupdown-ng/bugfix/hetzner-ipv6-default-route-is-link-local
static: always associate default routes with $IFACE
2020-10-02 15:46:03 -06:00
Ariadne Conill
74b6f9487c static: always associate default routes with $IFACE
Hetzner uses link-local addressing for their default IPv6 route,
accordingly we should specify the device a route is associated with
so that it will use the correct interface.

Thanks to Devin Brown for reporting this issue.
2020-10-02 15:44:46 -06:00
Maximilian Wilhelm
68e08cae7e
Merge pull request #89 from BarbarossaTM/feature/vxlan
Add support for VXLAN interface
2020-10-02 22:36:22 +02:00
Maximilian Wilhelm
12b0872349 vxlan executor: Fix typo and remove code copied from link executor.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-02 03:06:22 +02:00
Maximilian Wilhelm
fef7c55270 link exectutor: Don't re-create dummy interface when present.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-02 02:29:39 +02:00
Maximilian Wilhelm
c6faf452b9 link executor: Don't complain about a vanished interface when downing it
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-02 02:29:04 +02:00
Maximilian Wilhelm
3f67b2137d Add VXLAN support
Add a vxlan exectutor as well as mappings from ifupdown2 parameters to ours.

  Closes #75

Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-02 02:20:10 +02:00