From: Susant Sahani Date: Thu, 19 Mar 2020 09:31:45 +0000 (+0100) Subject: network: Introduce macvlan util X-Git-Tag: v246-rc1~369 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d51674806aa2efcdc345c03fca8994c882964acc;p=thirdparty%2Fsystemd.git network: Introduce macvlan util --- diff --git a/src/network/netdev/macvlan.c b/src/network/netdev/macvlan.c index dbe25e9e34f..e41ed9e6ed7 100644 --- a/src/network/netdev/macvlan.c +++ b/src/network/netdev/macvlan.c @@ -4,16 +4,8 @@ #include "conf-parser.h" #include "macvlan.h" -#include "string-table.h" +#include "macvlan-util.h" -static const char* const macvlan_mode_table[_NETDEV_MACVLAN_MODE_MAX] = { - [NETDEV_MACVLAN_MODE_PRIVATE] = "private", - [NETDEV_MACVLAN_MODE_VEPA] = "vepa", - [NETDEV_MACVLAN_MODE_BRIDGE] = "bridge", - [NETDEV_MACVLAN_MODE_PASSTHRU] = "passthru", -}; - -DEFINE_STRING_TABLE_LOOKUP(macvlan_mode, MacVlanMode); DEFINE_CONFIG_PARSE_ENUM(config_parse_macvlan_mode, macvlan_mode, MacVlanMode, "Failed to parse macvlan mode"); static int netdev_macvlan_fill_message_create(NetDev *netdev, Link *link, sd_netlink_message *req) { diff --git a/src/network/netdev/macvlan.h b/src/network/netdev/macvlan.h index 5d81be32da2..7e4d685bdba 100644 --- a/src/network/netdev/macvlan.h +++ b/src/network/netdev/macvlan.h @@ -3,17 +3,9 @@ typedef struct MacVlan MacVlan; +#include "macvlan-util.h" #include "netdev.h" -typedef enum MacVlanMode { - NETDEV_MACVLAN_MODE_PRIVATE = MACVLAN_MODE_PRIVATE, - NETDEV_MACVLAN_MODE_VEPA = MACVLAN_MODE_VEPA, - NETDEV_MACVLAN_MODE_BRIDGE = MACVLAN_MODE_BRIDGE, - NETDEV_MACVLAN_MODE_PASSTHRU = MACVLAN_MODE_PASSTHRU, - _NETDEV_MACVLAN_MODE_MAX, - _NETDEV_MACVLAN_MODE_INVALID = -1 -} MacVlanMode; - struct MacVlan { NetDev meta; @@ -25,7 +17,4 @@ DEFINE_NETDEV_CAST(MACVTAP, MacVlan); extern const NetDevVTable macvlan_vtable; extern const NetDevVTable macvtap_vtable; -const char *macvlan_mode_to_string(MacVlanMode d) _const_; -MacVlanMode macvlan_mode_from_string(const char *d) _pure_; - CONFIG_PARSER_PROTOTYPE(config_parse_macvlan_mode); diff --git a/src/shared/macvlan-util.c b/src/shared/macvlan-util.c new file mode 100644 index 00000000000..90382acbd97 --- /dev/null +++ b/src/shared/macvlan-util.c @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: LGPL-2.1+ */ + +#include "conf-parser.h" +#include "macvlan-util.h" +#include "string-table.h" + +static const char* const macvlan_mode_table[_NETDEV_MACVLAN_MODE_MAX] = { + [NETDEV_MACVLAN_MODE_PRIVATE] = "private", + [NETDEV_MACVLAN_MODE_VEPA] = "vepa", + [NETDEV_MACVLAN_MODE_BRIDGE] = "bridge", + [NETDEV_MACVLAN_MODE_PASSTHRU] = "passthru", +}; + +DEFINE_STRING_TABLE_LOOKUP(macvlan_mode, MacVlanMode); diff --git a/src/shared/macvlan-util.h b/src/shared/macvlan-util.h new file mode 100644 index 00000000000..24f864ac51c --- /dev/null +++ b/src/shared/macvlan-util.h @@ -0,0 +1,16 @@ +/* SPDX-License-Identifier: LGPL-2.1+ */ +#pragma once + +#include + +typedef enum MacVlanMode { + NETDEV_MACVLAN_MODE_PRIVATE = MACVLAN_MODE_PRIVATE, + NETDEV_MACVLAN_MODE_VEPA = MACVLAN_MODE_VEPA, + NETDEV_MACVLAN_MODE_BRIDGE = MACVLAN_MODE_BRIDGE, + NETDEV_MACVLAN_MODE_PASSTHRU = MACVLAN_MODE_PASSTHRU, + _NETDEV_MACVLAN_MODE_MAX, + _NETDEV_MACVLAN_MODE_INVALID = -1 +} MacVlanMode; + +const char *macvlan_mode_to_string(MacVlanMode d) _const_; +MacVlanMode macvlan_mode_from_string(const char *d) _pure_; diff --git a/src/shared/meson.build b/src/shared/meson.build index 301a8334a4d..322ffce95da 100644 --- a/src/shared/meson.build +++ b/src/shared/meson.build @@ -149,6 +149,8 @@ shared_sources = files(''' machine-image.h machine-pool.c machine-pool.h + macvlan-util.c + macvlan-util.h main-func.h module-util.h mount-util.c