1/*
2 SPDX-FileCopyrightText: 2018 Billy Laws <blaws05@gmail.com>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6
7#ifndef NETWORKMANAGERQT_VXLAN_SETTING_H
8#define NETWORKMANAGERQT_VXLAN_SETTING_H
9
10#include "setting.h"
11#include <networkmanagerqt/networkmanagerqt_export.h>
12
13#include <QString>
14
15namespace NetworkManager
16{
17class VxlanSettingPrivate;
18
19/**
20 * Represents vxlan setting
21 */
22class NETWORKMANAGERQT_EXPORT VxlanSetting : public Setting
23{
24public:
25 typedef QSharedPointer<VxlanSetting> Ptr;
26 typedef QList<Ptr> List;
27 VxlanSetting();
28 explicit VxlanSetting(const Ptr &other);
29 ~VxlanSetting() override;
30
31 QString name() const override;
32
33 void setAgeing(quint32 ageing);
34 quint32 ageing() const;
35
36 void setDestinationPort(quint32 port);
37 quint32 destinationPort() const;
38
39 void setId(quint32 id);
40 quint32 id() const;
41
42 void setL2Miss(bool enable);
43 bool l2Miss() const;
44
45 void setL3Miss(bool enable);
46 bool l3Miss() const;
47
48 void setLearning(bool enable);
49 bool learning() const;
50
51 void setLimit(quint32 limit);
52 quint32 limit() const;
53
54 void setLocal(QString local);
55 QString local() const;
56
57 void setParent(QString parent);
58 QString parent() const;
59
60 void setProxy(bool enable);
61 bool proxy() const;
62
63 void setRemote(QString remote);
64 QString remote() const;
65
66 void setRsc(bool enable);
67 bool rsc() const;
68
69 void setSourcePortMax(quint32 maxPort);
70 quint32 sourcePortMax() const;
71
72 void setSourcePortMin(quint32 minPort);
73 quint32 sourcePortMin() const;
74
75 void setTos(quint32 tos);
76 quint32 tos() const;
77
78 void setTtl(quint32 ttl);
79 quint32 ttl() const;
80
81 void fromMap(const QVariantMap &setting) override;
82
83 QVariantMap toMap() const override;
84
85protected:
86 VxlanSettingPrivate *d_ptr;
87
88private:
89 Q_DECLARE_PRIVATE(VxlanSetting)
90};
91
92NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const VxlanSetting &setting);
93
94}
95
96#endif // NETWORKMANAGERQT_VXLAN_SETTING_H
97

source code of networkmanager-qt/src/settings/vxlansetting.h