1 /* SPDX-License-Identifier: LGPL-2.1+ */
4 typedef struct Geneve Geneve
;
6 #include "in-addr-util.h"
8 #include "networkd-link.h"
9 #include "networkd-network.h"
11 #define GENEVE_VID_MAX (1u << 24) - 1
13 typedef enum GeneveDF
{
14 NETDEV_GENEVE_DF_NO
= GENEVE_DF_UNSET
,
15 NETDEV_GENEVE_DF_YES
= GENEVE_DF_SET
,
16 NETDEV_GENEVE_DF_INHERIT
= GENEVE_DF_INHERIT
,
17 _NETDEV_GENEVE_DF_MAX
,
18 _NETDEV_GENEVE_DF_INVALID
= -1
40 union in_addr_union remote
;
43 DEFINE_NETDEV_CAST(GENEVE
, Geneve
);
44 extern const NetDevVTable geneve_vtable
;
46 const char *geneve_df_to_string(GeneveDF d
) _const_
;
47 GeneveDF
geneve_df_from_string(const char *d
) _pure_
;
49 CONFIG_PARSER_PROTOTYPE(config_parse_geneve_vni
);
50 CONFIG_PARSER_PROTOTYPE(config_parse_geneve_address
);
51 CONFIG_PARSER_PROTOTYPE(config_parse_geneve_flow_label
);
52 CONFIG_PARSER_PROTOTYPE(config_parse_geneve_df
);
53 CONFIG_PARSER_PROTOTYPE(config_parse_geneve_ttl
);