xref: /openbmc/bmcweb/features/redfish/include/generated/enums/ethernet_interface.hpp (revision 0ec8b83db7e8629c721c0e632de702bf1018f58f)
1*0ec8b83dSEd Tanous #pragma once
2*0ec8b83dSEd Tanous #include <nlohmann/json.hpp>
3*0ec8b83dSEd Tanous 
4*0ec8b83dSEd Tanous namespace ethernet_interface
5*0ec8b83dSEd Tanous {
6*0ec8b83dSEd Tanous // clang-format off
7*0ec8b83dSEd Tanous 
8*0ec8b83dSEd Tanous enum class LinkStatus{
9*0ec8b83dSEd Tanous     Invalid,
10*0ec8b83dSEd Tanous     LinkUp,
11*0ec8b83dSEd Tanous     NoLink,
12*0ec8b83dSEd Tanous     LinkDown,
13*0ec8b83dSEd Tanous };
14*0ec8b83dSEd Tanous 
15*0ec8b83dSEd Tanous enum class DHCPv6OperatingMode{
16*0ec8b83dSEd Tanous     Invalid,
17*0ec8b83dSEd Tanous     Stateful,
18*0ec8b83dSEd Tanous     Stateless,
19*0ec8b83dSEd Tanous     Disabled,
20*0ec8b83dSEd Tanous     Enabled,
21*0ec8b83dSEd Tanous };
22*0ec8b83dSEd Tanous 
23*0ec8b83dSEd Tanous enum class DHCPFallback{
24*0ec8b83dSEd Tanous     Invalid,
25*0ec8b83dSEd Tanous     Static,
26*0ec8b83dSEd Tanous     AutoConfig,
27*0ec8b83dSEd Tanous     None,
28*0ec8b83dSEd Tanous };
29*0ec8b83dSEd Tanous 
30*0ec8b83dSEd Tanous enum class EthernetDeviceType{
31*0ec8b83dSEd Tanous     Invalid,
32*0ec8b83dSEd Tanous     Physical,
33*0ec8b83dSEd Tanous     Virtual,
34*0ec8b83dSEd Tanous };
35*0ec8b83dSEd Tanous 
36*0ec8b83dSEd Tanous enum class TeamMode{
37*0ec8b83dSEd Tanous     Invalid,
38*0ec8b83dSEd Tanous     None,
39*0ec8b83dSEd Tanous     RoundRobin,
40*0ec8b83dSEd Tanous     ActiveBackup,
41*0ec8b83dSEd Tanous     XOR,
42*0ec8b83dSEd Tanous     Broadcast,
43*0ec8b83dSEd Tanous     IEEE802_3ad,
44*0ec8b83dSEd Tanous     AdaptiveTransmitLoadBalancing,
45*0ec8b83dSEd Tanous     AdaptiveLoadBalancing,
46*0ec8b83dSEd Tanous };
47*0ec8b83dSEd Tanous 
48*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(LinkStatus, {
49*0ec8b83dSEd Tanous     {LinkStatus::Invalid, "Invalid"},
50*0ec8b83dSEd Tanous     {LinkStatus::LinkUp, "LinkUp"},
51*0ec8b83dSEd Tanous     {LinkStatus::NoLink, "NoLink"},
52*0ec8b83dSEd Tanous     {LinkStatus::LinkDown, "LinkDown"},
53*0ec8b83dSEd Tanous });
54*0ec8b83dSEd Tanous 
55*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(DHCPv6OperatingMode, {
56*0ec8b83dSEd Tanous     {DHCPv6OperatingMode::Invalid, "Invalid"},
57*0ec8b83dSEd Tanous     {DHCPv6OperatingMode::Stateful, "Stateful"},
58*0ec8b83dSEd Tanous     {DHCPv6OperatingMode::Stateless, "Stateless"},
59*0ec8b83dSEd Tanous     {DHCPv6OperatingMode::Disabled, "Disabled"},
60*0ec8b83dSEd Tanous     {DHCPv6OperatingMode::Enabled, "Enabled"},
61*0ec8b83dSEd Tanous });
62*0ec8b83dSEd Tanous 
63*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(DHCPFallback, {
64*0ec8b83dSEd Tanous     {DHCPFallback::Invalid, "Invalid"},
65*0ec8b83dSEd Tanous     {DHCPFallback::Static, "Static"},
66*0ec8b83dSEd Tanous     {DHCPFallback::AutoConfig, "AutoConfig"},
67*0ec8b83dSEd Tanous     {DHCPFallback::None, "None"},
68*0ec8b83dSEd Tanous });
69*0ec8b83dSEd Tanous 
70*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(EthernetDeviceType, {
71*0ec8b83dSEd Tanous     {EthernetDeviceType::Invalid, "Invalid"},
72*0ec8b83dSEd Tanous     {EthernetDeviceType::Physical, "Physical"},
73*0ec8b83dSEd Tanous     {EthernetDeviceType::Virtual, "Virtual"},
74*0ec8b83dSEd Tanous });
75*0ec8b83dSEd Tanous 
76*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(TeamMode, {
77*0ec8b83dSEd Tanous     {TeamMode::Invalid, "Invalid"},
78*0ec8b83dSEd Tanous     {TeamMode::None, "None"},
79*0ec8b83dSEd Tanous     {TeamMode::RoundRobin, "RoundRobin"},
80*0ec8b83dSEd Tanous     {TeamMode::ActiveBackup, "ActiveBackup"},
81*0ec8b83dSEd Tanous     {TeamMode::XOR, "XOR"},
82*0ec8b83dSEd Tanous     {TeamMode::Broadcast, "Broadcast"},
83*0ec8b83dSEd Tanous     {TeamMode::IEEE802_3ad, "IEEE802_3ad"},
84*0ec8b83dSEd Tanous     {TeamMode::AdaptiveTransmitLoadBalancing, "AdaptiveTransmitLoadBalancing"},
85*0ec8b83dSEd Tanous     {TeamMode::AdaptiveLoadBalancing, "AdaptiveLoadBalancing"},
86*0ec8b83dSEd Tanous });
87*0ec8b83dSEd Tanous 
88*0ec8b83dSEd Tanous }
89*0ec8b83dSEd Tanous // clang-format on
90