Rebase to include upstream bugfixes.

This commit is contained in:
Ales Ledvinka 2013-07-31 19:57:43 +02:00
parent 9856c2a711
commit 56868d65b9
4 changed files with 81 additions and 129 deletions

1
.gitignore vendored
View File

@ -4,3 +4,4 @@ ipmitool-1.8.11.tar.bz2
/exchange-bmc-os-info.service
/exchange-bmc-os-info.sysconf
/set-bmc-url.sh
/ipmitool-1.8.12-130731.tar.bz2

View File

@ -1,3 +1,9 @@
commit 194d20c909c93874583db20fbf1e0739a8f8c7e0
Author: Ales Ledvinka <aledvink@redhat.com>
Date: Thu Jul 25 12:29:08 2013 +0200
Jeff's bugzilla cx6 patch
diff --git a/include/ipmitool/Makefile.am b/include/ipmitool/Makefile.am
index fb6f6bf..83bc76f 100644
--- a/include/ipmitool/Makefile.am
@ -9,25 +15,12 @@ index fb6f6bf..83bc76f 100644
- ipmi_delloem.h ipmi_dcmi.h
+ ipmi_delloem.h ipmi_dcmi.h ipmi_cxoem.h
diff --git a/include/ipmitool/Makefile.in b/include/ipmitool/Makefile.in
index 5846e29..dd98015 100644
--- a/include/ipmitool/Makefile.in
+++ b/include/ipmitool/Makefile.in
@@ -232,7 +232,7 @@ noinst_HEADERS = log.h bswap.h helper.h ipmi.h ipmi_cc.h ipmi_intf.h \
ipmi_oem.h ipmi_sdradd.h ipmi_isol.h ipmi_sunoem.h ipmi_picmg.h \
ipmi_fwum.h ipmi_main.h ipmi_tsol.h ipmi_firewall.h \
ipmi_kontronoem.h ipmi_ekanalyzer.h ipmi_gendev.h ipmi_ime.h \
- ipmi_delloem.h ipmi_dcmi.h
+ ipmi_delloem.h ipmi_dcmi.h ipmi_cxoem.h
all: all-am
diff --git a/include/ipmitool/ipmi.h b/include/ipmitool/ipmi.h
index 2846a91..5357d89 100644
index e74c252..759417c 100644
--- a/include/ipmitool/ipmi.h
+++ b/include/ipmitool/ipmi.h
@@ -244,6 +244,7 @@ struct ipmi_rs {
#define IPMI_NETFN_DCGRP 0x2C
@@ -245,6 +245,7 @@ struct ipmi_rs {
#define IPMI_NETFN_OEM 0x2E
#define IPMI_NETFN_ISOL 0x34
#define IPMI_NETFN_TSOL 0x30
+#define IPMI_NETFN_CX_OEM 0x3e
@ -48,7 +41,7 @@ index 2aad2cf..d316c61 100644
#define IPMI_AUTH_RAKP_NONE 0x00
#define IPMI_AUTH_RAKP_HMAC_SHA1 0x01
diff --git a/include/ipmitool/ipmi_cxoem.h b/include/ipmitool/ipmi_cxoem.h
new file mode 100755
new file mode 100644
index 0000000..9a01f85
--- /dev/null
+++ b/include/ipmitool/ipmi_cxoem.h
@ -311,50 +304,36 @@ index 1aaae5e..0e457f7 100644
};
diff --git a/lib/Makefile.am b/lib/Makefile.am
index cef8702..547db97 100644
index 3422521..f304502 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -39,7 +39,7 @@ libipmitool_la_SOURCES = helper.c ipmi_sdr.c ipmi_sel.c ipmi_sol.c ipmi_pef.c \
ipmi_oem.c ipmi_isol.c ipmi_sunoem.c ipmi_fwum.c ipmi_picmg.c \
ipmi_main.c ipmi_tsol.c ipmi_firewall.c ipmi_kontronoem.c \
ipmi_hpmfwupg.c ipmi_sdradd.c ipmi_ekanalyzer.c ipmi_gendev.c \
- ipmi_ime.c ipmi_delloem.c ipmi_dcmi.c
+ ipmi_ime.c ipmi_delloem.c ipmi_dcmi.c ipmi_cxoem.c
- ipmi_ime.c ipmi_delloem.c ipmi_dcmi.c \
+ ipmi_ime.c ipmi_delloem.c ipmi_dcmi.c ipmi_cxoem.c \
../src/plugins/lan/md5.c ../src/plugins/lan/md5.h
libipmitool_la_LDFLAGS = -export-dynamic
libipmitool_la_LIBADD = -lm
diff --git a/lib/Makefile.in b/lib/Makefile.in
index 42cb752..1856a70 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -84,7 +84,8 @@ am_libipmitool_la_OBJECTS = helper.lo ipmi_sdr.lo ipmi_sel.lo \
ipmi_sunoem.lo ipmi_fwum.lo ipmi_picmg.lo ipmi_main.lo \
ipmi_tsol.lo ipmi_firewall.lo ipmi_kontronoem.lo \
ipmi_hpmfwupg.lo ipmi_sdradd.lo ipmi_ekanalyzer.lo \
- ipmi_gendev.lo ipmi_ime.lo ipmi_delloem.lo ipmi_dcmi.lo
+ ipmi_gendev.lo ipmi_ime.lo ipmi_delloem.lo ipmi_dcmi.lo \
+ ipmi_cxoem.lo
libipmitool_la_OBJECTS = $(am_libipmitool_la_OBJECTS)
libipmitool_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
diff --git a/lib/ipmi_chassis.c b/lib/ipmi_chassis.c
index 7a2b5a0..01019eb 100644
index 2d47974..445b34d 100644
--- a/lib/ipmi_chassis.c
+++ b/lib/ipmi_chassis.c
@@ -749,6 +749,12 @@ ipmi_chassis_get_bootparam(struct ipmi_intf * intf, char * arg)
printf(" Block Data : %s\n", buf2str(rsp->data+3, rsp->data_len - 2));
}
break;
+ case 96:
+ {
+ printf(" Selector : %d\n", rsp->data[1] );
+ printf(" Boot Policy : %d\n", rsp->data[2] );
+ }
+ break;
default:
@@ -866,6 +872,86 @@ ipmi_chassis_set_bootdev(struct ipmi_intf * intf, char * arg, uint8_t *iflags)
@@ -746,6 +746,12 @@ ipmi_chassis_get_bootparam(struct ipmi_intf * intf, char * arg)
printf(" Block Data : %s\n", buf2str(rsp->data+3, rsp->data_len - 2));
}
break;
+ case 96:
+ {
+ printf(" Selector : %d\n", rsp->data[1] );
+ printf(" Boot Policy : %d\n", rsp->data[2] );
+ }
+ break;
default:
printf(" Undefined byte\n");
break;
@@ -860,6 +866,86 @@ ipmi_chassis_set_bootdev(struct ipmi_intf * intf, char * arg, uint8_t *iflags)
}
static int
@ -440,29 +419,29 @@ index 7a2b5a0..01019eb 100644
+static int
ipmi_chassis_power_policy(struct ipmi_intf * intf, uint8_t policy)
{
struct ipmi_rs * rsp;
@@ -1049,6 +1135,10 @@ ipmi_chassis_main(struct ipmi_intf * intf, int argc, char ** argv)
lprintf(LOG_NOTICE, " force_diag : Force boot from Diagnostic Partition");
lprintf(LOG_NOTICE, " force_cdrom : Force boot from CD/DVD");
lprintf(LOG_NOTICE, " force_bios : Force boot into BIOS Setup");
+ lprintf(LOG_NOTICE, "bootparam set policy <value>");
+ lprintf(LOG_NOTICE, " 0 : Boot ASAP");
+ lprintf(LOG_NOTICE, " 1 : Boot when Fabric is ready");
+ lprintf(LOG_NOTICE, " 2 : Boot after a fixed delay");
}
else {
if (strncmp(argv[1], "get", 3) == 0) {
@@ -1060,6 +1150,8 @@ ipmi_chassis_main(struct ipmi_intf * intf, int argc, char ** argv)
} else {
if (strncmp(argv[2], "bootflag", 8) == 0)
rc = ipmi_chassis_set_bootdev(intf, argv[3], NULL);
+ else if (strncmp(argv[2], "policy", 6) == 0)
+ rc = ipmi_chassis_set_boot_policy(intf, argv[3]);
else
lprintf(LOG_NOTICE, "bootparam set <option> [value ...]");
}
struct ipmi_rs * rsp;
@@ -1043,6 +1129,10 @@ ipmi_chassis_main(struct ipmi_intf * intf, int argc, char ** argv)
lprintf(LOG_NOTICE, " force_diag : Force boot from Diagnostic Partition");
lprintf(LOG_NOTICE, " force_cdrom : Force boot from CD/DVD");
lprintf(LOG_NOTICE, " force_bios : Force boot into BIOS Setup");
+ lprintf(LOG_NOTICE, "bootparam set policy <value>");
+ lprintf(LOG_NOTICE, " 0 : Boot ASAP");
+ lprintf(LOG_NOTICE, " 1 : Boot when Fabric is ready");
+ lprintf(LOG_NOTICE, " 2 : Boot after a fixed delay");
}
else {
if (strncmp(argv[1], "get", 3) == 0) {
@@ -1054,6 +1144,8 @@ ipmi_chassis_main(struct ipmi_intf * intf, int argc, char ** argv)
} else {
if (strncmp(argv[2], "bootflag", 8) == 0)
rc = ipmi_chassis_set_bootdev(intf, argv[3], NULL);
+ else if (strncmp(argv[2], "policy", 6) == 0)
+ rc = ipmi_chassis_set_boot_policy(intf, argv[3]);
else
lprintf(LOG_NOTICE, "bootparam set <option> [value ...]");
}
diff --git a/lib/ipmi_cxoem.c b/lib/ipmi_cxoem.c
new file mode 100755
new file mode 100644
index 0000000..fbc008e
--- /dev/null
+++ b/lib/ipmi_cxoem.c
@ -4396,24 +4375,18 @@ index 0000000..fbc008e
+ return rc;
+}
diff --git a/lib/ipmi_lanp.c b/lib/ipmi_lanp.c
index 86e6652..22717c7 100644
index 060cbf7..98ddbb8 100644
--- a/lib/ipmi_lanp.c
+++ b/lib/ipmi_lanp.c
@@ -121,8 +121,12 @@ get_lan_param_select(struct ipmi_intf * intf, uint8_t chan, int param, int selec
struct ipmi_rs * rsp;
struct ipmi_rq req;
uint8_t msg_data[4];
+ int tmp = 0;
@@ -130,6 +130,7 @@ get_lan_param_select(struct ipmi_intf * intf, uint8_t chan, int param, int selec
break;
}
}
+ /* XXX: LEDVA iterate cxoem options too (rejected patch) */
- p = &ipmi_lan_params[param];
+ if (param >= 193)
+ tmp = 28 + (param - 193);
+ else tmp = param;
+ p = &ipmi_lan_params[tmp];
if (p == NULL)
return NULL;
@@ -734,6 +738,99 @@ ipmi_lan_print(struct ipmi_intf * intf, uint8_t chan)
if (p == NULL) {
lprintf(LOG_INFO, "Get LAN Parameter failed: Unknown parameter.");
@@ -747,6 +748,99 @@ ipmi_lan_print(struct ipmi_intf * intf, uint8_t chan)
printf("%-24s: %02x:%02x:%02x:%02x:%02x:%02x\n", p->desc,
p->data[0], p->data[1], p->data[2], p->data[3], p->data[4], p->data[5]);
@ -4513,7 +4486,7 @@ index 86e6652..22717c7 100644
p = get_lan_param(intf, chan, IPMI_LANP_VLAN_ID);
if (p != NULL && p->data != NULL) {
int id = ((p->data[1] & 0x0f) << 8) + p->data[0];
@@ -1162,6 +1259,21 @@ get_cmdline_macaddr(char * arg, uint8_t * buf)
@@ -1175,6 +1269,21 @@ get_cmdline_macaddr(char * arg, uint8_t * buf)
static int
@ -4535,7 +4508,7 @@ index 86e6652..22717c7 100644
get_cmdline_cipher_suite_priv_data(char * arg, uint8_t * buf)
{
int i, ret = 0;
@@ -1238,6 +1350,19 @@ get_cmdline_cipher_suite_priv_data(char * arg, uint8_t * buf)
@@ -1251,6 +1360,19 @@ get_cmdline_cipher_suite_priv_data(char * arg, uint8_t * buf)
return ret;
}
@ -4555,7 +4528,7 @@ index 86e6652..22717c7 100644
static int
get_cmdline_ipaddr(char * arg, uint8_t * buf)
@@ -1265,6 +1390,10 @@ static void ipmi_lan_set_usage(void)
@@ -1278,6 +1400,10 @@ static void ipmi_lan_set_usage(void)
lprintf(LOG_NOTICE, " defgw macaddr <x:x:x:x:x:x> Set default gateway MAC address");
lprintf(LOG_NOTICE, " bakgw ipaddr <x.x.x.x> Set backup gateway IP address");
lprintf(LOG_NOTICE, " bakgw macaddr <x:x:x:x:x:x> Set backup gateway MAC address");
@ -4566,7 +4539,7 @@ index 86e6652..22717c7 100644
lprintf(LOG_NOTICE, " password <password> Set session password for this channel");
lprintf(LOG_NOTICE, " snmp <community string> Set SNMP public community string");
lprintf(LOG_NOTICE, " user Enable default user for this channel");
@@ -1717,6 +1846,158 @@ ipmi_lan_set(struct ipmi_intf * intf, int argc, char ** argv)
@@ -1743,6 +1869,158 @@ ipmi_lan_set(struct ipmi_intf * intf, int argc, char ** argv)
rc = set_lan_param(intf, chan, IPMI_LANP_RMCP_PRIV_LEVELS, data, 9);
}
}
@ -4725,7 +4698,7 @@ index 86e6652..22717c7 100644
else {
ipmi_lan_set_usage();
return (-1);
@@ -1846,6 +2127,13 @@ ipmi_lan_alert_set_usage(void)
@@ -1872,6 +2150,13 @@ ipmi_lan_alert_set_usage(void)
lprintf(LOG_NOTICE, " type <pet|oem1|oem2> Set destination type as PET or OEM");
lprintf(LOG_NOTICE, " time <seconds> Set ack timeout or unack retry interval");
lprintf(LOG_NOTICE, " retry <number> Set number of alert retries");
@ -4740,10 +4713,10 @@ index 86e6652..22717c7 100644
}
diff --git a/lib/ipmi_strings.c b/lib/ipmi_strings.c
index c61e1f7..f416269 100644
index 277b82f..57e3609 100644
--- a/lib/ipmi_strings.c
+++ b/lib/ipmi_strings.c
@@ -154,6 +154,7 @@ const struct valstr ipmi_netfn_vals[] = {
@@ -157,6 +157,7 @@ const struct valstr ipmi_netfn_vals[] = {
{ IPMI_NETFN_FIRMWARE, "Firmware" },
{ IPMI_NETFN_STORAGE, "Storage" },
{ IPMI_NETFN_TRANSPORT, "Transport" },
@ -4772,10 +4745,10 @@ index 6230e5c..51a7b67 100644
{ ipmi_picmg_main, "picmg", "Run a PICMG/ATCA extended cmd"},
{ ipmi_fwum_main, "fwum", "Update IPMC using Kontron OEM Firmware Update Manager" },
diff --git a/src/plugins/lan/lan.c b/src/plugins/lan/lan.c
index 63c7ed6..1122283 100644
index e088479..f35ee6c 100644
--- a/src/plugins/lan/lan.c
+++ b/src/plugins/lan/lan.c
@@ -245,6 +245,8 @@ ipmi_lan_recv_packet(struct ipmi_intf * intf)
@@ -253,6 +253,8 @@ ipmi_lan_recv_packet(struct ipmi_intf * intf)
if (ret < 0 || FD_ISSET(intf->fd, &err_set) || !FD_ISSET(intf->fd, &read_set))
return NULL;

View File

@ -1,11 +1,11 @@
Name: ipmitool
Summary: Utility for IPMI control
Version: 1.8.12
Release: 16%{?dist}
Release: 13073101%{?dist}
License: BSD
Group: System Environment/Base
URL: http://ipmitool.sourceforge.net/
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2
Source0: %{name}-%{version}-130731.tar.bz2
Source1: openipmi-ipmievd.sysconf
Source2: ipmievd.service
Source3: exchange-bmc-os-info.service
@ -15,6 +15,8 @@ Source6: exchange-bmc-os-info
BuildRequires: openssl-devel readline-devel ncurses-devel
BuildRequires: systemd-units
# bootstrap
BuildRequires: automake autoconf libtool
Requires(post): systemd-sysv
Requires(post): systemd-units
Requires(preun): systemd-units
@ -25,26 +27,8 @@ Provides: OpenIPMI-tools = 2.0.14-3
Patch1: ipmitool-1.8.10-ipmievd-init.patch
Patch2: ipmitool-1.8.10-ipmievd-condrestart.patch
Patch3: ipmitool-1.8.11-remove-umask0.patch
Patch4: ipmitool-1.8.11-systemd.patch
# https://sourceforge.net/tracker/?func=detail&aid=3564701&group_id=95200&atid=610550
Patch5: ipmitool-1.8.12-bigendian.patch
Patch6: ipmitool-cvs-mc-sysinfo-dell.patch
# https://sourceforge.net/tracker/?func=detail&aid=3578022&group_id=95200&atid=610550
Patch7: ipmitool-1.8.12-bigendian2.patch
# http://sourceforge.net/tracker/?func=detail&aid=3588727&group_id=95200&atid=610550
Patch8: ipmitool-1.8.12-ciper-suite-default.patch
# http://sourceforge.net/tracker/?func=detail&aid=3588726&group_id=95200&atid=610550
Patch9: ipmitool-1.8.12-activate-core.patch
# two in one tracker https://sourceforge.net/tracker/?func=detail&aid=3595176&group_id=95200&atid=610550
Patch10: ipmitool-1.8.12f-toolman.patch
# two in one tracker https://sourceforge.net/tracker/?func=detail&aid=3595176&group_id=95200&atid=610550
Patch11: ipmitool-1.8.12f-manoverr.patch
# https://sourceforge.net/tracker/?func=detail&aid=3595188&group_id=95200&atid=610550
Patch12: ipmitool-1.8.12f-minleak.patch
# https://sourceforge.net/tracker/?func=detail&aid=3595612&group_id=95200&atid=610550
Patch13: ipmitool-1.8.12f-passarg.patch
# various threads. still pending.
Patch14: cxoem-jb-cx6.patch
Patch4: cxoem-jb-cx6.patch
%description
This package contains a utility for interfacing with devices that support
@ -84,17 +68,7 @@ for the host OS to use.
%patch1 -p1 -b .ipmievd-init
%patch2 -p0 -b .condrestart
%patch3 -p1 -b .umask
%patch4 -p1 -b .systemd
%patch5 -p1 -b .bigendian
%patch6 -p1 -b .mcsysinfodell
%patch7 -p1 -b .bigendian2
%patch8 -p1 -b .cip
%patch9 -p1 -b .noactivate
%patch10 -p1 -b .toolman
%patch11 -p0 -b .manoverr
%patch12 -p1 -b .minleak
%patch13 -p1 -b .passarg
%patch14 -p1 -b .cxoem
%patch4 -p1 -b .cxoem
for f in AUTHORS ChangeLog; do
iconv -f iso-8859-1 -t utf8 < ${f} > ${f}.utf8
@ -106,6 +80,7 @@ done
# --enable-file-security adds some security checks
# --disable-intf-free disables FreeIPMI support - we don't want to depend on
# FreeIPMI libraries, FreeIPMI has its own ipmitoool-like utility.
./bootstrap
%configure --disable-dependency-tracking --enable-file-security --disable-intf-free
make %{?_smp_mflags}
@ -168,6 +143,9 @@ install -Dm 755 %{SOURCE6} %{buildroot}%{_libexecdir}/exchange-bmc-os-info
%changelog
* Wed Jul 31 2013 Ales Ledvinka <aledvink@redhat.com> 1.8.12-13073101
- Include current upstream bugfixes.
* Thu Jul 25 2013 Ales Ledvinka <aledvink@redhat.com> 1.8.12-16
- Calxeda OEM extensions.

View File

@ -1,4 +1,4 @@
cfdfd15b6ee471c19a7a7e6b47233963 ipmitool-1.8.12.tar.bz2
b9e0ba4488e56988cd118819d72f9185 ipmitool-1.8.12-130731.tar.bz2
95bd2072031533893cd9d5d9c9603d92 exchange-bmc-os-info
6598ee7c4ba2c8f69ef2ad48e502cada exchange-bmc-os-info.service
3a728964cb3990f3fd6febef36b4e8af exchange-bmc-os-info.sysconf