1 /* SPDX-License-Identifier: LGPL-2.1+ */
4 #include <netinet/in.h>
7 #include "in-addr-util.h"
8 #include "netdev/netdev.h"
10 typedef enum FooOverUDPEncapType
{
11 NETDEV_FOO_OVER_UDP_ENCAP_UNSPEC
= FOU_ENCAP_UNSPEC
,
12 NETDEV_FOO_OVER_UDP_ENCAP_DIRECT
= FOU_ENCAP_DIRECT
,
13 NETDEV_FOO_OVER_UDP_ENCAP_GUE
= FOU_ENCAP_GUE
,
14 _NETDEV_FOO_OVER_UDP_ENCAP_MAX
,
15 _NETDEV_FOO_OVER_UDP_ENCAP_INVALID
= -1,
16 } FooOverUDPEncapType
;
18 typedef struct FouTunnel
{
29 FooOverUDPEncapType fou_encap_type
;
30 union in_addr_union local
;
31 union in_addr_union peer
;
34 DEFINE_NETDEV_CAST(FOU
, FouTunnel
);
35 extern const NetDevVTable foutnl_vtable
;
37 const char *fou_encap_type_to_string(FooOverUDPEncapType d
) _const_
;
38 FooOverUDPEncapType
fou_encap_type_from_string(const char *d
) _pure_
;
40 CONFIG_PARSER_PROTOTYPE(config_parse_fou_encap_type
);
41 CONFIG_PARSER_PROTOTYPE(config_parse_ip_protocol
);
42 CONFIG_PARSER_PROTOTYPE(config_parse_fou_tunnel_address
);