xref: /openbmc/bmcweb/redfish-core/include/generated/enums/ethernet_interface.hpp (revision d1a3caa4eda8ca07cd656b4e4e8aa1e4ffe53e1e)
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 MACAddress{
11     Invalid,
12 };
13 
14 enum class LinkStatus{
15     Invalid,
16     LinkUp,
17     NoLink,
18     LinkDown,
19 };
20 
21 enum class DHCPv6OperatingMode{
22     Invalid,
23     Stateful,
24     Stateless,
25     Disabled,
26     Enabled,
27 };
28 
29 enum class DHCPFallback{
30     Invalid,
31     Static,
32     AutoConfig,
33     None,
34 };
35 
36 enum class EthernetDeviceType{
37     Invalid,
38     Physical,
39     Virtual,
40 };
41 
42 enum class TeamMode{
43     Invalid,
44     None,
45     RoundRobin,
46     ActiveBackup,
47     XOR,
48     Broadcast,
49     IEEE802_3ad,
50     AdaptiveTransmitLoadBalancing,
51     AdaptiveLoadBalancing,
52 };
53 
54 enum class RoutingScope{
55     Invalid,
56     External,
57     HostOnly,
58     Internal,
59     Limited,
60 };
61 
62 NLOHMANN_JSON_SERIALIZE_ENUM(MACAddress, {
63     {MACAddress::Invalid, "Invalid"},
64 });
65 
66 NLOHMANN_JSON_SERIALIZE_ENUM(LinkStatus, {
67     {LinkStatus::Invalid, "Invalid"},
68     {LinkStatus::LinkUp, "LinkUp"},
69     {LinkStatus::NoLink, "NoLink"},
70     {LinkStatus::LinkDown, "LinkDown"},
71 });
72 
73 NLOHMANN_JSON_SERIALIZE_ENUM(DHCPv6OperatingMode, {
74     {DHCPv6OperatingMode::Invalid, "Invalid"},
75     {DHCPv6OperatingMode::Stateful, "Stateful"},
76     {DHCPv6OperatingMode::Stateless, "Stateless"},
77     {DHCPv6OperatingMode::Disabled, "Disabled"},
78     {DHCPv6OperatingMode::Enabled, "Enabled"},
79 });
80 
81 NLOHMANN_JSON_SERIALIZE_ENUM(DHCPFallback, {
82     {DHCPFallback::Invalid, "Invalid"},
83     {DHCPFallback::Static, "Static"},
84     {DHCPFallback::AutoConfig, "AutoConfig"},
85     {DHCPFallback::None, "None"},
86 });
87 
88 NLOHMANN_JSON_SERIALIZE_ENUM(EthernetDeviceType, {
89     {EthernetDeviceType::Invalid, "Invalid"},
90     {EthernetDeviceType::Physical, "Physical"},
91     {EthernetDeviceType::Virtual, "Virtual"},
92 });
93 
94 NLOHMANN_JSON_SERIALIZE_ENUM(TeamMode, {
95     {TeamMode::Invalid, "Invalid"},
96     {TeamMode::None, "None"},
97     {TeamMode::RoundRobin, "RoundRobin"},
98     {TeamMode::ActiveBackup, "ActiveBackup"},
99     {TeamMode::XOR, "XOR"},
100     {TeamMode::Broadcast, "Broadcast"},
101     {TeamMode::IEEE802_3ad, "IEEE802_3ad"},
102     {TeamMode::AdaptiveTransmitLoadBalancing, "AdaptiveTransmitLoadBalancing"},
103     {TeamMode::AdaptiveLoadBalancing, "AdaptiveLoadBalancing"},
104 });
105 
106 NLOHMANN_JSON_SERIALIZE_ENUM(RoutingScope, {
107     {RoutingScope::Invalid, "Invalid"},
108     {RoutingScope::External, "External"},
109     {RoutingScope::HostOnly, "HostOnly"},
110     {RoutingScope::Internal, "Internal"},
111     {RoutingScope::Limited, "Limited"},
112 });
113 
114 }
115 // clang-format on
116