xref: /openbmc/bmcweb/redfish-core/include/generated/enums/ethernet_interface.hpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
1 // SPDX-License-Identifier: Apache-2.0
2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3 #pragma once
4 #include <nlohmann/json.hpp>
5 
6 namespace ethernet_interface
7 {
8 // clang-format off
9 
10 enum class LinkStatus{
11     Invalid,
12     LinkUp,
13     NoLink,
14     LinkDown,
15 };
16 
17 enum class DHCPv6OperatingMode{
18     Invalid,
19     Stateful,
20     Stateless,
21     Disabled,
22     Enabled,
23 };
24 
25 enum class DHCPFallback{
26     Invalid,
27     Static,
28     AutoConfig,
29     None,
30 };
31 
32 enum class EthernetDeviceType{
33     Invalid,
34     Physical,
35     Virtual,
36 };
37 
38 enum class TeamMode{
39     Invalid,
40     None,
41     RoundRobin,
42     ActiveBackup,
43     XOR,
44     Broadcast,
45     IEEE802_3ad,
46     AdaptiveTransmitLoadBalancing,
47     AdaptiveLoadBalancing,
48 };
49 
50 enum class RoutingScope{
51     Invalid,
52     External,
53     HostOnly,
54     Internal,
55     Limited,
56 };
57 
58 NLOHMANN_JSON_SERIALIZE_ENUM(LinkStatus, {
59     {LinkStatus::Invalid, "Invalid"},
60     {LinkStatus::LinkUp, "LinkUp"},
61     {LinkStatus::NoLink, "NoLink"},
62     {LinkStatus::LinkDown, "LinkDown"},
63 });
64 
65 NLOHMANN_JSON_SERIALIZE_ENUM(DHCPv6OperatingMode, {
66     {DHCPv6OperatingMode::Invalid, "Invalid"},
67     {DHCPv6OperatingMode::Stateful, "Stateful"},
68     {DHCPv6OperatingMode::Stateless, "Stateless"},
69     {DHCPv6OperatingMode::Disabled, "Disabled"},
70     {DHCPv6OperatingMode::Enabled, "Enabled"},
71 });
72 
73 NLOHMANN_JSON_SERIALIZE_ENUM(DHCPFallback, {
74     {DHCPFallback::Invalid, "Invalid"},
75     {DHCPFallback::Static, "Static"},
76     {DHCPFallback::AutoConfig, "AutoConfig"},
77     {DHCPFallback::None, "None"},
78 });
79 
80 NLOHMANN_JSON_SERIALIZE_ENUM(EthernetDeviceType, {
81     {EthernetDeviceType::Invalid, "Invalid"},
82     {EthernetDeviceType::Physical, "Physical"},
83     {EthernetDeviceType::Virtual, "Virtual"},
84 });
85 
86 NLOHMANN_JSON_SERIALIZE_ENUM(TeamMode, {
87     {TeamMode::Invalid, "Invalid"},
88     {TeamMode::None, "None"},
89     {TeamMode::RoundRobin, "RoundRobin"},
90     {TeamMode::ActiveBackup, "ActiveBackup"},
91     {TeamMode::XOR, "XOR"},
92     {TeamMode::Broadcast, "Broadcast"},
93     {TeamMode::IEEE802_3ad, "IEEE802_3ad"},
94     {TeamMode::AdaptiveTransmitLoadBalancing, "AdaptiveTransmitLoadBalancing"},
95     {TeamMode::AdaptiveLoadBalancing, "AdaptiveLoadBalancing"},
96 });
97 
98 NLOHMANN_JSON_SERIALIZE_ENUM(RoutingScope, {
99     {RoutingScope::Invalid, "Invalid"},
100     {RoutingScope::External, "External"},
101     {RoutingScope::HostOnly, "HostOnly"},
102     {RoutingScope::Internal, "Internal"},
103     {RoutingScope::Limited, "Limited"},
104 });
105 
106 }
107 // clang-format on
108