1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2/*
3 * Copyright (C) 2015 Red Hat, Inc.
4 */
5
6#ifndef __NM_SETTING_VXLAN_H__
7#define __NM_SETTING_VXLAN_H__
8
9#if !defined(__NETWORKMANAGER_H_INSIDE__) && !defined(NETWORKMANAGER_COMPILATION)
10#error "Only <NetworkManager.h> can be included directly."
11#endif
12
13#include "nm-setting.h"
14
15G_BEGIN_DECLS
16
17#define NM_TYPE_SETTING_VXLAN (nm_setting_vxlan_get_type())
18#define NM_SETTING_VXLAN(obj) \
19 (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_SETTING_VXLAN, NMSettingVxlan))
20#define NM_SETTING_VXLAN_CLASS(klass) \
21 (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_SETTING_VXLANCONFIG, NMSettingVxlanClass))
22#define NM_IS_SETTING_VXLAN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_SETTING_VXLAN))
23#define NM_IS_SETTING_VXLAN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_SETTING_VXLAN))
24#define NM_SETTING_VXLAN_GET_CLASS(obj) \
25 (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_SETTING_VXLAN, NMSettingVxlanClass))
26
27#define NM_SETTING_VXLAN_SETTING_NAME "vxlan"
28
29#define NM_SETTING_VXLAN_PARENT "parent"
30#define NM_SETTING_VXLAN_ID "id"
31#define NM_SETTING_VXLAN_LOCAL "local"
32#define NM_SETTING_VXLAN_REMOTE "remote"
33#define NM_SETTING_VXLAN_SOURCE_PORT_MIN "source-port-min"
34#define NM_SETTING_VXLAN_SOURCE_PORT_MAX "source-port-max"
35#define NM_SETTING_VXLAN_DESTINATION_PORT "destination-port"
36#define NM_SETTING_VXLAN_TOS "tos"
37#define NM_SETTING_VXLAN_TTL "ttl"
38#define NM_SETTING_VXLAN_AGEING "ageing"
39#define NM_SETTING_VXLAN_LIMIT "limit"
40#define NM_SETTING_VXLAN_PROXY "proxy"
41#define NM_SETTING_VXLAN_LEARNING "learning"
42#define NM_SETTING_VXLAN_RSC "rsc"
43#define NM_SETTING_VXLAN_L2_MISS "l2-miss"
44#define NM_SETTING_VXLAN_L3_MISS "l3-miss"
45
46typedef struct _NMSettingVxlanClass NMSettingVxlanClass;
47
48NM_AVAILABLE_IN_1_2
49GType nm_setting_vxlan_get_type(void);
50NM_AVAILABLE_IN_1_2
51NMSetting *nm_setting_vxlan_new(void);
52NM_AVAILABLE_IN_1_2
53const char *nm_setting_vxlan_get_parent(NMSettingVxlan *setting);
54NM_AVAILABLE_IN_1_2
55guint nm_setting_vxlan_get_id(NMSettingVxlan *setting);
56NM_AVAILABLE_IN_1_2
57const char *nm_setting_vxlan_get_local(NMSettingVxlan *setting);
58NM_AVAILABLE_IN_1_2
59const char *nm_setting_vxlan_get_remote(NMSettingVxlan *setting);
60NM_AVAILABLE_IN_1_2
61guint nm_setting_vxlan_get_source_port_min(NMSettingVxlan *setting);
62NM_AVAILABLE_IN_1_2
63guint nm_setting_vxlan_get_source_port_max(NMSettingVxlan *setting);
64NM_AVAILABLE_IN_1_2
65guint nm_setting_vxlan_get_destination_port(NMSettingVxlan *setting);
66NM_AVAILABLE_IN_1_2
67guint nm_setting_vxlan_get_tos(NMSettingVxlan *setting);
68NM_AVAILABLE_IN_1_2
69guint nm_setting_vxlan_get_ttl(NMSettingVxlan *setting);
70NM_AVAILABLE_IN_1_2
71guint nm_setting_vxlan_get_ageing(NMSettingVxlan *setting);
72NM_AVAILABLE_IN_1_2
73guint nm_setting_vxlan_get_limit(NMSettingVxlan *setting);
74NM_AVAILABLE_IN_1_2
75gboolean nm_setting_vxlan_get_proxy(NMSettingVxlan *setting);
76NM_AVAILABLE_IN_1_2
77gboolean nm_setting_vxlan_get_learning(NMSettingVxlan *setting);
78NM_AVAILABLE_IN_1_2
79gboolean nm_setting_vxlan_get_rsc(NMSettingVxlan *setting);
80NM_AVAILABLE_IN_1_2
81gboolean nm_setting_vxlan_get_l2_miss(NMSettingVxlan *setting);
82NM_AVAILABLE_IN_1_2
83gboolean nm_setting_vxlan_get_l3_miss(NMSettingVxlan *setting);
84
85G_END_DECLS
86
87#endif /* __NM_SETTING_VXLAN_H__ */
88

source code of include/libnm/nm-setting-vxlan.h