]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: make erspan netdev can be specified in Network.Tunnel=
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 29 Mar 2019 18:34:03 +0000 (03:34 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 29 Mar 2019 18:52:25 +0000 (03:52 +0900)
src/network/netdev/netdev.c
src/network/netdev/tunnel.c
src/network/networkd-network.c

index 5cdd09d775d7701793ef557bd8f9a47b2cb39351..f6d3ef8153797ad49309ca16c362374a7b5eda83 100644 (file)
@@ -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;
         }
index 244954ef69dc0ece5c1396593ca9ad962c9f6f4b..ad7c83e85563abcccb8062d07108f09984105147 100644 (file)
@@ -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,
 };
index c6c3480cd108c3b09282644bf9e157f5262fa5ac..836776ae8496c5ae4ff6e608b6375e7e50e713c3 100644 (file)
@@ -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);