Commit graph

521 commits

Author SHA1 Message Date
Maximilian Wilhelm
a72d87df0b dict: lif_dict_find() + lif_dict_find_all() do not touch the dict, so mark it const.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-14 01:39:31 +02:00
Maximilian Wilhelm
02324bebd5 Move handling of address/netmask pairs from ifquery into library.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-14 01:24:33 +02:00
Ariadne Conill
17a410b87c
Merge pull request #106 from BarbarossaTM/doc/update
Update build documentation as well as admin guide
2020-10-13 18:14:50 -04:00
Maximilian Wilhelm
98ba7f46cf dist: Point out valid values and defaults in example config.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-14 00:12:47 +02:00
Maximilian Wilhelm
68c51a79e7 doc: Add /etc/network/ifupdown-ng.conf to admin guide.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-14 00:12:47 +02:00
Maximilian Wilhelm
f707c5c1ef doc: Update build section in README
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-14 00:12:24 +02:00
Maximilian Wilhelm
6423a284b8 doc: Update build section in README
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-14 00:11:37 +02:00
Ariadne Conill
172daa16a0
Merge pull request #85 from ifupdown-ng/feature/dependency-loop-breaking
lifecycle: add lif_interface.is_pending to break dependency cycles
2020-10-10 22:42:34 -04:00
Ariadne Conill
a1828c688b
Merge pull request #104 from BarbarossaTM/chore/executor-cleanup
bond executor: grep for options only once
2020-10-10 22:42:13 -04: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
Ariadne Conill
4c354ebf35 ifquery: implement more robust loop breaking strategy 2020-10-08 02:17:13 -06:00
Ariadne Conill
959617df88 tests: add dependency loop breaking test for ifdown 2020-10-08 02:09:30 -06:00
Ariadne Conill
0cade539f8 tests: ifup: add dependency loop breaking test 2020-10-08 02:05:43 -06:00
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