79 Commits

Author SHA1 Message Date
Alexander Amelkin
29e7d26edb
general: Add array_byteswap() to helper
Make unconditional array byte swapping publicly available

Signed-off-by: Alexander Amelkin <alexander@amelkin.msk.ru>
2018-08-01 15:57:37 +03:00
Alexander Amelkin
7747d86cc4
lanplus: Make byteswapping generic
Get rid of lanplus-specific yet very generic in nature
lanplus_swap() function that unconditionally swaps bytes
in an arbitrary byte array. Move it to helper module and
add two conditionally working interfaces to it:

 - array_ntoh() for network (BE) to host conversion, and
 - array_letoh() for ipmi (LE) to host conversion.

The added functions will only perform byte swapping if
the target architecture differs in endianness from the
data source. array_ntoh() will only do swap on LE machines,
while array_letoh() will only do it on BE ones.

These functions are introduced for future use in other
places of ipmitool.

Partially resolves ipmitool/ipmitool#26

Signed-off-by: Alexander Amelkin <alexander@amelkin.msk.ru>
2018-08-01 11:33:44 +03:00
Alexander Amelkin
5491b12596
refix 249e0929: Fix byteswapping helpers
Commit 249e0929 added extra conditionals in byteswapping functions.
They are not needed and didn't work properly.
Now those functions must finally be ok.

Signed-off-by: Alexander Amelkin <alexander@amelkin.msk.ru>
2018-08-01 10:45:22 +03:00
qctbmc
5c033c06ab oem: Add basic support for Quanta 2018-07-28 19:15:10 +03:00
Alexander Amelkin
72b4b25b05
intf: Refactoring. Remove unused sendrsp()
The sendrsp() callback is never ever called from anywhere.
Remove it from interface structure.
2018-07-27 17:22:31 +03:00
Alexander Amelkin
329ebdff84
mc: Fix manufacturer ID masking
A potential future problem has been identified in the manufacturer
ID processing code for `mc info` command. Only 16 of 24 bits were
used. This is fixed now.

Also added support for ID 0x0FFFFF, the 'reserved' value as per
IPMI specification. It is now reported as 'Unspecified' unlike other
non-listed IDs that are still reported as 'Unknown'.

ID 0xFFFFFE is used for debugging purposes in hope that IANA won't
reach that number of entities any soon. If it will though, then
IANA's assignment will take precedence.

Signed-off-by: Alexander Amelkin <alexander@amelkin.msk.ru>
2018-07-26 19:54:57 +03:00
Alexander Amelkin
249e092967
general: Make byteswapping arch-independent
ipmiXXtoh() and htoipmiXX() functions were broken
and only worked properly for big-endian hosts.

This commit makes them endianness-independent.

Signed-off-by: Alexander Amelkin <alexander@amelkin.msk.ru>
2018-07-20 19:43:56 +03:00
Nagaraju Goruganti
861ffb4680 Add an option to display all dates in UTC
Added an option -Z to display all dates in UTC.

Resolves ipmitool/ipmitool#19
Change-Id: Iac3a61190eefde12d95c892af26072ec01f60474
Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>

Signed-off-by: Nagaraju Goruganti <ngorugan@in.ibm.com>
2018-07-19 19:13:42 +03:00
Alexander Amelkin
0310208383
mc: Code refactor to reduce copy-paste ratio
* Replace with a macro all calls to val2str() for completion codes
* Replace with a macro all calls to val2str() for manufacturer name
* Replace with a macro all calls to val2str() for product name
* Add ipmi24toh() and ipmi32toh() helpers, unify ipmi*toh() interface

Signed-off-by: Alexander Amelkin <alexander@amelkin.msk.ru>
2018-06-17 13:38:07 +03:00
Alexander Amelkin
e8e94d8976
mc: watchdog set: Refactor to reduce complexity
Move option parsing for `mc wathdog set` to a separate
function, add a function for host to ipmi integer
conversion (reduce manual byte juggling).
2018-06-17 12:38:05 +03:00
Alexander Amelkin
6c00d448d5
mc: watchdog get: Update to match IPMI 2.0 spec
* Add output of "don't log" and "pre-timeout interrupt" fields
* Display timers with 100ms precision
* List timer use expiration flags as text, not just numerically

Signed-off-by: Alexander Amelkin <alexander@amelkin.msk.ru>
2018-06-17 02:01:19 +03:00
Alexander Amelkin
2a78ff2482
mc: watchdog: Add set command
Add `ipmitool mc watchdog set` command in full compliance
with IPMI spec 2.0 section 27.6. Setting of all fields
is fully supported.

Signed-off-by: Alexander Amelkin <alexander@amelkin.msk.ru>
2018-06-17 01:36:46 +03:00
Alexander Amelkin
432f06db3f
Replace user_id masks with a macro (#8)
In multiple places throughout ipmi_user.c a user id mask
was used as a magic number, in some places the mask was wrong.
This commit replaces all those magic numbers with a single
IPMI_UID() macro.

Resolves ipmitool/ipmitool#6
2018-05-30 18:57:20 +03:00
Alexander Amelkin
60723084e6
vendor: Add YADRO VESNIN identification
Signed-off-by: Alexander Amelkin <alexander@amelkin.msk.ru>
2018-03-30 12:45:03 +03:00
Alexander Amelkin
840f573083 ID:478 - ekanalyzer: Fixed decoding of FRU fields
Got rid of the field decoding code that was only capable of
processing ASCII and binary fields, and switched to using
get_fru_area_str() that can also decode BCDplus and 6-bit ASCII
and maybe will eventually be enabled to decode Unicode text
as well.

This is the first step to completely get rid of the completely
awfully written FRU data decoding functionality of ekanalyzer
that essentially duplicates that of ipmi_fru.c module.
2017-02-02 16:02:57 +03:00
Bjoern Spruck
0ea110a247 fix typo 2016-11-02 10:32:36 +01:00
Zdenek Styblik
076ffb5650 Merge /u/spruckb/ipmitool/ branch master into master
https://sourceforge.net/p/ipmitool/source/merge-requests/12/
2016-10-08 08:28:15 +00:00
kcl@supermicro.com.tw
1487681b8c ID:465 - Supermicro memory ecc Modify the memory ecc error display of SEL for new supermicro boards. 2016-10-06 06:14:42 +02:00
Bjoern Spruck
3f7e82a6b4 added microTCA major version
Signed-off-by: Bjoern Spruck <bspruck@uni-mainz.de>
2016-09-01 11:27:10 +02:00
Bjoern Spruck
c6cd49ea37 fix typo
Signed-off-by: Bjoern Spruck <bspruck@uni-mainz.de>
2016-09-01 11:26:44 +02:00
Zdenek Styblik
cc9a6b3964 ID:457 - Display User ID enable/disable status
Commit implements `Enable status` which shows/is in alignment with (22.27) Get
User Access Command and displays User ID Enable/Disable status of given User ID
at given channel.
2016-08-21 12:17:10 +02:00
Dan Gora
ea471ed5fa ID:454 - Add support for PICMG 3.1 R2.0 Link Types and Link Classes.
PICMG 3.1 R2.0 introduces new a new Link Class field in the FRU
Link Descriptors which is the upper 4 bits of the Link Type field.
This new Link Class field specifies SERDES lanes with 10.3125Gbd
signalling rate.

It also introduces the new Base-KX and Base-KX4 types which are the
new IEEE replacements for the PICMG 3.0 Base-BX and Base-BX4 types.

This patch decodes these new types and fields and will print out
proper descriptions for each one based on PICMG 3.1 R2.0
2016-08-21 09:48:55 +02:00
Dmitry Rakhchev
e30c357db7 ID:375 - Add lan6 subcommand to handle IPv6 LAN parameters 2016-08-21 08:59:27 +02:00
Dmitry Rakhchev
34711329c2 Add mac2str() and str2mac() to print/parse MAC address 2016-07-31 08:52:40 +02:00
Dmitry Rakhchev
2f76ab3d3a Export find_lan_channel() as global 2016-07-31 08:52:40 +02:00
Dmitry Rakhchev
7f8d37493f Rewrite code with the notion that Kg is binary data, not string
- use uint8_t as the storage type
  - allocate kgkey on stack
  - do not treat incoming kgkey as 0-trminated string in
    ipmi_intf_session_set_kgkey()
2016-07-31 08:52:40 +02:00
Dmitry Rakhchev
f9211f8ed9 Moved ipmi_parse_hex() to helper.c 2016-07-31 08:52:40 +02:00
Dmitry Rakhchev
9a6ba64651 Extend buf2str to allow separator 2016-07-31 08:52:40 +02:00
KC Li
fcf7445bce ID:451 - Modify the memory ecc error display of SEL for new supermicro motherboards. 2016-07-31 07:25:30 +02:00
Zdenek Styblik
d56220f81f ID:355 - Fix ``warning: ISO C forbids zero-size array 'data''' 2016-06-08 20:25:35 +02:00
Zdenek Styblik
681bc21d32 ID:355 - Move section_id from ipmi_fru. to ipmi_fru.c
... since that's the only place where it's used right now. It might be worth to
rework this concept.
2016-05-29 21:03:25 +02:00
Zdenek Styblik
8ca47f21ca ID:441 - Add support for HMAC_MD5 and HMAC_SHA256
Commit adds support for cipher suites 6/7/8 (HMAC-MD5) and cipher
suites 15/16/17 (HMAC_SHA256).
This also fixes:
* ID:442 - IPMI_AUTH_RAKP_HMAC_MD5 support in lanplus
* ID:141 - RMCP+ Cipher-suite 17 not supported

Original author Liebig Holger(Fujitsu).
Code cleanup done by Florian Breu and Zdenek Styblik.
2016-05-28 13:32:45 +02:00
Dmitry Bazhenov
b44366e92d ID:400 - Add support for VITA-specific sensor types and events.
Reworked event type code/sensor type parsing in order to support
VITA-specific extensions. Added VITA-specific sensor-specific event
types and VITA-specific sensor types.
2016-05-17 20:49:06 +02:00
Zdenek Styblik
a65b49c387 ID:355 - Fix 'missing initializer' in struct lan_param 2016-05-16 20:46:39 +02:00
Zdenek Styblik
107e6affd0 ID:312 - BREAKING CHANGE - Re-design of PEF user interface
Commit re-works user interface of PEF module as well as internal functions.
Not all of the functionality is implemented as the main aim was interface
layout.
It's possible this commit introduces some breaking changes.

Changes are based on patch submitted by Jordan Hargrave, Dell Inc.
2016-05-16 19:18:19 +02:00
Zdenek Styblik
5fca596492 Re-work ipmi_mc_get_guid() and turn it into reusable code 2016-05-16 19:18:19 +02:00
Zdenek Styblik
244ce02f91 Expose _ipmi_get_channel_info()
... so it can be used elsewhere.
2016-05-16 19:18:19 +02:00
Dennis Schridde
9fd4dedd37 Fix warning: suggest parentheses around arithmetic in operand of '|' in include/ipmitool/hpm2 2016-04-11 17:18:40 +02:00
Milos
f70a19cf63 Added missing ipmi_sel_supermicro.h to template Makefile.am 2016-04-10 18:19:49 +02:00
Dong Debin
d6ca800da2 ID:430 - Change Nokia Siemens Networks to Nokia Solutions and Networks 2016-03-27 20:28:58 +02:00
Puwen
ac646c329b ID:428 - Update IANA numbers / Product Name for IBM and ADLINK
Updated ID String of IANA Enterprise numbers for IBM and ADLINK
Updated ID String of ADLINK Products
2016-03-13 18:02:31 +01:00
Zdenek Styblik
4e707af583 ID:355 - Move Super Micro stuff into dedicated header file
Commit moves Super Micro stuff into dedicated header file in order to cut down
on compiler warnings. It seems these aren't used elsewhere other than in
'lib/ipmi_sel.c'.
2016-02-27 13:17:29 +01:00
Zdenek Styblik
b8ca3cac3a ID:417 - Fix some typos
Commit fixes typos in texts in code, print-outs, README and man page.

Submitted by Jörg Frings-Fürst
2016-02-27 10:03:44 +01:00
Zdenek Styblik
636a785d82 ID:336 - ipmitool does not fall back to IPv4 for IPMI v2 / RMCP+ sessions
Commit implements '-4' and '-6' switch in order to enforce IPv4 or IPv6
connection. In order to do so, struct ipmi_intf has been extended to carry
ai_family flag.
2015-11-05 17:31:54 +01:00
Alexander Rube
0caa68115e ID:389 - Add on of Advantech IANA number 2015-09-02 08:49:35 +02:00
Zdenek Styblik
1add1486f9 ID:355 - Fix couple compiler warnings in ipmi_lanp.h
Commit fixes couple compiler warnings which come from ipmi_lanp.h by setting
values of struct attrs.
2015-08-07 21:50:43 +02:00
Dmitry Bazhenov
89e9e63443 ID:376 - Add means to configure "Bad Password Threshold"
Add support for setting and printing of the "Bad Password Threshold"
LAN configuration parameter.
2015-08-06 07:28:54 +02:00
Zdenek Styblik
eb54136775 ID:319 - Interface safe re-open
Currently, interface-management code in the ipmitool does not allow safe
interface re-opening (i.e. closing and opening again). It is because the session
is allocated in the interface setup callback while is freed in the close
callback. So, normal re-opening of the interface, which can be required for
example durng the HPM.1 upgrade, leads to segmentation fault. That's why in the
ipmi_hpmfwupg.c instead of normal closing interface, directly access the
interface data for subsequent re-opening.

Commit for Dmitry Bazhenov
2015-03-11 19:41:34 +01:00
Parthasarathy Bhuvaragan
9caa78be38 ID:371 - add ericsson oem
Change-Id: I4fa230b2388e83ae0bc560539675d4dd8783a33e
Signed-off-by: Parthasarathy Bhuvaragan <parthasarathy.xx.bhuvaragan@ericsson.com>
2015-02-17 15:43:03 +01:00
Zdenek Styblik
f1c6118c72 ID:320 - Add VITA 46.11 support
Commit adds support for VITA 46.11 by Dmitry Bazhenov.
2015-02-05 18:43:49 +01:00