]>
git.ipfire.org Git - people/ms/network.git/log
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>
Michael Tremer [Fri, 10 Feb 2023 10:13:37 +0000 (10:13 +0000)]
networkd: Read link MTU
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 10 Feb 2023 10:03:08 +0000 (10:03 +0000)]
networkd: Import interface name
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 10 Feb 2023 09:53:47 +0000 (09:53 +0000)]
networkd: Only add link if we created it
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Feb 2023 21:38:09 +0000 (21:38 +0000)]
networkd: Create a link object for each interface
We are also listening for netlink events that add and delete any
interfaces.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Feb 2023 20:41:02 +0000 (20:41 +0000)]
networkd: Enumerate all links on startup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Feb 2023 20:25:29 +0000 (20:25 +0000)]
networkd: Add a container for links
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Feb 2023 20:05:00 +0000 (20:05 +0000)]
networkd: Add a link object
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Feb 2023 19:50:47 +0000 (19:50 +0000)]
networkd: Link against libnetwork
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Feb 2023 19:46:25 +0000 (19:46 +0000)]
networkd: Connect to the kernel's netlink interface
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 5 Feb 2023 13:17:21 +0000 (13:17 +0000)]
networkd: Drop all capabilities except a few we would like to keep
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 5 Feb 2023 12:06:19 +0000 (12:06 +0000)]
networkd: Change to a non-privileged user right away
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 5 Feb 2023 11:05:23 +0000 (11:05 +0000)]
networkd: Connect to udev
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 4 Feb 2023 22:10:56 +0000 (22:10 +0000)]
networkd: Add a test bus property to set the MTU
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Feb 2023 01:23:31 +0000 (01:23 +0000)]
networkd: Split daemon bus implementation into a separate file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Feb 2023 01:07:51 +0000 (01:07 +0000)]
networkd: Return zone when it is being accessed by its path
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Feb 2023 00:53:21 +0000 (00:53 +0000)]
networkd: Implement enumerating zones on the bus
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 2 Feb 2023 00:38:13 +0000 (00:38 +0000)]
networkd: Move zone list into an own object
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Feb 2023 23:25:17 +0000 (23:25 +0000)]
networkd: Pass daemon to all functions called by the bus
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Feb 2023 23:19:03 +0000 (23:19 +0000)]
networkd: Add a dummy bus implementation for zones
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Feb 2023 23:04:27 +0000 (23:04 +0000)]
networkd: bus: Create a unified function to register an interface
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Feb 2023 22:40:04 +0000 (22:40 +0000)]
networkd: Read all zones from configuration
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Feb 2023 22:39:34 +0000 (22:39 +0000)]
networkd: zones: Try to read configuration automatically
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Feb 2023 22:37:06 +0000 (22:37 +0000)]
networkd: Store the path with the configuration object
This makes it easier to call read and write functions without
re-composing the path again and again...
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Feb 2023 22:03:29 +0000 (22:03 +0000)]
networkd: Change config read functions to not create a new instance
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Feb 2023 21:46:11 +0000 (21:46 +0000)]
networkd: config: Split flushing all entries into a function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Feb 2023 15:27:18 +0000 (15:27 +0000)]
networkd: Asynchronously register to the bus
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Feb 2023 15:26:57 +0000 (15:26 +0000)]
networkd: Fully implement bus handler for Reload
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 1 Feb 2023 15:26:34 +0000 (15:26 +0000)]
networkd: Install a systemd service file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 30 Jan 2023 20:55:42 +0000 (20:55 +0000)]
networkd: Call function when we are connected to dbus
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 30 Jan 2023 19:26:35 +0000 (19:26 +0000)]
networkd: Install some simple PolicyKit policy
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 30 Jan 2023 19:03:41 +0000 (19:03 +0000)]
man: Fix incorrect name on IPsec man page
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 30 Jan 2023 19:00:51 +0000 (19:00 +0000)]
networkd: Move systemd notifications into daemon object
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 30 Jan 2023 18:56:17 +0000 (18:56 +0000)]
libnetwork: Fix prototype of network_version()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 30 Jan 2023 18:54:54 +0000 (18:54 +0000)]
configure: Drop non-sensical CFLAGS and add more warnings
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>