diff options
Diffstat (limited to 'src/network/networkd-netdev.h')
-rw-r--r-- | src/network/networkd-netdev.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/network/networkd-netdev.h b/src/network/networkd-netdev.h index a004f2fe5f..3b9ab27b67 100644 --- a/src/network/networkd-netdev.h +++ b/src/network/networkd-netdev.h @@ -21,11 +21,14 @@ #pragma once -#include "networkd.h" #include "list.h" +typedef struct NetDev NetDev; typedef struct NetDevVTable NetDevVTable; +#include "networkd.h" +#include "networkd-link.h" + typedef struct netdev_join_callback netdev_join_callback; struct netdev_join_callback { @@ -40,6 +43,7 @@ typedef enum NetDevKind { NETDEV_KIND_BOND, NETDEV_KIND_VLAN, NETDEV_KIND_MACVLAN, + NETDEV_KIND_MACVTAP, NETDEV_KIND_IPVLAN, NETDEV_KIND_VXLAN, NETDEV_KIND_IPIP, @@ -137,6 +141,9 @@ struct NetDevVTable { /* create netdev, if not done via rtnl */ int (*create)(NetDev *netdev); + /* perform additional configuration after netdev has been createad */ + int (*post_create)(NetDev *netdev, Link *link, sd_netlink_message *message); + /* verify that compulsory configuration options were specified */ int (*config_verify)(NetDev *netdev, const char *filename); }; @@ -161,6 +168,7 @@ DEFINE_CAST(BRIDGE, Bridge); DEFINE_CAST(BOND, Bond); DEFINE_CAST(VLAN, VLan); DEFINE_CAST(MACVLAN, MacVlan); +DEFINE_CAST(MACVTAP, MacVlan); DEFINE_CAST(IPVLAN, IPVlan); DEFINE_CAST(VXLAN, VxLan); DEFINE_CAST(IPIP, Tunnel); |