1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3 
4 #include <netinet/in.h>
5 #include <linux/if_link.h>
6 
7 #include "ipvlan-util.h"
8 #include "netdev.h"
9 
10 typedef struct IPVlan {
11         NetDev meta;
12 
13         IPVlanMode mode;
14         IPVlanFlags flags;
15 } IPVlan;
16 
17 DEFINE_NETDEV_CAST(IPVLAN, IPVlan);
18 DEFINE_NETDEV_CAST(IPVTAP, IPVlan);
19 extern const NetDevVTable ipvlan_vtable;
20 extern const NetDevVTable ipvtap_vtable;
21 
22 CONFIG_PARSER_PROTOTYPE(config_parse_ipvlan_mode);
23 CONFIG_PARSER_PROTOTYPE(config_parse_ipvlan_flags);
24 
25 IPVlanMode link_get_ipvlan_mode(Link *link);
26