]> 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 0825695d619e66c14dcd2ef75f87a5472364e384..24079a7203c89063a9c2c4bd3a501d2b57c40873 100644 (file)
@@ -1,38 +1,31 @@
-/* SPDX-License-Identifier: LGPL-2.1+ */
-/***
-  This file is part of systemd.
-
-  Copyright 2016 Andreas Rammhold <andreas@rammhold.de>
-***/
+/* 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,
 };