Ratan Gupta | b8e9955 | 2017-07-27 07:07:48 +0530 | [diff] [blame] | 1 | #pragma once |
| 2 | |
Ratan Gupta | 533d03b | 2017-07-30 10:39:22 +0530 | [diff] [blame] | 3 | #include "types.hpp" |
Ratan Gupta | b8e9955 | 2017-07-27 07:07:48 +0530 | [diff] [blame] | 4 | #include <string> |
Adriana Kobylak | 5d6481f | 2015-10-29 21:44:55 -0500 | [diff] [blame] | 5 | // IPMI commands for Transport net functions. |
| 6 | enum ipmi_netfn_storage_cmds |
| 7 | { |
| 8 | // Get capability bits |
| 9 | IPMI_CMD_SET_LAN = 0x01, |
| 10 | IPMI_CMD_GET_LAN = 0x02, |
| 11 | }; |
| 12 | |
| 13 | // Command specific completion codes |
| 14 | enum ipmi_transport_return_codes |
| 15 | { |
| 16 | IPMI_CC_PARM_NOT_SUPPORTED = 0x80, |
| 17 | }; |
| 18 | |
Adriana Kobylak | e08fbc6 | 2016-02-09 16:17:23 -0600 | [diff] [blame] | 19 | // Parameters |
| 20 | static const int LAN_PARM_INPROGRESS = 0; |
| 21 | static const int LAN_PARM_AUTHSUPPORT = 1; |
| 22 | static const int LAN_PARM_AUTHENABLES = 2; |
| 23 | static const int LAN_PARM_IP = 3; |
Ratan Gupta | cc6cdbf | 2017-09-01 23:06:25 +0530 | [diff] [blame] | 24 | static const int LAN_PARM_IPSRC = 4; |
Adriana Kobylak | e08fbc6 | 2016-02-09 16:17:23 -0600 | [diff] [blame] | 25 | static const int LAN_PARM_MAC = 5; |
| 26 | static const int LAN_PARM_SUBNET = 6; |
| 27 | static const int LAN_PARM_GATEWAY = 12; |
Ratan Gupta | 533d03b | 2017-07-30 10:39:22 +0530 | [diff] [blame] | 28 | static const int LAN_PARM_VLAN = 20; |
Adriana Kobylak | e08fbc6 | 2016-02-09 16:17:23 -0600 | [diff] [blame] | 29 | |
Ratan Gupta | b8e9955 | 2017-07-27 07:07:48 +0530 | [diff] [blame] | 30 | struct ChannelConfig_t |
| 31 | { |
| 32 | std::string ipaddr; |
Ratan Gupta | cc6cdbf | 2017-09-01 23:06:25 +0530 | [diff] [blame] | 33 | ipmi::network::IPOrigin ipsrc = ipmi::network::IPOrigin::UNSPECIFIED; |
Ratan Gupta | b8e9955 | 2017-07-27 07:07:48 +0530 | [diff] [blame] | 34 | std::string netmask; |
| 35 | std::string gateway; |
| 36 | std::string macAddress; |
Ratan Gupta | 533d03b | 2017-07-30 10:39:22 +0530 | [diff] [blame] | 37 | // IPMI stores the vlan info in 16 bits,32 bits is to aligned |
| 38 | // with phosphor-dbus interfaces. |
| 39 | // vlan id is in 12 bits and the 16th bit is for enable mask. |
| 40 | uint32_t vlanID = ipmi::network::VLAN_ID_MASK; |
| 41 | |
Ratan Gupta | b8e9955 | 2017-07-27 07:07:48 +0530 | [diff] [blame] | 42 | void clear() |
| 43 | { |
| 44 | ipaddr.clear(); |
| 45 | netmask.clear(); |
| 46 | gateway.clear(); |
| 47 | macAddress.clear(); |
Ratan Gupta | 533d03b | 2017-07-30 10:39:22 +0530 | [diff] [blame] | 48 | vlanID = ipmi::network::VLAN_ID_MASK; |
Ratan Gupta | cc6cdbf | 2017-09-01 23:06:25 +0530 | [diff] [blame] | 49 | ipsrc = ipmi::network::IPOrigin::UNSPECIFIED; |
Ratan Gupta | b8e9955 | 2017-07-27 07:07:48 +0530 | [diff] [blame] | 50 | } |
Nan Li | 3d0df91 | 2016-10-18 19:51:41 +0800 | [diff] [blame] | 51 | }; |