summaryrefslogtreecommitdiffstats
path: root/transporthandler.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Return an error when assigning static values to a DHCP enabled NICJohnathan Mantey2020-01-311-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Assigning static IP addresses, subnet masks, and gateway values to a DHCP enabled NIC should be flagged with an error response to indicate the operation was not completed successfully. Tested: Used some raw commands to witness the return code directly -- Enable DHCP for NIC 3 ipmitool lan set 3 ipsrc dhcp -- Assign a static IPv4 Address, expect a failure ipmitool raw 0xc 1 3 3 192 168 20 12 # returns 0xd5 error message -- Assign a static IPv4 Subnet mask, expect a failure ipmitool raw 0xc 1 3 6 255 255 255 0 # returns 0xd5 error message -- Assign a static IPv4 Gateway, expect a failure ipmitool raw 0xc 1 3 12 192 168 20 1 # returns 0xd5 error message -- Enable Static address assignment for NIC 3 ipmitool lan set 3 ipsrc static -- Assign a static IPv4 Address, expect success ipmitool raw 0xc 1 3 3 192 168 20 12 # returns successfully -- Assign a static IPv4 Subnet mask, expect success ipmitool raw 0xc 1 3 6 255 255 255 0 # returns successfully -- Assign a static IPv4 Gateway, expect success ipmitool raw 0xc 1 3 12 192 168 20 1 # returns successfully IPv4 settings have been updated. Change-Id: I807ec45a0c86b33dd46bfeb64724b91d5afad408 Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
* As per 802.1q,valid VLAN ID should be 0-4095Suryakanth Sekar2020-01-141-6/+19
| | | | | | | | | | | | | | | | | | | | | | | Issue: In Set LAN configuration, able to set VLAN ID out its range. Fix: Added proper conditions to validate the request. Tested: //Setting the VLAN with invalid VLAN ID (4096) ipmitool -I lanplus -U root -P 0penBmc -H <ip> raw 0x0c 0x01 0x01 0x14 0x00 0x90 0xCC //Invalid data field in request //Setting the VLAN ID reserved bits with VLAN ID disable ipmitool -I lanplus -U root -P 0penBmc -H <ip> raw 0x0c 0x01 0x01 0x14 0x00 0x70 0xCC //Invalid data field in request //Setting the VLAN ID reserved bits with VLAN ID enabled ipmitool -I lanplus -U root -P 0penBmc -H <ip> raw 0x0c 0x01 0x01 0x14 0x00 0xf0 0xCC //Invalid data field in request Signed-off-by: Rajashekar Gade Reddy <raja.sekhar.reddy.gade@linux.intel.com> Change-Id: I03987cff13845bdfb7156367fedee3d78b957651
* Fix cc issue in setLan cmd for MAC addr parametr.Rajashekar Gade Reddy2020-01-071-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue: set lan command for MAC address parameter returns invalid completion code for invalid MAC address. Fix: added proper conditional check. Tested: Note: While setting the mac addr using "ipmitool lan set 1 macaddr <mac_addr>" internaly tool valiadtes the completion code and shows generic error. Previouly the completion code is 0XFF(unspecified error) and now it returns 0xCC(Invalid data field in request). // setting mac addr to 00:00:00:00:00:00(invalid) ipmitool lan set 1 macaddr "00:00:00:00:00:00" Setting LAN MAC Address to 00:00:00:00:00:00 LAN Parameter Data does not match! Write may have failed. // setting mac addr to FF:FF:FF:FF:FF:FF(invalid) ipmitool lan set 1 macaddr "FF:FF:FF:FF:FF:FF" Setting LAN MAC Address to ff:ff:ff:ff:ff:ff LAN Parameter Data does not match! Write may have failed. // setting mac addr to "2a:6c:72:42:f3:a4"(valid) ipmitool lan set 1 macaddr "2a:6c:72:42:f3:a4" Setting LAN MAC Address to 2a:6c:72:42:f3:a4 Signed-off-by: Rajashekar Gade Reddy <raja.sekhar.reddy.gade@linux.intel.com> Change-Id: I4de54e68a7bb5ff2c64f515e40d06c59535825e5
* Emit correct error code when "reserved" fields are modified.Johnathan Mantey2019-12-121-0/+12
| | | | | | | | | | | | | | | | | | | The Set LAN Configuration IP Source command has reserved bits. Check to make sure none of the bits are set. Return a 0xcc code when any of them are. Tested: for val in $(seq 64 16 240) do ipmitool raw 0xc 1 3 4 $val done Each iteration returned a 0xcc code. Used the "raw" style, as the "lan set" commands will not use the invalid values. Change-Id: I77f007453a3bede7424b0ccad9c5cb9bad9e8fe0 Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
* transporthandler: Static IPv6 SupportWilliam A. Kennington III2019-12-031-0/+400
| | | | | | | | | | This change adds basic IPv6 support, with a focus on being able to configure static addresses and routers. The support for dynamic configuration is unfortunately tied to IPv4 at the dbus network interface level, so we can't decouple those settings here. Change-Id: I72842a374c40a1537437a597020ea898961d67d7 Signed-off-by: William A. Kennington III <wak@google.com>
* Change Set LAN Config Auth Type Enables to return a Read Only responseJohnathan Mantey2019-11-271-1/+1
| | | | | | | | | | | | | The Set LAN Configuration Auth Type Enables is not supported by OpenBMC because RMCP is deprecated. The Get command always returns zeros. The Set command cannot change the BMC state. As such this is considered a ReadOnly register set. Tested: ipmitool raw 0xc 1 1 2 0 0 0 0 0 # returns 0x82 error code Change-Id: I5cdc45270d0095538449c8d8b358fd3c31906599 Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
* Generate the correct prefix value for IPv4 netmasks 0.0.0.0Johnathan Mantey2019-11-271-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the netmask is assigned the value 0.0.0.0 the prefix is 0, not 33. The algorithm generated an incorrect prefix value when the netmask was set to 0.0.0.0. Tested: ipmitool lan set 3 ipsrc static ipmitool lan set 3 ipaddr 192.168.20.12 Setting LAN IP Address to 192.168.20.12 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 52:3b:aa:7b:0d:d5 brd ff:ff:ff:ff:ff:ff inet 192.168.20.12/32 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::503b:aaff:fe7b:dd5/64 scope link valid_lft forever preferred_lft forever ipmitool lan set 3 netmask 0.0.0.0 Setting LAN Subnet Mask to 0.0.0.0 LAN Parameter Data does not match! Write may have failed. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 52:3b:aa:7b:0d:d5 brd ff:ff:ff:ff:ff:ff inet 169.254.51.116/16 brd 169.254.255.255 scope link eth0 valid_lft forever preferred_lft forever inet6 fe80::503b:aaff:fe7b:dd5/64 scope link valid_lft forever preferred_lft forever ipmitool lan set 3 ipaddr 192.168.20.12 Setting LAN IP Address to 192.168.20.12 ipmitool raw 0xc 1 3 6 0 0 0 0 Unable to send RAW command (channel=0x0 netfn=0xc lun=0x0 cmd=0x1 rsp=0xff): Unspecified error 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 52:3b:aa:7b:0d:d5 brd ff:ff:ff:ff:ff:ff inet 169.254.51.116/16 brd 169.254.255.255 scope link eth0 valid_lft forever preferred_lft forever inet6 fe80::503b:aaff:fe7b:dd5/64 scope link valid_lft forever preferred_lft forever Change-Id: I94cc02971bf21dabf1f1e22ad078d879393133b8 Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
* Fix command privilege for Get LAN Configuration commandJohnathan Mantey2019-11-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Get LAN Configuration command, per the IPMI 2.0 spec, has Operator privilege, not administrator privilege. This is per Table G, Command Number and Privilege Levels. Tested: ipmitool -I lanplus -H obmcjgmwfp -U root -P <pw> lan print Set in Progress : Set Complete Auth Type Support : Auth Type Enable : Callback : : User : : Operator : : Admin : : OEM : IP Address Source : DHCP Address IP Address : 10.243.48.108 Subnet Mask : 255.255.254.0 MAC Address : de:a4:84:d7:2c:28 Default Gateway IP : 10.243.48.1 Default Gateway MAC : 00:00:00:00:00:00 802.1q VLAN ID : Disabled RMCP+ Cipher Suites : 3,17 Cipher Suite Priv Max : Not Available Bad Password Threshold : Not Available ipmitool -I lanplus -H obmcjgmwfp -U operator1 -P <pw> -L operator lan print Set in Progress : Set Complete Auth Type Support : Auth Type Enable : Callback : : User : : Operator : : Admin : : OEM : IP Address Source : DHCP Address IP Address : 10.243.48.108 Subnet Mask : 255.255.254.0 MAC Address : de:a4:84:d7:2c:28 Default Gateway IP : 10.243.48.1 Default Gateway MAC : 00:00:00:00:00:00 802.1q VLAN ID : Disabled RMCP+ Cipher Suites : 3,17 Cipher Suite Priv Max : Not Available Bad Password Threshold : Not Available ipmitool -I lanplus -H obmcjgmwfp -U operator1 -P <pw> lan print Set Session Privilege Level to ADMINISTRATOR failed: Unknown (0x81) Error: Unable to establish IPMI v2 / RMCP+ session Change-Id: I4928c34b68e8f28d2356ff49890daa536bd39b5f Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
* Create framework for IPMI OEM extension commandsJohnathan Mantey2019-10-241-0/+67
| | | | | | | | | | | | | | | IPMI has four commands that accept "OEM Parameters". The existing IPMI command handlers do not account for these OEM extensions. This commit adds OEM Parameters support for the Set/Get LAN Configuration Parameters commands. Tested: ipmitool raw 0xc 1 3 0xc0 0 ;; received 0x80 return code ipmitool raw 0xc 2 3 0 0 ;; received 0x80 return code Change-Id: I81135b6d3269cec98ffd7754a03201a74c436c11 Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
* transporthandler: Support Gateway MACWilliam A. Kennington III2019-10-241-15/+182
| | | | | | | | | Adds support for setting the MAC address of the gateway. Most of the interesting code in this change is around saving / restoring the gateway MAC address when the gateway or interface change. Change-Id: I85b7c665c44af4f030f51456be355f3eb11ab2fc Signed-off-by: William A. Kennington III <wak@google.com>
* Restore IPMI RMCP+ cipher suite commandsJohnathan Mantey2019-10-171-6/+71
| | | | | | | | | | | | | | The work done to migrate this file from the old IPMI calling structure to the new calling structure removed the RMCP+ cipher suite commands. The prior commit was approved on the condition these commands be restored. Tested: ipmitool raw 0xc 2 1 22 0 0 ; returns correct cipher count ipmitool raw 0xc 2 1 23 0 0 ; returns the active cipher ID's Change-Id: Ie0ac0fb066f53772174e7e61d2c81ae876b6c2e3 Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
* transporthandler: Rewrite + New HandlerWilliam A. Kennington III2019-09-271-834/+992
| | | | | | | | | | | | | | | | | | 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>
* Added VLAN ID checking condition in Set LAN configSuryakanth Sekar2019-08-281-1/+12
| | | | | | | | | | According to the VLAN 802.1VLAN spec, VLAN ID should be 1-4095 Unit test: Verified VLAN ID 1-4095 is allowed and CC returns for 0 & > 4095 Signed-off-by: Suryakanth Sekar <suryakanth.sekar@linux.intel.com> Change-Id: I54bbc94c814c98dda11f8241fa31bfe0e5bbb150
* Set/Get LAN conf 0xCC return for invalid LAN chnlSuryakanth Sekar2019-08-271-1/+13
| | | | | | | | | | | | | | | | | | | | | In set /get LAN configuration Channel number should be validate before process the request and we have to handle only LAN medium Channel. Tested: In Get/ Set LAN configuraion,0xCC should be return for non LAN channel numbers. Trying to set the IP Source to the Invalid /Valid LAN channel ipmitool raw 0xc 0x1 <Invalid LAN channel> 0x4 2 Response : 0xCC ipmitool raw 0xc 0x1 <valid LAN channel number> 4 2 Response : 0x00 Signed-off-by: Suryakanth Sekar <suryakanth.sekar@linux.intel.com> Change-Id: I6d173f1ddaf22a5ee221b15dd3a4c7b2793ab0b5
* move variant to std namespaceVernon Mauery2019-04-181-15/+13
| | | | | | | | | | | sdbusplus::message::variant_ns has been std for a while now. This moves ipmid away from sdbusplus::message::variant_ns to directly use std::variant. Tested-by: built, compiles, and runs the same as before. Change-Id: I8caa945f31c926c2721319f001b9d7f83fd3f1b7 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
* Only include ipmid/api.hpp for the new APIVernon Mauery2019-04-081-1/+1
| | | | | | | | | | | | | | After some feedback from users of the new IPMI API, they wanted to see two things: 1) don't require ipmid/api.hpp and ipmid/registration.hpp to be able to write new handlers 2) only require including ipmid/api.hpp (instead of ipmid/api.h) So now, by simply including ipmid/api.hpp instead of ipmid/api.h (deprecated), handlers incorporating the new IPMI API can be written. Change-Id: I446dcce70cff03d4ecc28c658292d052485f77fc Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
* Catch sdbusplus exceptions in IPMI netVernon Mauery2019-04-041-1/+1
| | | | | | | | | Missing the correct exception was causing issues with setting the IPV4 address Change-Id: Ieaaacfcbaec82a0c3b110889817a7ceb9cda8d3c Signed-off-by: Dave Cobbley <david.j.cobbley@linux.intel.com> Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
* remove legacy ipmid.cpp and ipmid.hppVernon Mauery2019-04-011-1/+0
| | | | | | | These two files have now been replaced with newer APIs and can be removed. Change-Id: If60227b24188c6796211ca43379169f9a95c9cb3 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
* Fix: Set Lan Configuration parameterRichard Marian Thomaiyar2019-04-011-15/+31
| | | | | | | | | | | | | | Allow individual parameter changes to take effect based on timer. i.e. setting any one LAN parameter change will take effect even without Set In Progress parameter update Verification: Verified lan settings change to static alone using ipmitool lan and manually issued parameter update without SET_IN_PROGRESS change. Change-Id: I2a9f8e8ef94ecb23da8bac38a6b49249544e8975 Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
* Remove experimental filesystem spliceVernon Mauery2019-03-281-13/+1
| | | | | | | | | | In order to be compatible with older versions of GCC that did not have the experimental filesystem moved over to the standard paths, the code would splice the experimental code into the std namespace. This is no longer necessary with yocto 2.6 and the latest versions of GCC. Change-Id: I2db13c52a91456318795819f2d45c3386b4c56d2 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>
* make ipmid respond to SIGTERM and SIGINT for clean shutdownVernon Mauery2019-03-201-1/+2
| | | | | | | | | | | | | | | On some systems ipmid was not responding to SIGTERM so systemd could not shut it down in a clean manner, resorting to SIGKILL after a long timeout. This adds code to respond to SIGTERM and SIGINT and safely unwind all the provider libraries on exit. Tested-by: running ipmid; in another shell, and running 'killall -15 ipmid' or 'killall -2 ipmid' to send SIGTERM or SIGINT and watch that ipmid shuts down in a controlled and timely manner. Change-Id: I690846796523bebea1a08845c0d17e1df2a94fee Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
* Create libipmid and libipmid-hostWilliam A. Kennington III2019-02-071-1/+1
| | | | | | | | | | | | | | | | | | | This starts a transition to common ipmid libraries that providers can link against. It will allow for a cleaner separation between common ipmid functionality and daemon type specific code. This is needed so we can resolve all of the symbols in the providers at link time instead of discovering bad linkage by building and running a full ipmi daemon. In future commits libraries will be packaged for libipmid and libipmid-host which provide all of the symbols used by the current set of ipmid providers. This is the first step, it just separates and renames the headers. Legacy symlinks are still kept around for compatability. It also adds stub libraries so that external users can start linking as intended. Change-Id: I6bbd7a146362012d26812a7b039d1c4075862cbd Signed-off-by: William A. Kennington III <wak@google.com>
* Acquire the NIC netmaskJohnathan Mantey2019-02-051-3/+3
| | | | | | | The netmask value was not being pulled from the correct DBus path. Change-Id: I4b163d5269737f7a9556d7b5ceafa25a5034d327 Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
* IPMI channel to NIC device mapping modified within JSON config fileJohnathan Mantey2019-02-041-5/+5
| | | | | | | | | | | 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>
* transporthandler: LanParam enum -> enum classWilliam A. Kennington III2018-11-261-28/+29
| | | | | | | | | | | We should be using enum classes instead of enums to avoid poluting the global scope. Tested: Built and run through unit tests. Change-Id: Iec72f04b5cbf91814d0055c670bcc509eb30a821 Signed-off-by: William A. Kennington III <wak@google.com>
* transporthandler: Use switch when applicableWilliam A. Kennington III2018-11-261-77/+90
| | | | | | | | Tested: Build and run through unit tests. Change-Id: Id86f7f368f1c1e78b7f764d53231e8d0d51ad02f Signed-off-by: William A. Kennington III <wak@google.com>
* Convert variant usage to std interfaceWilliam A. Kennington III2018-10-181-17/+21
| | | | | | | | | | | | | This is just a refactoring to use the c++17 std::variant interfaces instead of the mapbox::variant specific ones. We should be able to use mapbox::variant and std::variant interchangeably now. Tested: Built against sdbusplus with mapbox::variant and sbusplus using std::variant. Both variant compile and test out. Change-Id: I6fbaad3d12dd34968db6a10f3d74a65e07d0f0cc Signed-off-by: William A. Kennington III <wak@google.com>
* Use the common timer classVernon Mauery2018-10-181-5/+4
| | | | | | | | | The common timer class from sdbusplus offers all the timer goodness that we currently use. The unit test is also no longer needed (and has been added to sdbusplus's version of the timer.hpp implementation). Change-Id: I278817489433a29ca739f70fdacd8bb897797d66 Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
* add std namespace prefix to common methodsPatrick Venture2018-09-251-31/+32
| | | | | | | | Standard clib methods should be explicitly grabbed from the standard namespace. Change-Id: I8bcfcb260a99180d535ec8102c1a24c318cbc209 Signed-off-by: Patrick Venture <venture@google.com>
* move filesystem inclusion to bottom of listPatrick Venture2018-09-251-19/+17
| | | | | Change-Id: I4aa3c984992236bb5b4a5c62c3d42a33c12d55de Signed-off-by: Patrick Venture <venture@google.com>
* replaced c headers with cpp where applicablePatrick Venture2018-09-251-4/+3
| | | | | Change-Id: I23a70eb540ccde5d2aba467426769feffb07b516 Signed-off-by: Patrick Venture <venture@google.com>
* rename headers to match stylePatrick Venture2018-09-251-2/+2
| | | | | | | | | | | | | | | | | | Moving headers from ".h" to ".hpp" Reworked the header inclusion a bit so that host-ipmid is treated as a library, and local headers aren't. renamed apphandler.h => apphandler.hpp renamed chassishandler.h => chassishandler.hpp renamed globalhandler.h => globalhandler.hpp renamed sensorhandler.h => sensorhandler.hpp renamed storageaddsel.h => storageaddsel.hpp renamed storagehandler.h => storagehandler.hpp renamed systemintfcmds.h => systemintfcmds.hpp Change-Id: I9d4ce3dd57e2e996800f9020a10cc10cdf2c3914 Signed-off-by: Patrick Venture <venture@google.com>
* add .clang-formatPatrick Venture2018-09-071-271/+193
| | | | | Change-Id: I7c2a527b4751a560703a61fcbe9638b150546af5 Signed-off-by: Patrick Venture <venture@google.com>
* Standardize use of filesystemVernon Mauery2018-08-081-1/+11
| | | | | | | | | If <filesystem> exists, use that, if it doesn't, try <experimental/filesystem>. Either way, access it from std via a namespace splice. Change-Id: I5b35ee9f74b88e188cb3ca3fed9abaec64933697 Signed-off-by: Vernon Mauery <vernon.mauery@intel.com>
* Use s.c_str() in log messagesJoseph Reynolds2018-05-311-1/+1
| | | | | | | | | | Fixes issues with data passed to phosphor::logging::log(entry()). This is part of a series of commits that resolves openbmc 2905. Tested: static_assert only Change-Id: I9fac771f54e4acbec97ce1360c106b6e3eb4fe9d Signed-off-by: Joseph Reynolds <jrey@us.ibm.com>
* Grammar and spelling fixesGunnar Mills2018-04-181-8/+8
| | | | | | | | | | Spelling errors found using github.com/lucasdemarchi/codespell A tool to fix common misspellings. This tool is licensed under GNU General Public License, version 2. Some additional grammar and capitalization errors were fixed as well. Change-Id: I700db4e6d7ba52b02374c9c3e84be0af8bd91859 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
* Implement RMCP+ cipher parameters in Get LAN Config parametersTom Joseph2018-04-181-0/+72
| | | | | Change-Id: Ic78965be94b1ba31149a05a29c1a768f06b492e4 Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
* Reducing IPMI logging footprintAditya Saripalli2018-04-181-4/+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>
* SetLan: Fix the IP address if partial data givenRatan Gupta2018-03-201-1/+1
| | | | | | | | | | | | Presently when partial lan data is given the code was not getting the correct IP object,it was getting the linklocal address. This defect was introduced due to this commit c7c1c3c. This commit fixes this problem. Change-Id: I8f6d915cd3e1757ba28394cd93f16396e087d4f7 Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* SetLan: Apply the network changes once the timer expiresRatan Gupta2018-03-201-35/+52
| | | | | | | | | | | | Start the timer once the set in progress parameter set to set complete as part of Set LAN Configuration Parameters command. Resolves openbmc/openbmc#2932 Resolves openbmc/openbmc#2993 Change-Id: Ie6f3b331531da23c74fa44bb52fa1ddccffabd13 Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* SetLan: Move the setChannel access functionRatan Gupta2018-03-201-0/+325
| | | | | | | | | | | | | | | 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>
* multiple channel configuration supportPatrick Venture2017-12-121-48/+82
| | | | | | | | | | | | | | 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-6/+15
| | | | | | | | | | | | | | | 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>
* transporthandler: lan_set_in_progress to per channelPatrick Venture2017-11-221-23/+15
| | | | | | | | | The IPMI specification indicates that this value is per channel, therefore goes in the channelconfig object. Change-Id: Iab5861651518ac80d797faa9d9f092933cc1886e Signed-off-by: Patrick Venture <venture@google.com>
* transporthandler: minor cleanup unused variablesPatrick Venture2017-11-141-6/+0
| | | | | | | | | Simple cleanup to remove obj, ifc, and nwinterface varibles likely holdovers from before the refactor to using util methods. Change-Id: Icf55cdcbe8cb75a08d1d32df4f23112b142bf55b Signed-off-by: Patrick Venture <venture@google.com>
* Don't set/get zeroconfig address if other IP address is presentNagaraju Goruganti2017-10-111-12/+4
| | | | | | | Resolves openbmc/openbmc#2265 Change-Id: I65b54358f13231c78b3c6488a59b94bc9323484c Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>
* GetLan: Support for get/set of ipsrc parameterRatan Gupta2017-09-081-59/+195
| | | | | Change-Id: Id9c52bb0963c5924f80f9e273b53ed5556b16a2c Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* Add support for vlan(set lan command)Ratan Gupta2017-08-131-3/+58
| | | | | | | Resolves openbmc/openbmc#1899 Change-Id: I3c436045676bc96e5d91fd9420509bc991549a13 Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
* Move LAN handling commands to the new xyz interfacesRatan Gupta2017-08-131-248/+276
| | | | | Change-Id: I4631c79c171883e5f0d531cfb5957a09496e4b3a Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
OpenPOWER on IntegriCloud