1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3 
4 typedef struct MacVlan MacVlan;
5 
6 #include "macvlan-util.h"
7 #include "netdev.h"
8 #include "set.h"
9 
10 struct MacVlan {
11         NetDev meta;
12 
13         MacVlanMode mode;
14         Set *match_source_mac;
15 
16         uint32_t bc_queue_length;
17 };
18 
19 DEFINE_NETDEV_CAST(MACVLAN, MacVlan);
20 DEFINE_NETDEV_CAST(MACVTAP, MacVlan);
21 extern const NetDevVTable macvlan_vtable;
22 extern const NetDevVTable macvtap_vtable;
23 
24 CONFIG_PARSER_PROTOTYPE(config_parse_macvlan_mode);
25 CONFIG_PARSER_PROTOTYPE(config_parse_macvlan_broadcast_queue_size);
26