1 /* SPDX-License-Identifier: LGPL-2.1+ */
4 #include <linux/if_link.h>
6 #include "missing_if_link.h"
7 #include "netdev/netdev.h"
9 typedef enum IPVlanMode
{
10 NETDEV_IPVLAN_MODE_L2
= IPVLAN_MODE_L2
,
11 NETDEV_IPVLAN_MODE_L3
= IPVLAN_MODE_L3
,
12 NETDEV_IPVLAN_MODE_L3S
= IPVLAN_MODE_L3S
,
13 _NETDEV_IPVLAN_MODE_MAX
,
14 _NETDEV_IPVLAN_MODE_INVALID
= -1
17 typedef enum IPVlanFlags
{
18 NETDEV_IPVLAN_FLAGS_BRIGDE
,
19 NETDEV_IPVLAN_FLAGS_PRIVATE
= IPVLAN_F_PRIVATE
,
20 NETDEV_IPVLAN_FLAGS_VEPA
= IPVLAN_F_VEPA
,
21 _NETDEV_IPVLAN_FLAGS_MAX
,
22 _NETDEV_IPVLAN_FLAGS_INVALID
= -1
25 typedef struct IPVlan
{
32 DEFINE_NETDEV_CAST(IPVLAN
, IPVlan
);
33 extern const NetDevVTable ipvlan_vtable
;
35 const char *ipvlan_mode_to_string(IPVlanMode d
) _const_
;
36 IPVlanMode
ipvlan_mode_from_string(const char *d
) _pure_
;
38 const char *ipvlan_flags_to_string(IPVlanFlags d
) _const_
;
39 IPVlanFlags
ipvlan_flags_from_string(const char *d
) _pure_
;
41 CONFIG_PARSER_PROTOTYPE(config_parse_ipvlan_mode
);
42 CONFIG_PARSER_PROTOTYPE(config_parse_ipvlan_flags
);