1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2/*
3 * Copyright (C) 2015 Red Hat, Inc.
4 */
5
6#ifndef __NM_DEVICE_VXLAN_H__
7#define __NM_DEVICE_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-device.h"
14
15G_BEGIN_DECLS
16
17#define NM_TYPE_DEVICE_VXLAN (nm_device_vxlan_get_type())
18#define NM_DEVICE_VXLAN(obj) \
19 (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_DEVICE_VXLAN, NMDeviceVxlan))
20#define NM_DEVICE_VXLAN_CLASS(klass) \
21 (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_DEVICE_VXLAN, NMDeviceVxlanClass))
22#define NM_IS_DEVICE_VXLAN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_DEVICE_VXLAN))
23#define NM_IS_DEVICE_VXLAN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_DEVICE_VXLAN))
24#define NM_DEVICE_VXLAN_GET_CLASS(obj) \
25 (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_DEVICE_VXLAN, NMDeviceVxlanClass))
26
27#define NM_DEVICE_VXLAN_HW_ADDRESS "hw-address"
28#define NM_DEVICE_VXLAN_CARRIER "carrier"
29#define NM_DEVICE_VXLAN_PARENT "parent"
30#define NM_DEVICE_VXLAN_ID "id"
31#define NM_DEVICE_VXLAN_GROUP "group"
32#define NM_DEVICE_VXLAN_LOCAL "local"
33#define NM_DEVICE_VXLAN_SRC_PORT_MIN "src-port-min"
34#define NM_DEVICE_VXLAN_SRC_PORT_MAX "src-port-max"
35#define NM_DEVICE_VXLAN_LEARNING "learning"
36#define NM_DEVICE_VXLAN_AGEING "ageing"
37#define NM_DEVICE_VXLAN_TOS "tos"
38#define NM_DEVICE_VXLAN_TTL "ttl"
39#define NM_DEVICE_VXLAN_LIMIT "limit"
40#define NM_DEVICE_VXLAN_PROXY "proxy"
41#define NM_DEVICE_VXLAN_RSC "rsc"
42#define NM_DEVICE_VXLAN_L2MISS "l2miss"
43#define NM_DEVICE_VXLAN_L3MISS "l3miss"
44#define NM_DEVICE_VXLAN_DST_PORT "dst-port"
45
46/**
47 * NMDeviceVxlan:
48 *
49 * Since: 1.2
50 */
51typedef struct _NMDeviceVxlan NMDeviceVxlan;
52typedef struct _NMDeviceVxlanClass NMDeviceVxlanClass;
53
54NM_AVAILABLE_IN_1_2
55GType nm_device_vxlan_get_type(void);
56
57NM_DEPRECATED_IN_1_24_FOR(nm_device_get_hw_address)
58NM_AVAILABLE_IN_1_2
59const char *nm_device_vxlan_get_hw_address(NMDeviceVxlan *device);
60
61NM_AVAILABLE_IN_1_42
62gboolean nm_device_vxlan_get_carrier(NMDeviceVxlan *device);
63NM_AVAILABLE_IN_1_2
64NMDevice *nm_device_vxlan_get_parent(NMDeviceVxlan *device);
65NM_AVAILABLE_IN_1_2
66guint nm_device_vxlan_get_id(NMDeviceVxlan *device);
67NM_AVAILABLE_IN_1_2
68const char *nm_device_vxlan_get_group(NMDeviceVxlan *device);
69NM_AVAILABLE_IN_1_2
70const char *nm_device_vxlan_get_local(NMDeviceVxlan *device);
71NM_AVAILABLE_IN_1_2
72guint nm_device_vxlan_get_src_port_min(NMDeviceVxlan *device);
73NM_AVAILABLE_IN_1_2
74guint nm_device_vxlan_get_src_port_max(NMDeviceVxlan *device);
75NM_AVAILABLE_IN_1_2
76guint nm_device_vxlan_get_dst_port(NMDeviceVxlan *device);
77NM_AVAILABLE_IN_1_2
78gboolean nm_device_vxlan_get_learning(NMDeviceVxlan *device);
79NM_AVAILABLE_IN_1_2
80guint nm_device_vxlan_get_ageing(NMDeviceVxlan *device);
81NM_AVAILABLE_IN_1_2
82guint nm_device_vxlan_get_tos(NMDeviceVxlan *device);
83NM_AVAILABLE_IN_1_2
84guint nm_device_vxlan_get_ttl(NMDeviceVxlan *device);
85NM_AVAILABLE_IN_1_2
86guint nm_device_vxlan_get_limit(NMDeviceVxlan *device);
87NM_AVAILABLE_IN_1_2
88gboolean nm_device_vxlan_get_proxy(NMDeviceVxlan *device);
89NM_AVAILABLE_IN_1_42
90gboolean nm_device_vxlan_get_rsc(NMDeviceVxlan *device);
91NM_AVAILABLE_IN_1_2
92gboolean nm_device_vxlan_get_l2miss(NMDeviceVxlan *device);
93NM_AVAILABLE_IN_1_2
94gboolean nm_device_vxlan_get_l3miss(NMDeviceVxlan *device);
95
96G_END_DECLS
97
98#endif /* __NM_DEVICE_VXLAN_H__ */
99

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