]>
git.ipfire.org Git - people/ms/network.git/log
Michael Tremer [Fri, 9 Jun 2023 12:30:33 +0000 (12:30 +0000)]
networkctl: Add color functions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jun 2023 11:19:30 +0000 (11:19 +0000)]
config: Add string buffer type
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jun 2023 10:37:47 +0000 (10:37 +0000)]
ports: Add support for VETH
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jun 2023 10:37:00 +0000 (10:37 +0000)]
networkd: json: Include string.h
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jun 2023 10:17:58 +0000 (10:17 +0000)]
ports: bonding: Use correct enum for mode
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jun 2023 10:00:06 +0000 (10:00 +0000)]
test: Collect more information from test environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jun 2023 09:38:35 +0000 (09:38 +0000)]
tests: Always dump the environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jun 2023 09:38:00 +0000 (09:38 +0000)]
tests: Add new test that creates two dummy interfaces
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jun 2023 09:29:01 +0000 (09:29 +0000)]
ports: Refactor enumerating ports
This entails a little rewrite how we deal with where configuration files
are stored.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jun 2023 09:27:51 +0000 (09:27 +0000)]
test: Run networkd as root in its own namespace
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jun 2023 08:20:41 +0000 (08:20 +0000)]
test: Be less patient if networkd does not want to terminate
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jun 2023 07:51:50 +0000 (07:51 +0000)]
networkctl: Terminate after showing help or version
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jun 2023 07:49:54 +0000 (07:49 +0000)]
test: Run "ip -d link" to show the status of the environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jun 2023 07:46:40 +0000 (07:46 +0000)]
networkd: Add a simple test environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jun 2023 05:37:57 +0000 (05:37 +0000)]
networkd: Hold a file descriptor instead of DIR*
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jun 2023 05:28:51 +0000 (05:28 +0000)]
networkd: Open config directory and keep a handle to it
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jun 2023 04:58:39 +0000 (04:58 +0000)]
networkd: Parse command line arguments
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jun 2023 17:05:54 +0000 (17:05 +0000)]
string: Have all functions return negative values on error
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jun 2023 16:46:12 +0000 (16:46 +0000)]
daemon: Don't crash when a port could not be loaded
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jun 2023 16:41:13 +0000 (16:41 +0000)]
ports: VLAN: Validate configuration
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jun 2023 16:35:33 +0000 (16:35 +0000)]
ports: Implement scaffolding for configuration
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jun 2023 16:26:13 +0000 (16:26 +0000)]
ports: Drop UNKNOWN type
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jun 2023 16:22:11 +0000 (16:22 +0000)]
ports: Move VLAN constants to VLAN header
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jun 2023 16:19:05 +0000 (16:19 +0000)]
ports: Unify type
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jun 2023 15:49:27 +0000 (15:49 +0000)]
ports: VLAN: Make all constants uppercase
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jun 2023 15:48:20 +0000 (15:48 +0000)]
ports: Store the parent name
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jun 2023 15:46:20 +0000 (15:46 +0000)]
config: Implement option that looks up string tables
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jun 2023 15:30:41 +0000 (15:30 +0000)]
string: Define an own type for string tables
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jun 2023 15:23:10 +0000 (15:23 +0000)]
config: Add data pointer to callbacks
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jun 2023 15:17:24 +0000 (15:17 +0000)]
config: Rename "data" to "value" as it holds a reference to it
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jun 2023 15:12:00 +0000 (15:12 +0000)]
ports: bonding: Convert mode to string table
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jun 2023 15:04:38 +0000 (15:04 +0000)]
config: Extend the parser to easier read/write configs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jun 2023 13:17:36 +0000 (13:17 +0000)]
ports: VLAN: Implement choosing a protocol
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jun 2023 13:16:58 +0000 (13:16 +0000)]
string: Add macros to easily define string table lookups
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Jun 2023 10:24:45 +0000 (10:24 +0000)]
networkctl: Implement "dump" command for ports which shows the JSON
This is just for debugging purposes.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Jun 2023 10:24:08 +0000 (10:24 +0000)]
networkctl: Fix parsing commands
We used to send the argument that was last parsed to the next function
which probably isn't very useful.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 5 Jun 2023 16:48:43 +0000 (16:48 +0000)]
ports: Add bus method to export port information as JSON
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 5 Jun 2023 16:48:30 +0000 (16:48 +0000)]
configure: Depend on JSON-C
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 5 Jun 2023 16:47:41 +0000 (16:47 +0000)]
config: Compare truthiness case-insensitively
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 5 Jun 2023 16:47:14 +0000 (16:47 +0000)]
ports: Implement a function the generally fetches the parent port
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 5 Jun 2023 14:55:00 +0000 (14:55 +0000)]
networkctl: Fix typo in bus method name
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 5 Jun 2023 14:54:20 +0000 (14:54 +0000)]
ports: Move VLAN settings into its own header file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 5 Jun 2023 14:51:41 +0000 (14:51 +0000)]
ports: Add the most basic supports for bonding
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 4 Jun 2023 17:19:19 +0000 (17:19 +0000)]
ports: Log when we created a random Ethernet address
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 4 Jun 2023 17:12:52 +0000 (17:12 +0000)]
ports: Constify info struct
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 4 Jun 2023 17:10:34 +0000 (17:10 +0000)]
ports: Show message when creating ports
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 4 Jun 2023 17:09:01 +0000 (17:09 +0000)]
ports: Set the configure MAC address when creating links
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 4 Jun 2023 17:05:06 +0000 (17:05 +0000)]
ports: Do not expect to come back after creating links
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 4 Jun 2023 16:52:59 +0000 (16:52 +0000)]
daemon: Fix return code handling when listing ports/zones
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 4 Jun 2023 16:50:35 +0000 (16:50 +0000)]
ports: Implement listing ports over DBus
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 4 Jun 2023 16:42:11 +0000 (16:42 +0000)]
ports: Rename the ops struct as we will need to store more things than function pointers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 4 Jun 2023 16:26:44 +0000 (16:26 +0000)]
ports: Implement creating links from ports
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 4 Jun 2023 14:54:58 +0000 (14:54 +0000)]
ports: Move VLAN stuff into its own file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 4 Jun 2023 14:28:35 +0000 (14:28 +0000)]
ports: Create scaffolding for operations struct
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 15 Apr 2023 11:46:22 +0000 (11:46 +0000)]
ports: Implement destroying a port
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 15 Apr 2023 11:16:33 +0000 (11:16 +0000)]
port: Implement reading/writing VLAN settings
This is just simple test to see where the configuration could be going.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 15 Apr 2023 11:15:15 +0000 (11:15 +0000)]
ports: Require type to be set at all times
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 15 Apr 2023 11:13:22 +0000 (11:13 +0000)]
config: Avoid adding empty line after integers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 15 Apr 2023 10:46:32 +0000 (10:46 +0000)]
config: Fail if there is garbage after intergers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 15 Apr 2023 10:45:53 +0000 (10:45 +0000)]
address: Fix output buffer size when formatting MAC addresses
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Apr 2023 17:43:12 +0000 (17:43 +0000)]
networkd: Collect stats regulary and emit them on dbus
This is useful for us monitoring interface throughput (e.g. in
collecty).
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Apr 2023 17:35:48 +0000 (17:35 +0000)]
networkd: daemon: Correctly store reference to bus
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Apr 2023 14:29:22 +0000 (14:29 +0000)]
networkd: ports: Create dummy function to create links
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Apr 2023 14:15:01 +0000 (14:15 +0000)]
networkd: Automatically reference/dereference links to zones/ports
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Apr 2023 13:33:13 +0000 (13:33 +0000)]
networkd: Implement deleting links
This is a little bit rough but generally does work.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Apr 2023 13:06:25 +0000 (13:06 +0000)]
networkd: Try to reconfigure all ports and zones on startup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Apr 2023 13:04:17 +0000 (13:04 +0000)]
networkd: config: Add functions to handle boolean values
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Apr 2023 12:02:40 +0000 (12:02 +0000)]
networkd: zones: Keep a permanent reference to links
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Apr 2023 11:57:48 +0000 (11:57 +0000)]
networkd: ports: Keep a permanent reference to links
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Apr 2023 11:57:19 +0000 (11:57 +0000)]
networkd: Fix finding links by name
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Apr 2023 11:26:43 +0000 (11:26 +0000)]
networkctl: Implement "zone list" command
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Apr 2023 11:25:56 +0000 (11:25 +0000)]
networkd: Implement ListZones bus command
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Mar 2023 16:55:45 +0000 (16:55 +0000)]
networkctl: Implement a basic command dispatcher
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Mar 2023 16:13:11 +0000 (16:13 +0000)]
networkctl: Add some help and version arguments
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Mar 2023 15:52:20 +0000 (15:52 +0000)]
networkctl: Connect to the system bus
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Mar 2023 15:41:17 +0000 (15:41 +0000)]
networkctl: Create some scaffolding
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Mar 2023 15:34:32 +0000 (15:34 +0000)]
networkd: Install in /usr/lib/network
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 13 Feb 2023 16:00:43 +0000 (16:00 +0000)]
networkd: Log to journald
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 13 Feb 2023 15:34:40 +0000 (15:34 +0000)]
networkd: Add methods to check zones/ports for carrier
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 13 Feb 2023 15:14:01 +0000 (15:14 +0000)]
networkd: Add function to check whether a link has a carrier
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 13 Feb 2023 15:10:01 +0000 (15:10 +0000)]
networkd: Store operstate, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 13 Feb 2023 15:05:41 +0000 (15:05 +0000)]
networkd: Store any flags
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Feb 2023 18:29:32 +0000 (18:29 +0000)]
networkd: Save configuration when the daemon exits
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Feb 2023 18:00:26 +0000 (18:00 +0000)]
networkd: Refactor enumerating zones
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Feb 2023 17:51:28 +0000 (17:51 +0000)]
networkd: Store a reference to the daemon in zone
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Feb 2023 17:44:42 +0000 (17:44 +0000)]
networkd: Use typedef to keep type names shorter
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Feb 2023 14:10:16 +0000 (14:10 +0000)]
networkd: Add method to fetch corresponding link to port
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Feb 2023 13:54:33 +0000 (13:54 +0000)]
networkd: ports: Export Ethernet address over dbus
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Feb 2023 13:53:52 +0000 (13:53 +0000)]
networkd: address: Fix buffer to Ethernet address strings
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Feb 2023 12:34:41 +0000 (12:34 +0000)]
networkd: Export ports over dbus
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Feb 2023 12:10:15 +0000 (12:10 +0000)]
networkd: Check if Ethernet addresses from config are usable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Feb 2023 12:06:18 +0000 (12:06 +0000)]
networkd: Introduce address flags for better readability
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Feb 2023 12:01:42 +0000 (12:01 +0000)]
networkd: Generate a random Ethernet address for ports
This happens when either no address was set, or it cannot be parsed.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Feb 2023 11:48:23 +0000 (11:48 +0000)]
networkd: Read Ethernet address from configuration
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Feb 2023 11:21:02 +0000 (11:21 +0000)]
networkd: Perform port setup from configuration
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Feb 2023 10:59:03 +0000 (10:59 +0000)]
networkd: Enumerate ports on startup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 10 Feb 2023 16:26:36 +0000 (16:26 +0000)]
networkd: Add port container
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 10 Feb 2023 16:15:46 +0000 (16:15 +0000)]
networkd: Add scaffolding for ports
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 10 Feb 2023 15:24:53 +0000 (15:24 +0000)]
networkd: config: Implement reading configuration files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 10 Feb 2023 15:24:19 +0000 (15:24 +0000)]
networkd: config: Actually return entry instead of freeing it straight away
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>