Compare commits

...

2 Commits

Author SHA1 Message Date
CentOS Sources 823d2c3f95 import powerpc-utils-1.3.10-3.el8 2023-05-17 02:49:47 +00:00
CentOS Sources fd6e519638 import powerpc-utils-1.3.10-1.el8 2022-11-08 14:35:32 +00:00
17 changed files with 298 additions and 252 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/powerpc-utils-1.3.9.tar.gz
SOURCES/powerpc-utils-1.3.10.tar.gz

View File

@ -1 +1 @@
03cfcd5c6dffe94409e501d4e603a3fd5de69739 SOURCES/powerpc-utils-1.3.9.tar.gz
4596fced545f3c751ff2665663baaed0db7ab7ce SOURCES/powerpc-utils-1.3.10.tar.gz

View File

@ -1,14 +0,0 @@
#!/bin/sh
if [ "$1" = "--version" ]; then
echo This version of nvsetenv is just a wrapper to invoke nvram
exit 0
fi
if [ -z "$1" ]; then
nvram --print-config
elif [ -z "$2" ]; then
nvram --print-config="$1"
else
nvram --update-config "$1"="$2"
fi
exit $?

View File

@ -0,0 +1,11 @@
diff -up powerpc-utils-1.3.10/Makefile.am.me powerpc-utils-1.3.10/Makefile.am
--- powerpc-utils-1.3.10/Makefile.am.me 2022-06-03 12:35:01.335312481 +0200
+++ powerpc-utils-1.3.10/Makefile.am 2022-06-03 14:11:58.453820076 +0200
@@ -229,7 +229,6 @@ install-data-hook:
$(INSTALL_DATA) systemd/smtstate.service $(DESTDIR)${systemd_unit_dir}/
$(INSTALL_DATA) systemd/hcn-init.service $(DESTDIR)${systemd_unit_dir}/
$(INSTALL_DATA) var/lib/powerpc-utils/smt.state $(DESTDIR)/var/lib/@PACKAGE@/
- $(INSTALL_SCRIPT) scripts/functions.suse $(DESTDIR)/usr/lib/@PACKAGE@/
$(INSTALL_SCRIPT) scripts/smtstate $(DESTDIR)@sbindir@
sed -i -e 's,$${exec_prefix},@prefix@,g' $(DESTDIR)${systemd_unit_dir}/smt_off.service
sed -i -e 's,$${exec_prefix},@prefix@,g' $(DESTDIR)${systemd_unit_dir}/smtstate.service

View File

@ -1,3 +1,18 @@
diff -up powerpc-utils-1.3.5/man/pseries_platform.8.me powerpc-utils-1.3.5/man/pseries_platform.8
--- powerpc-utils-1.3.5/man/pseries_platform.8.me 2018-11-29 16:50:07.601034729 +0100
+++ powerpc-utils-1.3.5/man/pseries_platform.8 2018-11-29 16:50:07.601034729 +0100
@@ -0,0 +1,11 @@
+.\"
+.\" Copyright (C) 2015 International Business Machines
+.\"
+.TH pseries_platform 8 "September 2015" Linux "Linux on Power Service Tools"
+.SH NAME
+pseries_platform \- identify the platform and display the name of platform
+.SH SYNOPSIS
+.B /usr/bin/pseries_platform
+
+.SH DESCRIPTION
+The \fIpseries_platform\fR tool can identify the platform and display the name of platform.
diff -up powerpc-utils-1.2.15/man/lsdevinfo.8.man powerpc-utils-1.2.15/man/lsdevinfo.8
--- powerpc-utils-1.2.15/man/lsdevinfo.8.man 2013-01-16 15:31:13.886591137 +0100
+++ powerpc-utils-1.2.15/man/lsdevinfo.8 2013-01-16 15:31:13.886591137 +0100
@ -242,3 +257,95 @@ diff -up powerpc-utils-1.2.15/man/rtas_event_decode.8.man powerpc-utils-1.2.15/m
+.BI \-w " width"
+limit the output to the specified width, default width is 80 characters. The width must be > 0 and < 1024.
+
diff -up powerpc-utils-1.3.8/man/hcnmgr.8.me powerpc-utils-1.3.8/man/hcnmgr.8
--- powerpc-utils-1.3.8/man/hcnmgr.8.me 2021-02-08 13:18:50.115407652 +0100
+++ powerpc-utils-1.3.8/man/hcnmgr.8 2021-02-08 13:18:43.734322981 +0100
@@ -0,0 +1,47 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
+.TH HCNMGR "1" "hcnmgr contains a set of commands to support migratable SR_IOV logical port." "hcnmgr"
+.SH NAME
+hcnmgr \- hcnmgr contains a set of commands to support migratable SR_IOV logical port.
+.SH SYNOPSIS
+.B hcnmgr|hcnrmhcn|hcnrmdev|hcnqrydev|hcnversion
+[options]
+.SH DESCRIPTION
+hcnmgr contains a set of commands to support migratable SR_IOV logical port.
+The new commands configure/query/remove network devices. New commands should
+be called from the HMC, rather than directly from linux LPAR
+.PP
+Usage: hcncfgdrc DRC_INDEX=<drc_index> [STAKE_TOKEN=NULL] [-d]
+.IP
+Configure a device to hybrid network HCN
+.PP
+Usage: hcnrmhcn HCN_ID=<hcnid>
+.IP
+Remove a hybrid network HCN given an HCN ID
+.PP
+Usage: hcnrmdev DRC_INDEX=<drc_index> HCN_ID=<hcnid>
+.IP
+Unconfigure device from HCN
+.PP
+Usage: hcnqrydev DRC_INDEX=<drc_index> HCN_ID=<hcnid>
+.IP
+Query a device given a DRC_INDEX or HCN ID
+.PP
+Usage: hcnversion
+.IP
+get the current version of the HCN support
+.PP
+Optional arguments.
+.TP
+\fB\-s\fR
+scan device\-tree and configure HCN
+.TP
+\fB\-V\fR
+Display version information and exit
+.TP
+\fB\-h\fR
+Display this help information and exit
+.SH AUTHOR
+.B hcnmgr
+was written by Mingming Cao <mingming.cao@ibm.com>.
+.PP
+This manual page was written by Than Ngo <than@redhat.com>.
diff -up powerpc-utils-1.3.5/man/update_flash_nv.8.me powerpc-utils-1.3.5/man/update_flash_nv.8
--- powerpc-utils-1.3.5/man/update_flash_nv.8.me 2018-11-29 16:49:51.344987106 +0100
+++ powerpc-utils-1.3.5/man/update_flash_nv.8 2018-11-29 16:49:42.589961458 +0100
@@ -0,0 +1,15 @@
+.\"
+.\" Copyright (C) 2015 International Business Machines
+.\"
+.TH pseries_platform 8 "September 2015" Linux "Linux on Power Service Tools"
+.SH NAME
+update_flash_nv \- is a simple wrapper script (update_flash) to pass the image.
+.SH SYNOPSIS
+.B /usr/bin/update_flash_nv
+
+.SH DESCRIPTION
+The \fIupdate_flash_nv\fR tool is simple wrapper script (update_flash) to pass the image.
+
+.SH SEE ALSO
+update_flash(8).
+
diff -up powerpc-utils-1.3.10/Makefile.am.me powerpc-utils-1.3.10/Makefile.am
--- powerpc-utils-1.3.10/Makefile.am.me 2022-06-03 12:35:01.335312481 +0200
+++ powerpc-utils-1.3.10/Makefile.am 2022-06-03 12:46:42.460763120 +0200
@@ -48,7 +48,17 @@ man_MANS = \
man/vcpustat.8 \
man/rtas_dbg.8 \
man/drmgr.8 \
- man/lparnumascore.8
+ man/lparnumascore.8 \
+ man/lsdevinfo.8 \
+ man/rtas_event_decode.8 \
+ man/ls-vdev.8 \
+ man/lsprop.8 \
+ man/ls-veth.8 \
+ man/nvsetenv.8 \
+ man/ls-vscsi.8 \
+ man/pseries_platform.8 \
+ man/update_flash_nv.8 \
+ man/hcnmgr.8
EXTRA_DIST += $(bin_SCRIPTS) $(sbin_SCRIPTS) $(man_MANS)

View File

@ -1,15 +0,0 @@
diff -up powerpc-utils-1.3.5/man/pseries_platform.8.me powerpc-utils-1.3.5/man/pseries_platform.8
--- powerpc-utils-1.3.5/man/pseries_platform.8.me 2018-11-29 16:50:07.601034729 +0100
+++ powerpc-utils-1.3.5/man/pseries_platform.8 2018-11-29 16:50:07.601034729 +0100
@@ -0,0 +1,11 @@
+.\"
+.\" Copyright (C) 2015 International Business Machines
+.\"
+.TH pseries_platform 8 "September 2015" Linux "Linux on Power Service Tools"
+.SH NAME
+pseries_platform \- identify the platform and display the name of platform
+.SH SYNOPSIS
+.B /usr/bin/pseries_platform
+
+.SH DESCRIPTION
+The \fIpseries_platform\fR tool can identify the platform and display the name of platform.

View File

@ -1,19 +0,0 @@
diff -up powerpc-utils-1.3.5/man/update_flash_nv.8.me powerpc-utils-1.3.5/man/update_flash_nv.8
--- powerpc-utils-1.3.5/man/update_flash_nv.8.me 2018-11-29 16:49:51.344987106 +0100
+++ powerpc-utils-1.3.5/man/update_flash_nv.8 2018-11-29 16:49:42.589961458 +0100
@@ -0,0 +1,15 @@
+.\"
+.\" Copyright (C) 2015 International Business Machines
+.\"
+.TH pseries_platform 8 "September 2015" Linux "Linux on Power Service Tools"
+.SH NAME
+update_flash_nv \- is a simple wrapper script (update_flash) to pass the image.
+.SH SYNOPSIS
+.B /usr/bin/update_flash_nv
+
+.SH DESCRIPTION
+The \fIupdate_flash_nv\fR tool is simple wrapper script (update_flash) to pass the image.
+
+.SH SEE ALSO
+update_flash(8).
+

View File

@ -1,64 +0,0 @@
diff -up powerpc-utils-1.3.8/Makefile.am.me powerpc-utils-1.3.8/Makefile.am
--- powerpc-utils-1.3.8/Makefile.am.me 2020-10-01 13:33:29.444024403 +0200
+++ powerpc-utils-1.3.8/Makefile.am 2020-10-01 13:34:08.284854506 +0200
@@ -56,7 +56,8 @@ man_MANS = \
man/nvsetenv.8 \
man/ls-vscsi.8 \
man/pseries_platform.8 \
- man/update_flash_nv.8
+ man/update_flash_nv.8 \
+ man/hcnmgr.8
EXTRA_DIST += $(bin_SCRIPTS) $(sbin_SCRIPTS) $(man_MANS)
diff -up powerpc-utils-1.3.8/man/hcnmgr.8.me powerpc-utils-1.3.8/man/hcnmgr.8
--- powerpc-utils-1.3.8/man/hcnmgr.8.me 2021-02-08 13:18:50.115407652 +0100
+++ powerpc-utils-1.3.8/man/hcnmgr.8 2021-02-08 13:18:43.734322981 +0100
@@ -0,0 +1,47 @@
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
+.TH HCNMGR "1" "hcnmgr contains a set of commands to support migratable SR_IOV logical port." "hcnmgr"
+.SH NAME
+hcnmgr \- hcnmgr contains a set of commands to support migratable SR_IOV logical port.
+.SH SYNOPSIS
+.B hcnmgr|hcnrmhcn|hcnrmdev|hcnqrydev|hcnversion
+[options]
+.SH DESCRIPTION
+hcnmgr contains a set of commands to support migratable SR_IOV logical port.
+The new commands configure/query/remove network devices. New commands should
+be called from the HMC, rather than directly from linux LPAR
+.PP
+Usage: hcncfgdrc DRC_INDEX=<drc_index> [STAKE_TOKEN=NULL] [-d]
+.IP
+Configure a device to hybrid network HCN
+.PP
+Usage: hcnrmhcn HCN_ID=<hcnid>
+.IP
+Remove a hybrid network HCN given an HCN ID
+.PP
+Usage: hcnrmdev DRC_INDEX=<drc_index> HCN_ID=<hcnid>
+.IP
+Unconfigure device from HCN
+.PP
+Usage: hcnqrydev DRC_INDEX=<drc_index> HCN_ID=<hcnid>
+.IP
+Query a device given a DRC_INDEX or HCN ID
+.PP
+Usage: hcnversion
+.IP
+get the current version of the HCN support
+.PP
+Optional arguments.
+.TP
+\fB\-s\fR
+scan device\-tree and configure HCN
+.TP
+\fB\-V\fR
+Display version information and exit
+.TP
+\fB\-h\fR
+Display this help information and exit
+.SH AUTHOR
+.B hcnmgr
+was written by Mingming Cao <mingming.cao@ibm.com>.
+.PP
+This manual page was written by Than Ngo <than@redhat.com>.

View File

@ -1,14 +0,0 @@
diff -up powerpc-utils-1.3.8/Makefile.am.me powerpc-utils-1.3.8/Makefile.am
--- powerpc-utils-1.3.8/Makefile.am.me 2020-09-04 11:37:54.042763518 +0200
+++ powerpc-utils-1.3.8/Makefile.am 2020-09-04 11:39:06.262151924 +0200
@@ -54,7 +54,9 @@ man_MANS = \
man/lsprop.8 \
man/ls-veth.8 \
man/nvsetenv.8 \
- man/ls-vscsi.8
+ man/ls-vscsi.8 \
+ man/pseries_platform.8 \
+ man/update_flash_nv.8
EXTRA_DIST += $(bin_SCRIPTS) $(sbin_SCRIPTS) $(man_MANS)

View File

@ -1,24 +0,0 @@
commit 5c2d5e838e8a9e2e744b89fa42724118e1cccded
Author: Mingming Cao <mmc@linux.vnet.ibm.com>
Date: Thu Feb 24 09:02:05 2022 -0800
hcnmgr: Fix NM HNV setting primary slave
Fix incorrect usage active_slave attribute instead of primary.
Signed-off-by: Mingming Cao <mmc@linux.vnet.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
diff --git a/scripts/hcnmgr b/scripts/hcnmgr
index fdb6eaa..3dc1ad2 100644
--- a/scripts/hcnmgr
+++ b/scripts/hcnmgr
@@ -375,7 +375,7 @@ do_config_vdevice_nm() {
# if the device is primary, and link is up, force it as primary se
if [[ $MODE == "primary" ]]; then
hcnlog INFO "Change bonding primary slave to $DEVNAME"
- echo "$DEVNAME" >"$BOND_PATH"/active_slave
+ echo "$DEVNAME" >"$BOND_PATH"/primary
fi
hcnlog DEBUG "do_config_vdevice: exit"

View File

@ -1,39 +0,0 @@
diff -up powerpc-utils-1.3.9/scripts/hcnmgr.me powerpc-utils-1.3.9/scripts/hcnmgr
--- powerpc-utils-1.3.9/scripts/hcnmgr.me 2021-11-11 11:38:33.293898966 +0100
+++ powerpc-utils-1.3.9/scripts/hcnmgr 2021-11-11 11:39:19.302587637 +0100
@@ -168,7 +168,7 @@ search_dev() {
# Look at pci ethernet devices
for pci_dev in "$DT_PATH"/pci*; do
[ -d "$pci_dev" ] || continue
- index=$(hexdump -n 4 -e '/1 "%02x"' "$pci_dev"/ibm,my-drc-index)
+ index=$(hexdump -n 4 -ve '/1 "%02x"' "$pci_dev"/ibm,my-drc-index)
if [[ $index != "$1" ]]; then
continue
fi
@@ -189,7 +189,7 @@ search_dev() {
hcnlog DEBUG "search vnic device with drc_index $1"
for dev in "$DT_PATH"/vdevice/vnic*; do
[ -d "$dev" ] || continue
- index=$(hexdump -n 4 -e '/1 "%02x"' "$dev"/ibm,my-drc-index)
+ index=$(hexdump -n 4 -ve '/1 "%02x"' "$dev"/ibm,my-drc-index)
if [[ $index == "$1" ]]; then
hcnlog DEBUG "found matching drc_index $index in $dev"
if [ -e "$dev"/ibm,hcn-id ] && get_dev_hcn "$dev"; then
@@ -205,7 +205,7 @@ search_dev() {
hcnlog DEBUG "search ibmveth device with drc_index $1"
for dev in "$DT_PATH"/vdevice/l-lan*; do
[ -d "$dev" ] || continue
- index=$(hexdump -n 4 -e '/1 "%02x"' "$dev"/ibm,my-drc-index)
+ index=$(hexdump -n 4 -ve '/1 "%02x"' "$dev"/ibm,my-drc-index)
if [[ $index == "$1" ]]; then
hcnlog DEBUG "found matching drc_index $index in $dev"
if [ -e "$dev"/ibm,hcn-id ] && get_dev_hcn "$dev"; then
@@ -233,7 +233,7 @@ get_dev_hcn() {
local dev=$1
hcnlog DEBUG "get_dev_hcn: enter $1"
- HCNID=$(hexdump -n 4 -e '/1 "%02x"' "$dev"/ibm,hcn-id)
+ HCNID=$(hexdump -n 4 -ve '/1 "%02x"' "$dev"/ibm,hcn-id)
MODE=$(tr -d '\0' <"$dev"/ibm,hcn-mode)
PHYSLOC=$(tr -d '\0' <"$dev"/ibm,loc-code)
DEVPATH=$1

View File

@ -1,19 +0,0 @@
diff -up powerpc-utils-1.3.9/Makefile.am.me powerpc-utils-1.3.9/Makefile.am
--- powerpc-utils-1.3.9/Makefile.am.me 2021-07-19 12:30:46.169839551 +0200
+++ powerpc-utils-1.3.9/Makefile.am 2021-07-19 12:33:10.336034675 +0200
@@ -48,7 +48,14 @@ man_MANS = \
man/vcpustat.8 \
man/rtas_dbg.8 \
man/drmgr.8 \
- man/lparnumascore.8
+ man/lparnumascore.8 \
+ man/lsdevinfo.8 \
+ man/rtas_event_decode.8 \
+ man/ls-vdev.8 \
+ man/lsprop.8 \
+ man/ls-veth.8 \
+ man/nvsetenv.8 \
+ man/ls-vscsi.8
EXTRA_DIST += $(bin_SCRIPTS) $(sbin_SCRIPTS) $(man_MANS)

View File

@ -0,0 +1,98 @@
commit b1b9e76de0f3ab1dfcd9426779fa20fd77cd5625
Author: Luciano Chavez <lnx1138@linux.ibm.com>
Date: Wed Aug 24 21:11:32 2022 -0500
lsslot: Fix lsslot -c mem output when using 4GB LMB size
When using a LMB size of 4GB, the output of lsslot -c mem would get
reported incorrectly as:
Dynamic Reconfiguration Memory (LMB size 0x0)
:
DRC Index: 80000001 Address: 100000000
Removable: No Associativity: (index: 1) 0 1 4 9
Section(s):
This patch changes the declaration of the _node_u._smem._lmb_size from
a uint32_t to uint64_t to store the value properly. Any variables that
store the lmb_size are also declared as uint64_t. In addition, we
use the PRIx64 macro in printf statements to properly print the
lmb_size value.
The patch also includes a necessary change to declare the global
variable block_sz_bytes as a uint64_t to fix an infinite loop in
the function get_mem_scns() when the above changes were introduced.
Signed-off-by: Luciano Chavez <lnx1138@linux.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
diff --git a/src/drmgr/drmem.h b/src/drmgr/drmem.h
index db5a47f..48108c5 100644
--- a/src/drmgr/drmem.h
+++ b/src/drmgr/drmem.h
@@ -58,7 +58,7 @@ struct drconf_mem_v2 {
#define LMB_REVERSE_SORT 1
#define LMB_RANDOM_SORT 2
-extern int block_sz_bytes;
+extern uint64_t block_sz_bytes;
struct lmb_list_head *get_lmbs(unsigned int);
void free_lmbs(struct lmb_list_head *);
diff --git a/src/drmgr/drslot_chrp_mem.c b/src/drmgr/drslot_chrp_mem.c
index 3b78723..d37ee80 100644
--- a/src/drmgr/drslot_chrp_mem.c
+++ b/src/drmgr/drslot_chrp_mem.c
@@ -33,7 +33,7 @@
#include "drmem.h"
#include "common_numa.h"
-int block_sz_bytes = 0;
+uint64_t block_sz_bytes = 0;
static char *state_strs[] = {"offline", "online"};
static char *usagestr = "-c mem {-a | -r} {-q <quantity> -p {variable_weight | ent_capacity} | {-q <quantity> | -s [<drc_name> | <drc_index>]}}";
@@ -118,7 +118,7 @@ free_lmbs(struct lmb_list_head *lmb_list)
static int
get_mem_scns(struct dr_node *lmb)
{
- uint32_t lmb_sz = lmb->lmb_size;
+ uint64_t lmb_sz = lmb->lmb_size;
uint64_t phys_addr = lmb->lmb_address;
uint32_t mem_scn;
int rc = 0;
diff --git a/src/drmgr/lsslot.c b/src/drmgr/lsslot.c
index 87f876e..83e9e85 100644
--- a/src/drmgr/lsslot.c
+++ b/src/drmgr/lsslot.c
@@ -741,7 +741,7 @@ int print_drconf_mem(struct lmb_list_head *lmb_list)
if (usr_drc_name)
drc_index = strtol(usr_drc_name, NULL, 0);
- printf("Dynamic Reconfiguration Memory (LMB size 0x%x)\n",
+ printf("Dynamic Reconfiguration Memory (LMB size 0x%"PRIx64")\n",
lmb_list->lmbs->lmb_size);
for (lmb = lmb_list->lmbs; lmb; lmb = lmb->next) {
@@ -808,7 +808,7 @@ int lsslot_chrp_mem(void)
if (lmb_list->drconf_buf) {
print_drconf_mem(lmb_list);
} else {
- printf("lmb size: 0x%x\n", lmb_list->lmbs->lmb_size);
+ printf("lmb size: 0x%"PRIx64"\n", lmb_list->lmbs->lmb_size);
printf("%-20s %-5s %c %s\n", "Memory Node", "Name", 'R',
"Sections");
printf("%-20s %-5s %c %s\n", "-----------", "----", '-',
diff --git a/src/drmgr/ofdt.h b/src/drmgr/ofdt.h
index 26c943a..bd90810 100644
--- a/src/drmgr/ofdt.h
+++ b/src/drmgr/ofdt.h
@@ -94,7 +94,7 @@ struct dr_node {
union {
struct mem_info {
uint64_t _address;
- uint32_t _lmb_size;
+ uint64_t _lmb_size;
uint32_t _lmb_aa_index;
struct mem_scn *_mem_scns;
struct of_node *_of_node;

View File

@ -0,0 +1,29 @@
commit e1f1deb06d9168a95a381a2236e1d8c693d3d229
Author: Luciano Chavez <lnx1138@linux.ibm.com>
Date: Wed Aug 24 21:17:54 2022 -0500
lsslot: Explicity declare that lmb_address be displayed in hexadecimal
A printf statement used is lsslot.c was specifying the macro PRIu64 to
display the lmb_address. Depending on the compilation, this would
either display as a hexadecimal or decimal value.
This patch replaces PRIu64 with PRIx64 to explicitly declare to print
the value as hexadecimal as that was is normally expected of an address.
Signed-off-by: Luciano Chavez <lnx1138@linux.ibm.com>
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
diff --git a/src/drmgr/lsslot.c b/src/drmgr/lsslot.c
index 7ea0f8b..87f876e 100644
--- a/src/drmgr/lsslot.c
+++ b/src/drmgr/lsslot.c
@@ -756,7 +756,7 @@ int print_drconf_mem(struct lmb_list_head *lmb_list)
printf("%s: %s\n", lmb->drc_name,
lmb->is_owned ? "" : "Not Owned");
- printf(" DRC Index: %x Address: %"PRIu64"\n",
+ printf(" DRC Index: %x Address: %"PRIx64"\n",
lmb->drc_index, lmb->lmb_address);
printf(" Removable: %s Associativity: ",
lmb->is_removable ? "Yes" : "No ");

View File

@ -0,0 +1,27 @@
commit acaf9c45a340f9bb49d6b21ba7ad60c21326ea73
Author: Mingming Cao <mmc@linux.vnet.ibm.com>
Date: Mon Nov 7 14:39:02 2022 -0800
hcnmgr: Fix setting primary slave across reboots
Using nmcli to set bonding of primary slave so that is set correctly
across reboots.
Signed-off-by: Mingming Cao <mmc@linux.vnet.ibm.com>
[tyreld: Reworded commit log]
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
diff --git a/scripts/hcnmgr b/scripts/hcnmgr
index 6946ff9..b5a6bfb 100644
--- a/scripts/hcnmgr
+++ b/scripts/hcnmgr
@@ -375,7 +375,8 @@ do_config_vdevice_nm() {
# if the device is primary, and link is up, force it as primary se
if [[ $MODE == "primary" ]]; then
hcnlog INFO "Change bonding primary slave to $DEVNAME"
- echo "$DEVNAME" >"$BOND_PATH"/primary
+ nmcli con mod id "$BONDNAME" +bond.options "primary=$DEVNAME"
+ nmcli con up "$BONDNAME"
fi
hcnlog DEBUG "do_config_vdevice: exit"

View File

@ -1,22 +0,0 @@
diff -up powerpc-utils-1.3.8/scripts/hcnmgr.me powerpc-utils-1.3.8/scripts/hcnmgr
--- powerpc-utils-1.3.8/scripts/hcnmgr.me 2021-11-11 11:10:37.800910318 +0100
+++ powerpc-utils-1.3.8/scripts/hcnmgr 2021-11-11 11:12:10.597104063 +0100
@@ -21,7 +21,7 @@
# support live partition migration with SR_IOV
#
-VERSION="1.0"
+VERSION="1.1"
PATH=$PATH:/bin:/usr/bin:/sbin:/usr/sbin
BOND_BASEPATH="/sys/class/net"
BONDOPTIONS="mode=1,miimon=100,fail_over_mac=2"
@@ -630,6 +630,9 @@ fi
if ! nmcli --version >/dev/null 2>&1; then
err $E_ENETUNREACH
fi
+# HNV can support VNIC or Veth as backup device.
+# In the first HNV version 1.0, the vNIC as backup support was turned off
+# HNV VERSION greater than 1.0 starts to support vNIC as the backup device
if [[ $VERSION == "1.0" ]]; then
VNIC_SPT="OFF"
fi

View File

@ -1,13 +1,18 @@
Name: powerpc-utils
Version: 1.3.9
Release: 2%{?dist}
Version: 1.3.10
Release: 3%{?dist}
Summary: PERL-based scripts for maintaining and servicing PowerPC systems
Group: System Environment/Base
License: GPLv2
URL: https://github.com/ibm-power-utilities/powerpc-utils
Source0: https://github.com/ibm-power-utilities/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
Source1: nvsetenv
Patch0: powerpc-utils-1.3.10-manpages.patch
Patch1: powerpc-utils-1.3.10-distro.patch
# bz#2121470, Fix lsslot -c mem output when using 4GB LMB size
Patch3: powerpc-utils-b1b9e7-LMB_size_4GB.patch
Patch4: powerpc-utils-e1f1de-lmb_address_in_hexadecimal.patch
Patch5: powerpc-utils-fix_setting_primary_slave_across_reboots.patch
ExclusiveArch: ppc %{power64}
@ -26,18 +31,6 @@ BuildRequires: numactl-devel
Requires: perl(Data::Dumper)
Requires: %{name}-core = %{version}-%{release}
Patch1: powerpc-utils-1.3.8-man.patch
Patch2: powerpc-utils-1.3.9-makefile.patch
Patch3: powerpc-utils-1.3.5-pseries_platform-man.patch
Patch4: powerpc-utils-1.3.5-update_flash_nv.patch
Patch5: powerpc-utils-1.3.8-install-man.patch
Patch7: powerpc-utils-1.3.8-hcnmgr.patch
# enable support for vnic as backup device
Patch8: powerpc-utils-support-vnic-as-backup-device-for-HNV.patch
# fixed hexdump format
Patch9: powerpc-utils-1.3.9-fix-hexdump-format.patch
Patch10: powerpc-utils-1.3.9-Fix-NM-HNV-setting-primary-slave.patch
%description
PERL-based scripts for maintaining and servicing PowerPC systems.
@ -74,7 +67,6 @@ make %{?_smp_mflags}
%install
make install DESTDIR=$RPM_BUILD_ROOT FILES= RCSCRIPTS=
install -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_sbindir}/nvsetenv
#define pkgdocdir {_datadir}/doc/{name}-{version}
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
@ -124,8 +116,8 @@ systemctl enable hcn-init.service >/dev/null 2>&1 || :
%files core
%license COPYING
%dir /var/lib/powerpc-utils
%ghost %config(missingok,noreplace) /var/lib/powerpc-utils/smt.state
%dir %{_localstatedir}/lib/powerpc-utils
%config(noreplace) %{_localstatedir}/lib/powerpc-utils/smt.state
%{_unitdir}/smtstate.service
%{_unitdir}/smt_off.service
%{_unitdir}/hcn-init.service
@ -199,8 +191,20 @@ systemctl enable hcn-init.service >/dev/null 2>&1 || :
%{_mandir}/man8/lparnumascore.8*
%changelog
* Mon Apr 25 2022 Than Ngo <than@redhat.com> - 1.3.9-2
- Resolves: #2078537, hcnmgr: Fix NM HNV setting primary slave
* Mon Nov 28 2022 Than Ngo <than@redhat.com> - 1.3.10-3
- Resolves: #2148878, HNV bond fails to come up with sriov interface as active slave
* Fri Oct 21 2022 Than Ngo <than@redhat.com> - 1.3.10-2
- Resolves: #2121481, Fix lsslot -c mem output when using 4GB LMB size
* Mon Jun 06 2022 Than Ngo <than@redhat.com> - 1.3.10-1
- Resolves: #2051330, Linux Hybrid Network Virtualization update
- Resolves: #2083469, smtstate --save command failed
* Fri May 13 2022 Than Ngo <than@redhat.com> - 1.3.9-3
- Resolves: #2059459, add new DRC type description strings for latest PCIe slot types
- Resolves: #2078514, Fix NM HNV setting primary slave
- Resolves: #2083469, smtstate test failed as smtstate --save command failed
* Thu Dec 09 2021 Than Ngo <than@redhat.com> - 1.3.9-1
- Resolves: #2028690, rebase to 1.3.9