]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
shared: Introduce bridge util
authorSusant Sahani <ssahani@vmware.com>
Tue, 24 Mar 2020 11:23:08 +0000 (12:23 +0100)
committerSusant Sahani <ssahani@vmware.com>
Tue, 24 Mar 2020 13:22:50 +0000 (14:22 +0100)
src/shared/bridge-util.c [new file with mode: 0644]
src/shared/bridge-util.h [new file with mode: 0644]
src/shared/meson.build

diff --git a/src/shared/bridge-util.c b/src/shared/bridge-util.c
new file mode 100644 (file)
index 0000000..239ac9a
--- /dev/null
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: LGPL-2.1+ */
+
+#include "bridge-util.h"
+#include "string-table.h"
+
+static const char* const bridge_state_table[_NETDEV_BRIDGE_STATE_MAX] = {
+        [NETDEV_BRIDGE_STATE_DISABLED]   = "disabled",
+        [NETDEV_BRIDGE_STATE_LISTENING]  = "listening",
+        [NETDEV_BRIDGE_STATE_LEARNING]  = "learning",
+        [NETDEV_BRIDGE_STATE_FORWARDING] = "forwading",
+};
+
+DEFINE_STRING_TABLE_LOOKUP(bridge_state, BridgeState);
diff --git a/src/shared/bridge-util.h b/src/shared/bridge-util.h
new file mode 100644 (file)
index 0000000..5b1c3e9
--- /dev/null
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: LGPL-2.1+ */
+#pragma once
+
+#include <netinet/in.h>
+#include <linux/if_bridge.h>
+
+#include "conf-parser.h"
+
+typedef enum BridgeState {
+        NETDEV_BRIDGE_STATE_DISABLED   = BR_STATE_DISABLED,
+        NETDEV_BRIDGE_STATE_LISTENING  = BR_STATE_LISTENING,
+        NETDEV_BRIDGE_STATE_LEARNING   = BR_STATE_LEARNING,
+        NETDEV_BRIDGE_STATE_FORWARDING = BR_STATE_FORWARDING,
+        NETDEV_BRIDGE_STATE_BLOCKING   = BR_STATE_BLOCKING,
+        _NETDEV_BRIDGE_STATE_MAX,
+        _NETDEV_BRIDGE_STATE_INVALID      = -1,
+} BridgeState;
+
+const char *bridge_state_to_string(BridgeState d) _const_;
+BridgeState bridge_state_from_string(const char *d) _pure_;
index 94174347a15d0d91aed909c79f1ba53af0d18946..2bbd3dd217c58e87820b3813898a9be1c3342bb7 100644 (file)
@@ -21,6 +21,8 @@ shared_sources = files('''
         bootspec.h
         bpf-program.c
         bpf-program.h
+        bridge-util.c
+        bridge-util.h
         bus-unit-procs.c
         bus-unit-procs.h
         bus-unit-util.c