Commit graph

125 commits

Author SHA1 Message Date
Ariadne Conill
02d044c391 libifupdown: add config file loader 2020-09-14 17:15:18 -06:00
Ariadne Conill
fafa5ed7f9 libifupdown: add abstract config parser implementation 2020-09-14 17:11:59 -06:00
Ariadne Conill
537a56414a tokenize: consider = to be equivalent to whitespace 2020-09-14 16:50:31 -06:00
Ariadne Conill
a6e022ad99 lifecycle: re-sort the interface collection by hand 2020-09-09 19:21:41 -06:00
Ariadne Conill
258e2e8a52 lifecycle: return the maximum tree depth for the dependency tree when counting depth 2020-09-09 18:12:13 -06:00
Ariadne Conill
8c8727e30f lifecycle: drop redundant lif_lifecycle_query_dependents().
since we now precompile the full dependency tree, including depths,
we no longer need to re-query each leaf for dependency information.
2020-09-09 17:40:57 -06:00
Ariadne Conill
2569503afa lifecycle: add lif_lifecycle_count_rdepends(), which calculates reverse dependency depth 2020-09-09 17:39:26 -06:00
Ariadne Conill
67dce280d7 interface: add lif_interface.rdepends_count 2020-09-09 17:13:11 -06:00
Ariadne Conill
e6c6f49143 lifecycle: remove redundant lif_state_upsert() call
this will be handled by lif_state_ref_if(), which also updates the
refcounting.
2020-09-09 16:01:04 -06:00
Ariadne Conill
5a0b53cd73 libifupdown: add interface being run for each executor 2020-09-09 15:50:16 -06:00
Ariadne Conill
00da19a381 lifecycle: add create/destroy phases 2020-09-09 14:36:07 -06:00
Ariadne Conill
6999a125c8 state: include limits.h 2020-09-09 13:27:34 -06:00
Ariadne Conill
c021b9420f state: ensure rc is set to 1 if strtoul() fails 2020-09-09 11:56:19 -06:00
Ariadne Conill
3b178131bd state: sync refcounts using mapped interface name, not physical interface name 2020-09-08 19:25:00 -06:00
Ariadne Conill
b514d31c26 ifupdown: implement --force 2020-09-08 19:17:00 -06:00
Ariadne Conill
f139bc2416 lifecycle: consider an interface eligible for takedown if it has only one dependent (itself) 2020-09-08 15:50:32 -06:00
Ariadne Conill
ca07082ff4 state: fix parsing interface names in ifstate files 2020-09-08 15:37:35 -06:00
Ariadne Conill
6603ff1000 lifecycle: use refcounting to defer interface teardown 2020-09-08 15:28:36 -06:00
Ariadne Conill
288976f015 libifupdown: introduce lif_state_ref_if() and lif_state_unref_if(). 2020-09-08 15:05:02 -06:00
Ariadne Conill
865bf7cac6 state: plug memory leak when upserting 2020-09-08 15:02:39 -06:00
Ariadne Conill
8e4eb5d00c state: migrate to lif_state_record from a bare dictionary containing the mapped ifs 2020-09-08 14:59:58 -06:00
Ariadne Conill
923b96fab8 state: use lif_next_token() when parsing ifstate files 2020-09-08 14:46:07 -06:00
Ariadne Conill
3b10494b40 change lif_interface.is_up to lif_interface.refcount 2020-09-08 14:41:25 -06:00
Ariadne Conill
ae1dc41c88 lifecycle: constify lif_interface access in several functions 2020-09-07 13:41:11 -06:00
Maximilian Wilhelm
64b24b02ed Remove leading whitespaces before interface attribute values.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-08-30 22:18:07 +02:00
Maximilian Wilhelm
570679c5bf lifecycle: Make sure to return true when script dir doesn't exist.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-08-27 12:10:12 +02:00
Maximilian Wilhelm
61ed18db2c lifecycle: Check if script dir exist before executing run-parts.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-08-27 01:15:51 +02:00
Ariadne Conill
4d64176ea3 execute: note the phase each executor is being invoked in 2020-08-26 02:06:36 -06:00
Ariadne Conill
aefaaa7457 lifecycle: only print skipping interface message if verbose 2020-08-24 11:33:56 -06:00
Ariadne Conill
3997b6a952
Merge pull request #38 from ifupdown-ng/bugfix/vlan-complex
vlan and assorted fixes
2020-08-24 11:14:45 -06:00
Ariadne Conill
de20e5f8a9 lifecycle: handle executors in reverse order when taking an interface down 2020-08-24 11:04:48 -06:00
Ariadne Conill
dfb979d00d list: add LIF_LIST_FOREACH_REVERSE() 2020-08-24 11:03:18 -06:00
Ariadne Conill
aba4b18862 lifecycle: add some helpful debug 2020-08-24 10:36:17 -06:00
Ariadne Conill
68021bc652
Merge pull request #35 from ifupdown-ng/feature/bsearch-parsing
interface config parser rewrite
2020-08-24 04:41:06 -06:00
Ariadne Conill
1384b38c78 interface: use link executor on vlans too 2020-08-24 03:06:32 -06:00
Ariadne Conill
6d15f21073 interface: handle is_bridge and is_bond hacks in a single place 2020-08-20 04:07:51 -06:00
Ariadne Conill
aba140a977 interface-file: use bsearch to find parser functions 2020-08-20 04:04:34 -06:00
Ariadne Conill
4a11d4fdd8 interface-file: break out source keyword handling 2020-08-20 03:46:31 -06:00
Ariadne Conill
df9c0284b1 interface-file: let commands initialize the interface collection themselves 2020-08-20 03:45:56 -06:00
Ariadne Conill
b57aba1a97 interface-file: split out auto keyword handling 2020-08-20 03:41:07 -06:00
Ariadne Conill
d36a522470 interface-file: add and use report_error() 2020-08-20 03:34:59 -06:00
Ariadne Conill
0928f07af5 interface-file: imply static executor use if gateway is specified 2020-08-20 03:20:07 -06:00
Ariadne Conill
e5c592f2c1 remove lif_interface.is_dhcp too 2020-08-20 03:14:57 -06:00
Ariadne Conill
846df3272f remove lif_interface.is_static, no longer used 2020-08-20 03:10:26 -06:00
Ariadne Conill
d463d455da simplify executor use statements 2020-08-20 03:08:29 -06:00
Ariadne Conill
075352b631 interface-file: remap ttl to tunnel-ttl 2020-08-19 06:20:15 -06:00
Ariadne Conill
c24143982f interface-file: map 'mode' to tunnel-mode 2020-08-19 06:19:05 -06:00
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