Commit graph

669 commits

Author SHA1 Message Date
Ariadne Conill
dae7d59864 state: write and restore explicit flag from ifstate 2020-10-21 08:29:54 -06:00
Ariadne Conill
4f7063ba0f state: add lif_state_record::is_explicit 2020-10-21 08:15:52 -06:00
Ariadne Conill
817262fa33 lifecycle: skip parent interfaces marked as explicitly configured when going down
these interfaces will be taken down by ifdown itself when appropriate
2020-10-21 08:11:45 -06:00
Ariadne Conill
b201f351ec interface: auto interfaces are always explicit 2020-10-21 08:09:21 -06:00
Ariadne Conill
9bcf914250 interface: add lif_interface::is_explicit 2020-10-21 08:06:59 -06:00
Maximilian Wilhelm
c810cd5817 doc: Add ifupdown-ng.conf(5) man page on global options.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-18 23:43:17 +02:00
Maximilian Wilhelm
e5d9ee25fc doc: Update bridge man page on vlan-aware options.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-18 23:25:42 +02: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
ab7b1f5d24 compat: Fix build failure.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-18 05:36:45 +02:00
Maximilian Wilhelm
480fc5eecb compat: Only create interface when configured to do so.
Add config option <compat_create_interfaces>:

  Denotes where or not to create interfaces when compat_* settings are
  active and it would be necessary to create an interface to be fully
  compliant.  This could happen when inheriting bridge VLAN settings to
  an interface within a bridges bridge-ports setting but no interface
  stanza is found.  Valid values are 0 and 1, the default is 1.

Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-18 05:14:03 +02:00
Maximilian Wilhelm
d86297f29c compat: Add glue for ifupdown2 bridge port VLAN inheritance.
Add config options <compat_ifupdown2_bridge_ports_inherit_vlans>.

  In ifupdown2 <bridge-vids> as well as the <bridge-pvid> set on a bridge
  interface will be inherited by all member ports if not set explicitly.
  When set to 1 ifupdown-ng behaves the same way and will internally copy
  both options from the bridge member ports if they are not set on the
  member port. Valid values are 0 and 1, the default is 1.

Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-18 04:58:23 +02:00
Maximilian Wilhelm
56beefdd28 ifquery: Apply compatibility glue, too.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-18 04:57:24 +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
80a590ca33
Merge pull request #114 from BarbarossaTM/feature/compatiblity-layer
Introduce compatibility layer framework
2020-10-18 03:27:46 +02:00
Maximilian Wilhelm
d96f579d7f Introduce an compatibility layer which is empty for now.
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-18 03:26:40 +02:00
Ariadne Conill
509b75bc73 openrc: use --auto selector when determining which interfaces to start (closes #112) 2020-10-17 05:20:10 -06:00
Ariadne Conill
3e6129907c ifupdown-ng 0.10.0. 2020-10-15 16:03:44 -06:00
Ariadne Conill
e6de8465de
Merge pull request #110 from ifupdown-ng/feature/normalize-dhcp-hostname
dhcp hostname normalization
2020-10-14 12:50:29 -06:00
Ariadne Conill
47f74997a7 admin guide: document use_hostname_for_dhcp. 2020-10-14 05:23:22 -06:00
Ariadne Conill
4aa2749737 add a config option to disable automatically setting the dhcp hostname 2020-10-14 05:21:15 -06:00
Ariadne Conill
a210cf6a66 interface: set a default hostname property 2020-10-14 05:11:12 -06:00
Ariadne Conill
aec7dad1c1 interface-file: add special handler for hostname keyword 2020-10-14 05:04:06 -06:00
Ariadne Conill
086eca2b4e
Merge pull request #109 from ifupdown-ng/feature/include-loop-detection
refactor config file management
2020-10-14 04:54:47 -06:00
Ariadne Conill
f6fe06298f doc: interfaces: document source and source-directory options 2020-10-14 04:29:25 -06:00
Ariadne Conill
ee5e8b5702 interface-file: implement source-directory 2020-10-14 04:26:26 -06:00
Ariadne Conill
5035d2e160 interface-file: handle_generic(): drop unnecessary unused declaration for state 2020-10-14 04:12:59 -06:00
Ariadne Conill
8d4c7461af interface-file: break loops using lif_interface_file_parse_state.loaded dictionary 2020-10-14 04:07:14 -06:00
Ariadne Conill
0df3e03b68 interface-file: fully encapsulate cur_iface into lif_interface_file_parse_state 2020-10-14 04:00:39 -06:00
Ariadne Conill
dcb6ef97ef cmd: use lif_interface_file_parse_state structure as needed 2020-10-14 03:50:58 -06:00
Ariadne Conill
3bcfe91e84 interface-file: simplify state management a bit 2020-10-14 03:48:20 -06:00
Ariadne Conill
d76c2df460
Merge pull request #108 from ifupdown-ng/feature/openrc-init-script
openrc init script
2020-10-14 03:04:18 -06:00
Ariadne Conill
ef3be06b38 openrc: add networking.confd describing the config options 2020-10-14 02:52:59 -06:00
Ariadne Conill
1668d17c6b openrc: use -S to consistently define the state database location 2020-10-14 02:48:51 -06:00
Ariadne Conill
fcea23dbcd openrc: use ifquery -r to determine which interfaces to stop 2020-10-14 02:47:52 -06:00
Ariadne Conill
311ad74792 doc: document ifquery -r 2020-10-14 02:45:16 -06:00
Ariadne Conill
e300867d26 ifquery: add ifquery --running
this is like ifquery --state except it dumps only the running interface names
2020-10-14 02:44:00 -06:00
Ariadne Conill
89d84ec475 openrc: use ifquery -L for find_ifaces() 2020-10-14 02:38:05 -06:00
Ariadne Conill
3b7181cf28 import networking.initd from alpine 2020-10-14 02:32:05 -06:00
Ariadne Conill
24bfcc1737
Merge pull request #107 from BarbarossaTM/bugfix/seperate-netmask
Always convert netmasks to CIDR when configuring interfaces
2020-10-13 18:41:51 -06:00
Maximilian Wilhelm
de207a5950 lifecyle: Use lif_address_format_cidr() for IF_ADDRESSES
Previously IF_ADDRESSES would not contain a prefix length if the address
  entry in the configuration did not was in CIDR format but had a netmask
  set seperately. This commit fixes that behaviour and computes a CIDR
  netmask if necessary.

Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-14 01:47:49 +02:00
Maximilian Wilhelm
365461a6f6 interface: Consider the lif_interface as const in lif_address_format_cidr()
Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
2020-10-14 01:45:14 +02:00
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