Commit graph

558 commits

Author SHA1 Message Date
Ariadne Conill
122a54377d lifecycle: break dependency cycles when calculating the full dependency graph 2020-10-08 02:01:46 -06:00
Ariadne Conill
b2e657cdf0 tests: add dependency loop fixture 2020-10-08 02:00:18 -06:00
Ariadne Conill
175f002b3e lifecycle: add lif_interface.is_pending to break dependency cycles 2020-10-08 01:49:44 -06:00
Maximilian Wilhelm
953b2274f7
Merge pull request #102 from BarbarossaTM/docs/fixes
docs: Fix format of VXLAN examples
2020-10-06 21:02:11 +02:00
Maximilian Wilhelm
5db2f29891 docs: Fix format of VXLAN examples.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 21:00:14 +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
Ariadne Conill
5b6cb5a128
Merge pull request #100 from BarbarossaTM/chore/addresses-and-gateways-env
Expose all adresses and gateways as environment variables
2020-10-05 23:46:15 -04: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
5302bee850 lifecycle: Don't leak allocated memory.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 04:50:02 +02:00
Maximilian Wilhelm
1a2298a759 lifecycle: Use snprintf() in favor of sprintf()
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 04:50:02 +02:00
Maximilian Wilhelm
99b0d67b8e lifecycle: Remove debugging statement.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 04:50:02 +02:00
Maximilian Wilhelm
4a8230f916 tests: Update static executor test to reflect latest change.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 04:49:46 +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
Maximilian Wilhelm
44be0c0721 Add myself to copyright notice in version information.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 04:43:12 +02:00
Maximilian Wilhelm
8a58c0ae6d lifecycle: Expose all adresses and gateways via the environment.
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>
2020-10-06 04:43:12 +02:00
Ariadne Conill
6f588a01d5
Merge pull request #92 from BarbarossaTM/doc/manpage-update
Man pages for B.A.T.M.A.N. adv., bridges, ethtool, VRFs
2020-10-05 22:06:43 -04: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
Maximilian Wilhelm
9832865539 Makefile: Order manpages by section number
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 04:02:24 +02:00
Maximilian Wilhelm
63a5503185 doc: Add a man page for PPP dial-up interfaces
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 04:01:52 +02:00
Maximilian Wilhelm
87fa1760be doc: Add a man page for Wireguard VPN tunnel interfaces
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 04:01:43 +02:00
Maximilian Wilhelm
584f0634ed Add new interfaces-*(5) man pages to Makefile
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 04:01:22 +02:00
Maximilian Wilhelm
596dd8165b doc: Reference CLI tool man pages in interfaces(5)
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 03:56:20 +02:00
Maximilian Wilhelm
05711db6ce doc: Add a man page for bridge interfaces
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 03:56:09 +02:00
Maximilian Wilhelm
adf0f9dd46 doc: Add a man page for B.A.T.M.A.N. adv. interfaces
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 03:55:55 +02:00
Maximilian Wilhelm
3d1d384a6b doc: Add man page for VRF related parameters
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 03:55:09 +02:00
Maximilian Wilhelm
48c87e34c1 tests: Use tabs not spaces.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-06 03:35:42 +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
Ariadne Conill
a66e8465d1
Merge pull request #99 from BarbarossaTM/feature/bonding
Add support for bonding / LAGs.
2020-10-05 14:27:07 -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
7cf353dd22 doc: Polish VXLAN related documentation.
Thanks-to: Blake W.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-02 22:29:01 +02:00
Maximilian Wilhelm
704b2feecb doc: Move VXLAN documentation into own man page.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-02 21:24:21 +02:00
Maximilian Wilhelm
0b23f5bc86
Merge pull request #88 from BarbarossaTM/feature/debian-packaging
Add files required for Debian packaging
2020-10-02 03:09:37 +02:00
Maximilian Wilhelm
98ac007ffe
Merge pull request #90 from BarbarossaTM/chore/link-executor
Clean up link executor
2020-10-02 03:09:14 +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
1f1d4f5bad man: Add documentation for VXLAN parameters.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-02 03:05:30 +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
ee582ac9b0 vxlan: Add tests
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-02 02:25:55 +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
Maximilian Wilhelm
bd8ad91de6 Add files required for Debian packaging
* Systemd unit file for networking.service
 * Small wrapper script called by networking.service
 * Defaults file for networking.service

Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-02 00:55:34 +02:00
Maximilian Wilhelm
3035627c93 link executor: Add dependency between veth pairs
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-09-25 22:07:10 +02:00