chiark / gitweb /
networkd: tap add support for vnet_hdr
[elogind.git] / src / shared / virt.h
index 7194ab2bf781ac1e946c3987b22e482afb74caa8..29f8bb0ea5013a4de549c3861ae6ac9c43c033dc 100644 (file)
@@ -1,11 +1,9 @@
 /*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
 
-#pragma once
-
 /***
   This file is part of systemd.
 
-  Copyright 2011 Lennart Poettering
+  Copyright 2014 Tom Gundersen <teg@jklm.no>
 
   systemd is free software; you can redistribute it and/or modify it
   under the terms of the GNU Lesser General Public License as published by
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
-int detect_vm(const char **id);
-int detect_container(const char **id);
+#pragma once
+
+typedef struct TunTap TunTap;
+
+#include "networkd-netdev.h"
+
+struct TunTap {
+        NetDev meta;
 
-enum {
-        VIRTUALIZATION_NONE = 0,
-        VIRTUALIZATION_VM,
-        VIRTUALIZATION_CONTAINER,
-        _VIRTUALIZATION_MAX,
-        _VIRTUALIZATION_INVALID = -1
+        char *user_name;
+        char *group_name;
+        bool one_queue;
+        bool multi_queue;
+        bool packet_info;
+        bool vnet_hdr;
 };
 
-int detect_virtualization(const char **id);
+extern const NetDevVTable tun_vtable;
+extern const NetDevVTable tap_vtable;