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 */
49typedef struct _NMDeviceVxlanClass NMDeviceVxlanClass;
50
51NM_AVAILABLE_IN_1_2
52GType nm_device_vxlan_get_type(void);
53
54NM_AVAILABLE_IN_1_2
55NM_DEPRECATED_IN_1_24_FOR(nm_device_get_hw_address)
56const char *nm_device_vxlan_get_hw_address(NMDeviceVxlan *device);
57
58NM_AVAILABLE_IN_1_2
59gboolean nm_device_vxlan_get_carrier(NMDeviceVxlan *device);
60NM_AVAILABLE_IN_1_2
61NMDevice *nm_device_vxlan_get_parent(NMDeviceVxlan *device);
62NM_AVAILABLE_IN_1_2
63guint nm_device_vxlan_get_id(NMDeviceVxlan *device);
64NM_AVAILABLE_IN_1_2
65const char *nm_device_vxlan_get_group(NMDeviceVxlan *device);
66NM_AVAILABLE_IN_1_2
67const char *nm_device_vxlan_get_local(NMDeviceVxlan *device);
68NM_AVAILABLE_IN_1_2
69guint nm_device_vxlan_get_src_port_min(NMDeviceVxlan *device);
70NM_AVAILABLE_IN_1_2
71guint nm_device_vxlan_get_src_port_max(NMDeviceVxlan *device);
72NM_AVAILABLE_IN_1_2
73guint nm_device_vxlan_get_dst_port(NMDeviceVxlan *device);
74NM_AVAILABLE_IN_1_2
75gboolean nm_device_vxlan_get_learning(NMDeviceVxlan *device);
76NM_AVAILABLE_IN_1_2
77guint nm_device_vxlan_get_ageing(NMDeviceVxlan *device);
78NM_AVAILABLE_IN_1_2
79guint nm_device_vxlan_get_tos(NMDeviceVxlan *device);
80NM_AVAILABLE_IN_1_2
81guint nm_device_vxlan_get_ttl(NMDeviceVxlan *device);
82NM_AVAILABLE_IN_1_2
83guint nm_device_vxlan_get_limit(NMDeviceVxlan *device);
84NM_AVAILABLE_IN_1_2
85gboolean nm_device_vxlan_get_proxy(NMDeviceVxlan *device);
86NM_AVAILABLE_IN_1_2
87gboolean nm_device_vxlan_get_rsc(NMDeviceVxlan *device);
88NM_AVAILABLE_IN_1_2
89gboolean nm_device_vxlan_get_l2miss(NMDeviceVxlan *device);
90NM_AVAILABLE_IN_1_2
91gboolean nm_device_vxlan_get_l3miss(NMDeviceVxlan *device);
92
93G_END_DECLS
94
95#endif /* __NM_DEVICE_VXLAN_H__ */
96

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