Commit graph

78 commits

Author SHA1 Message Date
Ariadne Conill
9cc74b58c4 interface-file: remap legacy ifupdown & ifupdown2 tunnel parameters 2020-08-19 06:18:40 -06:00
Ariadne Conill
823544aace interface-file: map ppp-provider 2020-08-19 06:03:48 -06:00
Ariadne Conill
cb03eb1ee9 interface-file: remap problematic ifupdown2 tokens to our equivalents 2020-08-19 02:10:54 -06:00
Ariadne Conill
eeb40fc689 libifupdown: move ARRAY_SIZE() declaration from multicall 2020-08-19 01:58:41 -06:00
Ariadne Conill
049af8b9fb interface: if an interface name contains a period, treat it as a vlan device 2020-08-04 12:29:31 -06:00
Ariadne Conill
8615cf62ef interface: properly sync parent-child state when inheriting 2020-08-04 12:01:06 -06:00
Ariadne Conill
df2519c1ec dict: cleanups 2020-08-04 11:59:36 -06:00
Ariadne Conill
6728d2febe interface: add inherit property when inheriting 2020-08-04 11:48:22 -06:00
Ariadne Conill
6c7fa2919d interface-file: add support for inherit/inherits keyword 2020-08-04 11:46:56 -06:00
Ariadne Conill
3d5ca9050e interface: add lif_interface_collection_inherit() (ref #2) 2020-08-04 11:46:10 -06:00
Ariadne Conill
0eb25f1d62 interface file: simplify scanning iface directives for relevant keywords 2020-08-04 11:32:34 -06:00
Ariadne Conill
1964a99e5d lifecycle: don't insert a requires entry if it would be empty 2020-07-31 17:12:13 -06:00
Ariadne Conill
0ca8e42ee6 refactoring locking, make it per-interface to avoid deadlocks 2020-07-29 03:10:55 -06:00
Ariadne Conill
edfb91c05f lifecycle: separate environment building into build_environment() 2020-07-29 02:24:10 -06:00
Ariadne Conill
81d0ebc3e8 remove unnecessary strcmp wrapper, use typecasting instead 2020-07-28 17:57:51 -04:00
Ariadne Conill
cfbfa07e85 list: refactor lif_list_free_nodes() a bit 2020-07-28 17:53:48 -04:00
Ariadne Conill
58816712c6
Merge pull request #7 from BarbarossaTM/deduce-use
Deduce which addons to 'use' from parameters names
2020-07-28 17:50:32 -04:00
Maximilian Wilhelm
8045081024 list: Set pointer to free()ed list to NULL.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-07-28 23:30:09 +02:00
Maximilian Wilhelm
9d958892ed Free nodes of a lif_dict_find_all() result.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-07-28 23:25:01 +02:00
Maximilian Wilhelm
73f3690432 Deduce which addons to 'use' from parameters names (closes #6)
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-07-28 22:44:49 +02:00
Maximilian Wilhelm
2420023b74 Add comparator wrapper and type cast values properly.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-07-28 22:44:42 +02:00
Maximilian Wilhelm
f51c976b52 dict: Add lif_dict_add_once()
Add a function to add a key/value pair to the dict only if it doesn't exist
  within the dict already.

  As the dict is type agnostic this requires a comparator function to be given.

Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-07-28 22:44:22 +02:00
Maximilian Wilhelm
b1dfa609f9 dict: Add lif_dict_find_all().
As a dict can have multiple values for any given key we add a function to
  query all occurences of a given key and return them as a (new) list.

Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-07-28 22:41:41 +02:00
Ariadne Conill
21bcbe1017 execute: fix memory leak in lif_execute_fmt_with_result() 2020-07-28 13:53:21 -06:00
Ariadne Conill
fb5ff4eac2 lifecycle: add support for learning dependents from executors (ref #5) 2020-07-28 13:46:25 -06:00
Ariadne Conill
3a75de9f8c execute: add lif_execute_buf_with_result() to collect a result buffer 2020-07-28 13:01:15 -06:00
Ariadne Conill
08805f7de3 lifecycle: handle_commands_for_phase(): drop unused lifname variable 2020-07-26 03:39:58 -06:00
Ariadne Conill
be00984946 lifecycle: stop bringing up links, use link executor instead 2020-07-26 03:38:55 -06:00
Ariadne Conill
52d2bad3b8 interface: always attach "use link" executor 2020-07-26 03:29:16 -06:00
Ariadne Conill
12307aeb9d lifecycle: remove static address configuration (replaced with static executor) 2020-07-26 03:20:35 -06:00
Ariadne Conill
cae16c5758 simplify loopback 2020-07-26 02:59:15 -06:00
Ariadne Conill
9e4e17707f lifecycle: expose INTERFACES_FILE env var to executors 2020-07-26 02:50:01 -06:00
Ariadne Conill
987e6399de libifupdown: interface: add support for automatic "use static" insertion 2020-07-26 02:32:00 -06:00
Ariadne Conill
690190a0b9 libifupdown: interface-file: do not process use directives unless in an interface context 2020-07-25 08:49:37 -06:00
Ariadne Conill
7eeb7c98b5 libifupdown: lifecycle: remove built-in dhcp implementation 2020-07-25 02:50:45 -06:00
Ariadne Conill
559bf2d1a4 libifupdown: execute: fix behavior of lif_file_is_executable() 2020-07-25 02:49:44 -06:00
Ariadne Conill
95a72b5663 libifupdown: lifecycle: implement native executor support 2020-07-25 02:19:15 -06:00
Ariadne Conill
f8c14fc233 libifupdown: lifecycle: if in verbose mode, export VERBOSE to executors 2020-07-25 02:18:53 -06:00
Ariadne Conill
83d64b0a69 libifupdown: lifecycle: IFACE env variable should be set to the logical ifname 2020-07-25 02:18:35 -06:00
Ariadne Conill
96112d5dc9 libifupdown: execute: add lif_maybe_try_executor() 2020-07-25 02:17:27 -06:00
Ariadne Conill
eb8f1938dc libifupdown: add utility function to determine if a path is executable 2020-07-25 01:58:20 -06:00
Ariadne Conill
d582e405b6 lifecycle: simplify netmask fallback path 2020-07-25 01:02:05 -06:00
Ariadne Conill
60633e4acb lifecycle: add backwards compat for netmask triples 2020-07-25 00:58:32 -06:00
Ariadne Conill
713d5071d5 state: don't consider missing state file to be a fatal error 2020-07-24 07:13:04 -06:00
Ariadne Conill
16af3755e0 use "use loopback" hint instead of "inet loopback", same with dhcp 2020-07-24 05:00:49 -06:00
Ariadne Conill
e0a7444640 state: add ability to sync a state to if_collection cache 2020-07-24 04:48:50 -06:00
Ariadne Conill
a3c138b9b2 interface-file: add some backwards compatibility hacks with use (ref #3) 2020-07-24 04:39:41 -06:00
Ariadne Conill
5c75cdcab0 libifupdown: inline the tokenization functions 2020-07-24 04:12:42 -06:00
Ariadne Conill
101db509c1 lifecycle: note transient state changes when executing in verbose mode 2020-07-24 03:51:31 -06:00
Ariadne Conill
38537339ab lifecycle: implement requires keyword 2020-07-24 03:42:34 -06:00