History log of /openbmc/phosphor-host-ipmid/user_channel/channel_mgmt.hpp (Results 1 – 21 of 21)
Revision Date Author Comments
# 42f64efc 05-Feb-2024 George Liu <liuxiwei@ieisystem.com>

Refactor to call the getProperty method

Uniformly use the getProperty method of utils.hpp to obtain values

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: I9eae6bba6806215b51090637a7e

Refactor to call the getProperty method

Uniformly use the getProperty method of utils.hpp to obtain values

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: I9eae6bba6806215b51090637a7e42c8c8d90be87

show more ...


# fbc6c9d7 10-May-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest .clang-format from the docs repository and reformat the
repository.

Change-Id: I44441096113929ce96eb1439e2932e6ff3c87f27
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 5d82f474 22-Jul-2022 Patrick Williams <patrick@stwcx.xyz>

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are for:
* bus_t
* exception_t
* manager_t
* match_t
* message_t
* object_t
* slot_t

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ibd2a0b512bfb7caf65bfab64b271d194da520aac

show more ...


# fd61fc3d 08-Apr-2021 Johnathan Mantey <johnathanx.mantey@intel.com>

Permit assignment the IPMI management channel via JSON

phosphor-ipmi-host hard codes Channel 1 as the LAN NIC responsible for
managing and updating IPMI, Redfish, and web server access

Permit assignment the IPMI management channel via JSON

phosphor-ipmi-host hard codes Channel 1 as the LAN NIC responsible for
managing and updating IPMI, Redfish, and web server access
permissions. Systems that do not have an lan-802.3 channel type
configured for IPMI Channel 1 have no way of assigning permissions
that flow to phosphor-user-manager. The inability to update
permissions within phosphor-user-manaager ultimaltely flows to Redfish
and HTTPS access.

The changes in this commit provide flexibility in assigning the IPMI
channel used to propagate permission changes to
phosphor-user-manager. A new boolean keyword, is_managment_nic, is
added. This entry is added to the JSON file, channel_config.json by
default, to announce which lan-802.3 IPMI channel is to be used to
assign IPMI permissions used by phosphor-user-manager. Only one
channel can have this ability. If the keyword is missing in the JSON
file, the code falls back to using Channel 1.

Tested:
Fully testing this change requires using code that dynamically
disables Channel 1. The SUT only has a single NIC, which is not
assigned to Channel 1.

Fully reprogrammed SPI to enter a pristine state.
Created a new user, channel 3, id 2, privilege=4

Confirmed LAN "ipmitool raw 6 1" succeeds
Confirmed Web access to new user account
Confirmed Redfish acess to new user account
Confirmed BMC console "ipmitool raw 6 1" succeeds

Used BMC console ipmitool to change user permissions from 4 to
15 (i.e. no access)

Confirmed LAN "ipmitool raw 6 1" succeeds
Confirmed Web access to new user account fails
Confirmed Redfish acess to new user account fails
Confirmed BMC console "ipmitool raw 6 1" fails

Used BMC console ipmitool to change user permissions from 15 to
4 (i.e. admin)

All of the prior tests work as expected.

Change-Id: I5f6941fefc4f80742e404de1f22ba10cbedf5d5d
Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>

show more ...


# b541a5a5 18-Jul-2019 NITIN SHARMA <nitin1x.sharma@intel.com>

user_channel:Change fun ret&cmd cc as per New Std

Modified ipmi function return status code and
command completion codes as per new standard.

Tested:
verified using ipmitool

user_channel:Change fun ret&cmd cc as per New Std

Modified ipmi function return status code and
command completion codes as per new standard.

Tested:
verified using ipmitool commands.
1. create new user
Command : ipmitool user set name 5 user5
Response: //user created successfully
Command: ipmitool user set password 5 0penBmc\' //set password
Response: Set User Password command successful (user 5)

2. Set password
Command : ipmitool user set password 5 0penBmc\'
Response: Set User Password command successful (user 5)

3. set channel access
Command: ipmitool channel setaccess 1 5 callin=on ipmi=on link=on
privilege=4
Response: Set User Access (channel 1 id 5) successful.

4. get channel access
Command: ipmitool channel getaccess 1 5
Response:
Maximum User IDs : 15
Enabled User IDs : 5

User ID : 5
User Name : user5
Fixed Name : No
Access Available : call-in / callback
Link Authentication : enabled
IPMI Messaging : enabled
Privilege Level : ADMINISTRATOR
Enable Status : disabled

5. User list
Command: ipmitool user list 1
Response:
ID Name Callin Link Auth IPMI Msg Channel Priv Limit
1 root false true true ADMINISTRATOR
2 putty_operator true true true OPERATOR
3 ipmi_admin true true true ADMINISTRATOR
4 user2 false true true OPERATOR
5 user5 true true true ADMINISTRATOR
6 true false false NO ACCESS
7 true false false NO ACCESS
8 true false false NO ACCESS
9 true false false NO ACCESS
10 true false false NO ACCESS
11 true false false NO ACCESS
12 true false false NO ACCESS
13 true false false NO ACCESS
14 true false false NO ACCESS
15 true false false NO ACCESS

Signed-off-by: jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>
Signed-off-by: NITIN SHARMA <nitin1x.sharma@intel.com>
Change-Id: I5f2c32f50edc2de204ac361364e21a61a4bcf237

show more ...


# 0b979b61 15-May-2019 Vernon Mauery <vernon.mauery@linux.intel.com>

Remove unused function convertCurrentChannelNum(uint8_t)

convertCurrentChannelNum(uint8_t) was deprecated in favor of an
actual working implementation. It was stubbed out for a while to

Remove unused function convertCurrentChannelNum(uint8_t)

convertCurrentChannelNum(uint8_t) was deprecated in favor of an
actual working implementation. It was stubbed out for a while to
provide a broken, backwards-compatible interface, but now that all
of those have been removed in favor of the new interface that
actually works: convertCurrentChannelNum(uint8_t, uint8_t), the
old function can be removed.

Tested: Builds without any errors (means the old interface was removed)

Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
Change-Id: I3796e890c7cc34333116b71a97db268abf5f0e89

show more ...


# 16b8693d 01-May-2019 Vernon Mauery <vernon.mauery@linux.intel.com>

remove usage of sdbusplus::message::variant

sdbusplus has had its alias of std::variant in place for long
enough. This changes all ipmid references to use std::variant
directly inste

remove usage of sdbusplus::message::variant

sdbusplus has had its alias of std::variant in place for long
enough. This changes all ipmid references to use std::variant
directly instead of the sdbusplus alias.

Tested-by: building and running ipmid

Change-Id: Id5b4136d4589aa598815edd3ef4202e64a7698e2
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>

show more ...


# 735ee953 15-Feb-2019 Vernon Mauery <vernon.mauery@linux.intel.com>

look up channel from D-Bus connection

With a single IPMI execution queue and multiple bridges, it is important
for the queue to be able to map the incoming D-Bus message to a channel.

look up channel from D-Bus connection

With a single IPMI execution queue and multiple bridges, it is important
for the queue to be able to map the incoming D-Bus message to a channel.
Each bridge should request a well-known name of the form
"xyz.openbmc_project.Ipmi.Channel.<name>" where name is the name field
in the /usr/share/ipmi-providers/channel_config.json file.

The mapping is done by registering a name change listener on D-Bus and
then doing some name lookups via the D-Bus interface to match well-known
names to unique names. Then, each incoming messages comes from a
unique-named sender and can be resolved to which channel it came from.

For now, any unmapped channels will show up as INTRABMC, which is not
ideal, but should not break things until the bridges can be converted to
the correct name and D-Bus API.

Tested-by: run ipmid, start and stop bridges named
xyz.openbmc_project.Ipmi.Channel.<NAME> and see the messages
show that a new channel has been mapped. Then, with commands
that use the ipmi::Context, the correct channel shows up.

Change-Id: I3e6bbfbf2e068020e07eeafe64eb09d70c03dc65
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>

show more ...


# 55768e35 02-Mar-2019 Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>

Cleanup: Get rid of duplicate getChannelName()

Get rid of duplicate getChannelName function. Use
the one with uint8_t channelNum.

Tested-by:
1. Verified RMCP+ session establ

Cleanup: Get rid of duplicate getChannelName()

Get rid of duplicate getChannelName function. Use
the one with uint8_t channelNum.

Tested-by:
1. Verified RMCP+ session establishement works with newly
created user

Change-Id: Iac22ec665ece97d4f9471cfb40220b472bdf01e8
Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>

show more ...


# 74a2102e 13-Dec-2018 Johnathan Mantey <johnathanx.mantey@intel.com>

IPMI channel to NIC device mapping modified within JSON config file

The IPMI to NIC channel mapping was done using a hard coded scheme.
The scheme used generic channel names which were t

IPMI channel to NIC device mapping modified within JSON config file

The IPMI to NIC channel mapping was done using a hard coded scheme.
The scheme used generic channel names which were then mapped to
specific device names. The hard coded generic to specific naming
convention is removed, and the JSON file contains the device name
directly.

Change-Id: Ibc6821cae5a26f2666467aba5346d364053f2582
Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>

show more ...


# 2dfe7f8d 11-Dec-2018 Johnathan Mantey <johnathanx.mantey@intel.com>

Move public variables to the class private space.

Moved two variables only used by the class into it's private variable
space.

Highlighted a method prototype that was buried wit

Move public variables to the class private space.

Moved two variables only used by the class into it's private variable
space.

Highlighted a method prototype that was buried within the variable list.

Change-Id: Ie90d6b7db85ce1a9e445de87d612c41b4337d7fc
Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>

show more ...


# 4c0435a2 11-Dec-2018 Johnathan Mantey <johnathanx.mantey@intel.com>

Refactor the initialization of the channel data from the JSON

Copy the data retrieved from the JSON data files only after the
contents of the two JSON configuration files have been read

Refactor the initialization of the channel data from the JSON

Copy the data retrieved from the JSON data files only after the
contents of the two JSON configuration files have been read
successfully.

The code has also been changed to eliminate excess indentation in
order to improve its readability and maintainability.

Change-Id: I2def95b854bef39a9e7b196ef340c3a06965653a
Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>

show more ...


# e5c4f1d7 10-Dec-2018 Johnathan Mantey <johnathanx.mantey@intel.com>

Eliminate public function returning pointer to private class data

The getChannelDataPtr method breaks class encapsulation. Only class
methods are supposed to have access to class privat

Eliminate public function returning pointer to private class data

The getChannelDataPtr method breaks class encapsulation. Only class
methods are supposed to have access to class private instance variables.

Change-Id: I5dbfb75f0fa409b82a1e7f426b2034d39f7df9ad
Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>

show more ...


# f92261dc 10-Dec-2018 Johnathan Mantey <johnathanx.mantey@intel.com>

Update DBus initialization and use

The DBus instance variable is no longer a passed parameter to instance
methods. Instance methods can access the private DBus variable directly.

Update DBus initialization and use

The DBus instance variable is no longer a passed parameter to instance
methods. Instance methods can access the private DBus variable directly.

Change-Id: Id0c988802e5ad6c2757e7a243ee92331f447ac0d
Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>

show more ...


# 73906b9c 04-Jan-2019 Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>

Use network interface name as channel name

Use network interface name as channel name for the LAN
channels. Mapper related to convert IPMI LAN reference to
network interface is not n

Use network interface name as channel name

Use network interface name as channel name for the LAN
channels. Mapper related to convert IPMI LAN reference to
network interface is not needed anymore, and the same has been
removed.

Unit-test:
verified ipmitool channel info for channel 1 & 2 and made sure
it works fine as expected.

Change-Id: Id87e2924a2a21a846507d6378b1b615000280f06
Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>

show more ...


# 58317120 28-Nov-2018 Vernon Mauery <vernon.mauery@linux.intel.com>

ipmid: channel: add max transfer size property

Each channel can have a different maximum transfer size. This should be
exposed so that it is easier to tell how many bytes it is possible

ipmid: channel: add max transfer size property

Each channel can have a different maximum transfer size. This should be
exposed so that it is easier to tell how many bytes it is possible to
send or receive on a given channel.

Change-Id: Ie277eb7a802edc1deeefe201a7560d371920f519
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>

show more ...


# a39208e0 08-Dec-2018 Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>

Add self channel number conversion function

Support for self channel number conversion added. This will
be used by IPMI commands like GetUserAccess, GetChannelInfo etc.
to query the

Add self channel number conversion function

Support for self channel number conversion added. This will
be used by IPMI commands like GetUserAccess, GetChannelInfo etc.
to query the details for the channel in which the command is
requested. Self channel number 0xE will be converted to proper
channel number by this function

Unit-Test:
Performed that commands received through ipmid channel are marked
as channel 0xF and through netipmid as 0x1, when channel number
0xE is used

Change-Id: I53820558faf4439d9909d52e4e98d71c38e714b4
Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>

show more ...


# 6e1ba9ef 28-Nov-2018 Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>

Doxygen comments for enum & structure

Added doxygen comments for enums & structures for user & channel
layers.

Unit-test:
verified build.

Change-Id: Ie5af8d6cdd4c04

Doxygen comments for enum & structure

Added doxygen comments for enums & structures for user & channel
layers.

Unit-test:
verified build.

Change-Id: Ie5af8d6cdd4c04cb396869b7a3dc44f84efedd19
Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>

show more ...


# a45cb34f 03-Dec-2018 Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>

Update const uint8_t& to const uint8_t

Update const uint8_t& to const uint8_t usage. Passing by reference
for small types are costly than passing it by value and hence the
change is

Update const uint8_t& to const uint8_t

Update const uint8_t& to const uint8_t usage. Passing by reference
for small types are costly than passing it by value and hence the
change is done

Unit-Test
1. Performed build and verified regular user account creation
and RMCP+ login

Change-Id: Ic2dd76795749148f82564677dde2a5db08520454
Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>

show more ...


# 9613ed76 01-Sep-2018 AppaRao Puli <apparao.puli@linux.intel.com>

Synchronize channel info between network and ipmi

Synchronizing the channel privilege config between network
interface(generic) and channel managament(IPMI).
1) During start-up get

Synchronize channel info between network and ipmi

Synchronizing the channel privilege config between network
interface(generic) and channel managament(IPMI).
1) During start-up get the network interface privilege and
update the IPMI data base(NV).
2) Catch the signal for network interface channel privilege
and update the ipmi data base(Volatile and NV data).
3) During ipmi privilege update(NV), send it to network interface
over DBUS.

Unit Test:
Verified the changes by modifying MaxPrivilege in network interfaces
and signal catching logic and vise versa as specified in description.

Change-Id: Iaa7e9e248f1cac6ab560137c8c136abdd44e190e
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>

show more ...


# 071f3f2f 24-May-2018 AppaRao Puli <apparao.puli@intel.com>

IPMI Channel commands implementation

IPMI Channel commands implemenation - squashed

commit e9a75d8dd6e89d17381f0310c7930586c6b79996
Author: AppaRao Puli <apparao.puli@intel.com>

IPMI Channel commands implementation

IPMI Channel commands implemenation - squashed

commit e9a75d8dd6e89d17381f0310c7930586c6b79996
Author: AppaRao Puli <apparao.puli@intel.com>
Date: Thu Jul 5 14:47:22 2018 +0530

Channel layer separation

De-coupling the channel management from ipmi channel commands
implementation. This gives flexibility to load only needed
stuff in different modules(host-ipmi or netipmid)

Change-Id: Ib334562beb9325f7768ed6a15475cae15af17b19
Signed-off-by: AppaRao Puli <apparao.puli@intel.com>
Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>

commit 726ddf2af678ea6773f4b4b918fbd49be8c83e6a
Author: AppaRao Puli <apparao.puli@intel.com>
Date: Thu May 24 16:45:30 2018 +0530

IPMI Channel commands implementation

Following IPMI channel commands are implemented.
1) Set channel access (0x40)
2) Get channel access (0x41)
3) Get channel info (0x42)

Also added code supported for LAN configuration parameters
1) Authentication Type Support (selector #1)
2) Authentication Type Enables (selector #2)

Change-Id: Ic4156378c7756eca383dc3da52114fd119346ca6
Signed-off-by: AppaRao Puli <apparao.puli@intel.com>
Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>

Change-Id: Ic4156378c7756eca383dc3da52114fd119346ca6
Signed-off-by: AppaRao Puli <apparao.puli@intel.com>
Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>

show more ...