]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/network/netdev/vrf.c
tree-wide: make sure net/if.h is included before any linux/ header
[thirdparty/systemd.git] / src / network / netdev / vrf.c
index 5e04bbd272b0f9cfcd91b7e23b25f9660ac44e0b..24079a7203c89063a9c2c4bd3a501d2b57c40873 100644 (file)
@@ -1,51 +1,31 @@
-/* SPDX-License-Identifier: LGPL-2.1+ */
-/***
-    This file is part of systemd.
-
-    Copyright 2016 Andreas Rammhold <andreas@rammhold.de>
-
-    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
-    the Free Software Foundation; either version 2.1 of the License, or
-    (at your option) any later version.
-
-    systemd is distributed in the hope that it will be useful, but
-    WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public License
-    along with systemd; If not, see <http://www.gnu.org/licenses/>.
-***/
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
 
+/* Make sure the net/if.h header is included before any linux/ one */
 #include <net/if.h>
+#include <linux/if_arp.h>
+#include <netinet/in.h>
 
-#include "sd-netlink.h"
-#include "missing.h"
-#include "netdev/vrf.h"
+#include "vrf.h"
 
 static int netdev_vrf_fill_message_create(NetDev *netdev, Link *link, sd_netlink_message *m) {
-        Vrf *v;
-        int r;
-
-        assert(netdev);
         assert(!link);
         assert(m);
 
-        v = VRF(netdev);
-
-        assert(v);
+        Vrf *v = VRF(netdev);
+        int r;
 
         r = sd_netlink_message_append_u32(m, IFLA_VRF_TABLE, v->table);
         if (r < 0)
-                return log_netdev_error_errno(netdev, r, "Could not append IPLA_VRF_TABLE attribute: %m");
+                return r;
 
-        return r;
+        return 0;
 }
 
 const NetDevVTable vrf_vtable = {
         .object_size = sizeof(Vrf),
-        .sections = "NetDev\0VRF\0",
+        .sections = NETDEV_COMMON_SECTIONS "VRF\0",
         .fill_message_create = netdev_vrf_fill_message_create,
-        .create_type = NETDEV_CREATE_MASTER,
+        .create_type = NETDEV_CREATE_INDEPENDENT,
+        .iftype = ARPHRD_ETHER,
+        .generate_mac = true,
 };