From 9282f75bf4c1e7ca4b4e3fd8386e21f4632bc385 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sat, 30 Mar 2019 03:34:03 +0900 Subject: [PATCH] network: make erspan netdev can be specified in Network.Tunnel= --- src/network/netdev/netdev.c | 3 +++ src/network/netdev/tunnel.c | 2 +- src/network/networkd-network.c | 3 ++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c index 5cdd09d..f6d3ef8 100644 --- a/src/network/netdev/netdev.c +++ b/src/network/netdev/netdev.c @@ -779,6 +779,9 @@ int netdev_load_one(Manager *manager, const char *filename) { case NETDEV_KIND_IP6TNL: independent = IP6TNL(netdev)->independent; break; + case NETDEV_KIND_ERSPAN: + independent = ERSPAN(netdev)->independent; + break; default: break; } diff --git a/src/network/netdev/tunnel.c b/src/network/netdev/tunnel.c index 244954e..ad7c83e 100644 --- a/src/network/netdev/tunnel.c +++ b/src/network/netdev/tunnel.c @@ -857,6 +857,6 @@ const NetDevVTable erspan_vtable = { .init = erspan_init, .sections = "Match\0NetDev\0Tunnel\0", .fill_message_create = netdev_erspan_fill_message_create, - .create_type = NETDEV_CREATE_INDEPENDENT, + .create_type = NETDEV_CREATE_STACKED, .config_verify = netdev_tunnel_verify, }; diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c index c6c3480..836776a 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -104,7 +104,8 @@ static int network_resolve_netdev_one(Network *network, const char *name, NetDev NETDEV_KIND_IP6GRETAP, NETDEV_KIND_VTI, NETDEV_KIND_VTI6, - NETDEV_KIND_IP6TNL))) + NETDEV_KIND_IP6TNL, + NETDEV_KIND_ERSPAN))) return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s: NetDev %s is not a %s, ignoring assignment", network->filename, name, kind_string); -- 2.7.4