summaryrefslogtreecommitdiffstats
path: root/app/channel.cpp
Commit message (Collapse)AuthorAgeFilesLines
* channel:Fix get channel ciphersuite - payloadtypesjayaprakash Mutyala2019-10-241-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Issue: Get channel CipherSuite command passed with invalid payload type Fix: Added the check now to allow only valid payload types Tested: Command: ipmitool raw 0x06 0x54 0x01 0xff 0x80 Response: Unable to send RAW command (channel=0x0 netfn=0x6 lun=0x0 cmd=0x54 rsp=0x80): Unknown (0x80) Command: ipmitool raw 0x06 0x54 0x01 0x12 0x80 Response: 01 c0 03 01 41 81 c0 11 03 44 81 Command: ipmitool raw 0x06 0x54 0x01 0x09 0x80 Response: Unable to send RAW command (channel=0x0 netfn=0x6 lun=0x0 cmd=0x54 rsp=0x80): Unknown (0x80) Command: ipmitool raw 0x06 0x54 0x01 0x02 0x00 Response: Unable to send RAW command (channel=0x0 netfn=0x6 lun=0x0 cmd=0x54 rsp=0x80): Unknown (0x80) Command: ipmitool raw 0x06 0x54 0x01 0x12 0x00 Response: 01 01 03 41 44 81 Signed-off-by: jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> Change-Id: I552250736d7e898191ddbb45fd1bff42681b9c63
* transporthandler: Rewrite + New HandlerWilliam A. Kennington III2019-09-271-1/+0
| | | | | | | | | | | | | | | | | | This rewrites the old transport handler to use the new ipmi handler registration functions. It attempts to clean up the old code, by refactoring any business logic out of the code that parses the IPMI messages. This makes the code paths easier to understand and allows for better code re-use. This also gets rid of the concept of the settings change timer. Clients expect to see their settings take effect as soon as they are set, regardless of the "Set In Progress" flag. This means we no longer need a cache for our network settings that are about to be set by the daemon, and a client can hold the BMC in "Set In Progress" while it verifies settings like other BMC implementations. Change-Id: I5406a674f087600afdfc2c0b3adeacde10986abc Signed-off-by: William A. Kennington III <wak@google.com>
* Fix: execute get channel cipher suite in lan chanAyushi Smriti2019-09-251-0/+9
| | | | | | | | | | | | | | | | | | Get channel cipher suites command was executed for non lan channels. Fixing the same by adding active lan channel support check. Tested: ipmitool raw 0x06 0x54 0x01 0x00 0x80 01 c0 03 01 41 81 c0 11 03 44 81 //cmd executed for lan chan 1 ipmitool raw 0x06 0x54 0x00 0x00 0x80 Unable to send RAW command (channel=0x0 netfn=0x6 lun=0x0 cmd=0x54 rsp=0xcc): Invalid data field in request //cc resulted for non lan chan 0 Signed-off-by: Ayushi Smriti <smriti.ayushi@linux.intel.com> Change-Id: Ic3c2dfa3f4537be789e2afc912fa8f4c2a49bda4
* Fix: refactor get channel cipher suite commandAyushi Smriti2019-09-251-36/+35
| | | | | | | | | | | | | | | Get channel cipher suites command updated as per new ipmi structure. Tested: ipmitool raw 0x06 0x54 0x01 0x00 0x80 01 c0 03 01 41 81 c0 11 03 44 81 //response Also verified by issuing cmd: ipmitool channel getciphers ipmi 0x01 which listed supported CIA algorithms as response Signed-off-by: Ayushi Smriti <smriti.ayushi@linux.intel.com> Change-Id: Ibc942f5b197c72071cd35a138fbe244db7519824
* Remove old channel commandsVernon Mauery2019-04-011-171/+0
| | | | | | | | | New channel commands have been implemented in user_channel/channelcommands.cpp This removes the old, unused command implementation Change-Id: I054ea053d25865e0d4203f2ae294778d31817637 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
* move types.hpp to ipmid/types.hpp for exportVernon Mauery2019-03-251-1/+1
| | | | | | | | | | types.hpp is required by utility.hpp, which is exported, so it needs to be exported as well. This moves it to the include/libipmid directory, changes the Makefile to export it, and changes all the files that include it so it can be found in the right place. Change-Id: I30ec365446e4de466c266ec4faa327478460ec05 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
* Move util.cpp/util.hpp to libipmidVernon Mauery2019-03-251-1/+1
| | | | | | | | | | | | | | | | These are functions that are used widely by ipmid providers, so it makes sense to put them in libipmi.so (the library that all providers must link against). Tested-by: use nm to inspect the binaries to see that the symbols are in the expected library. arm-openbmc-linux-gnueabi-nm libipmid.so.0.0.0 \ | grep getDbusObject 0001063c T _ZN4ipmi13getDbusObjectERN9sdbusplus.... Change-Id: I1221f807f2711c5301c5574623564ea1ae48a437 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
* IPMI channel to NIC device mapping modified within JSON config fileJohnathan Mantey2019-02-041-4/+4
| | | | | | | | | | | 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>
* Fix: Get Channel Cipher suite to list algoRichard Marian Thomaiyar2019-01-291-28/+43
| | | | | | | | | | | | | | | Implemented Get channel cipher suite command to list the supported algorithms. Previously this command supported only list by cipher suite. Unit test: Verified that algorithms are listed for both byte3 bit7 set / un-set ipmitool raw 0x6 0x54 0x1 0x0 0x80 ipmitool raw 0x6 0x54 0x1 0x0 0x00 both listed alogrithms as expected Change-Id: I7b0ac74293cce869f5bcaa3c5ec226e1d237ccdf Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
* app/channel: fixup c-style castingPatrick Venture2018-10-311-1/+1
| | | | | | | Fix up c-style casting in app/channel.cpp:102 Change-Id: Ie6da0ff238856e01305127395d48ec161a30c4a1 Signed-off-by: Patrick Venture <venture@google.com>
* cleanup: scope reductionPatrick Venture2018-10-311-9/+10
| | | | | | | | | | | | | | [app/channel.cpp:102]: (style) The scope of the variable 'resp' can be reduced. [ipmisensor.cpp:310]: (style) The scope of the variable 'i' can be reduced. [ipmid.cpp:506]: (style) The scope of the variable 'num_handlers' can be reduced. [read_fru_data.cpp:82]: (style) The scope of the variable 'fruId' can be reduced. [sensorhandler.cpp:256]: (style) The scope of the variable 'p' can be reduced. [storageaddsel.cpp:68]: (style) The scope of the variable 'p' can be reduced. Also delete two extra vertical lines. Change-Id: I8e72f8e1d94381f456674abf523d2f2fbdd8046d Signed-off-by: Patrick Venture <venture@google.com>
* Implement Set Channel access commandTom Joseph2018-09-251-0/+124
| | | | | | | | The only option supported is the access mode for disabling or enabling the network IPMI. Change-Id: I2e6b20c317fec19e1e71b3adfc211e6fb847f737 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* add .clang-formatPatrick Venture2018-09-071-44/+49
| | | | | Change-Id: I7c2a527b4751a560703a61fcbe9638b150546af5 Signed-off-by: Patrick Venture <venture@google.com>
* Reducing IPMI logging footprintAditya Saripalli2018-04-181-2/+0
| | | | | | | | | | | | -host-ipmid is very noisy in terms of journal logging. A small step towards cleaning that up. -Also converted printfs to phosphor-logging. Partially Resolves openbmc/openbmc#2507 Change-Id: I749c19c18d1cabf6f0216830c8cb0a08ee43d6de Signed-off-by: Aditya Saripalli <aditya0124@gmail.com> Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>
* Implement Get Channel Cipher Suites commandTom Joseph2018-04-161-0/+139
| | | | | Change-Id: I8c808ce7e2bbd3ae5e225573138d7e04871f1643 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* SetLan: Move the setChannel access functionRatan Gupta2018-03-201-324/+0
| | | | | | | | | | | | | | | Move the function from app/channel.cpp to the transporthandler.cpp setChannel access is disabled now as the functionality to apply the network changes would be done through timer based approach. In later commit we would create this function as callback when the network timer expires. Change-Id: Ic128a47237b2ecdbc56267227105909f8886a862 Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* LANConf: Minor FixesRatan Gupta2018-01-171-12/+9
| | | | | | | | | | | 1) Get the interface mode of the system if it is not given so that we can set the same interface mode as it was before. 2) Removed the unnecessary condition of getting the VLAN. Resolves openbmc/openbmc#2738 Change-Id: I1658fbf78627e7cc1c7e1e5875964ed30c58d6dc Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* multiple channel configuration supportPatrick Venture2017-12-121-54/+75
| | | | | | | | | | | | | | Previously, the ipmi daemon only supported eth0 and hard-coded it to channel 1. This allows one to map via a configuration. The channel number provided is checked against a configuration to retrieve the ethernet device identifier, e.g. eth0. Tested: Ran on a quanta-q71l and was able to properly set MAC, IP, Netmask, Gateway IP, and then verified the data was set for the eth1 via `ip addr show eth1`. Change-Id: I92f63188297304e9454fd0d6fe32bc6cf84bb181 Signed-off-by: Patrick Venture <venture@google.com>
* Fix the getLan configRatan Gupta2017-11-281-9/+7
| | | | | | | | | | | | | | | We did the filtering during IPAddress parameter to avoid link local address but left it for subnetMask and vlan parameter. With the introduction of zeroconfig IP we have multiIPaddress can exist on the interface. This commit introduces the filtering for subnetmask and vlan parameter also. Resolves openbmc/openbmc#2664 Change-Id: I244bfe8b9d7efbf55fc1b7051489a8a204182906 Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* apphandler: channel: split out commandsPatrick Venture2017-10-261-0/+428
I split out the channel commands into their own subordinate file from the apphandler.cpp. There are three commands in apphandler for the channel information. There are other commands in the transporthandler that correlate. Moving this is step one in a larger task to enable multiple channels. Change-Id: I2e434a1da942325fc420079415edb39622f4e346 Signed-off-by: Patrick Venture <venture@google.com>
OpenPOWER on IntegriCloud