Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consolidated s390 device configuration #342

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
2a65096
refactor(cms): use zdev to simplify handling CMSDASD=... boot option
steffen-maier May 24, 2023
80a34d5
refactor(cms): use consolidated zfcp config with zdev from s390-tools
steffen-maier Jan 28, 2023
de01368
refactor(cms): use consolidated dasd config with zdev from s390-tools
steffen-maier May 24, 2023
980c08b
refactor(cms): use consolidated network config with zdev from s390-tools
steffen-maier Jul 26, 2023
edb7fd3
refactor(cms): remove now unnecessary inclusion of full s390utils-base
steffen-maier Feb 8, 2024
1814cd5
feat(zfcp_rules): remove zfcp handling consolidated in s390-tools
steffen-maier Jan 20, 2023
8947924
feat(zfcp): minimize zfcp handling consolidated in s390-tools
steffen-maier Jan 31, 2023
d4a882f
feat(dasd_rules): remove dasd handling consolidated in s390-tools
steffen-maier Mar 23, 2023
dbafd19
feat(dasd_mod): minimize dasd handling consolidated in s390-tools
steffen-maier Mar 23, 2023
472ac69
feat(dasd): minimize dasd handling consolidated in s390-tools
steffen-maier Mar 23, 2023
ece8014
feat(znet): use zdev for consolidated device configuration
steffen-maier Jul 25, 2023
0b0b118
docs(dracut.cmdline): generalize description of rd.znet
steffen-maier May 26, 2023
831e5c2
feat(qeth_rules): remove qeth handling consolidated in 95znet
steffen-maier May 26, 2023
25b1a61
fix(znet): append to udev rules so each rd.znet_ifname is effective
steffen-maier May 26, 2023
283811f
refactor(ifcfg): delete code duplication using iface_get_subchannels()
steffen-maier Jul 26, 2023
afe5c41
feat(ifcfg): minimize s390-specific network configuration aspects
steffen-maier Jul 26, 2023
0ce3a10
chore(suse): update spec and SUSE maintainers doc
aafeijoo-suse Jun 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 0 additions & 12 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -382,10 +382,6 @@ dasd_mod:
- changed-files:
- any-glob-to-any-file: 'modules.d/95dasd_mod/*'

dasd_rules:
- changed-files:
- any-glob-to-any-file: 'modules.d/95dasd_rules/*'

dcssblk:
- changed-files:
- any-glob-to-any-file: 'modules.d/95dcssblk/*'
Expand Down Expand Up @@ -426,10 +422,6 @@ nvmf:
- changed-files:
- any-glob-to-any-file: 'modules.d/95nvmf/*'

qeth_rules:
- changed-files:
- any-glob-to-any-file: 'modules.d/95qeth_rules/*'

resume:
- changed-files:
- any-glob-to-any-file: 'modules.d/95resume/*'
Expand Down Expand Up @@ -462,10 +454,6 @@ zfcp:
- changed-files:
- any-glob-to-any-file: 'modules.d/95zfcp/*'

zfcp_rules:
- changed-files:
- any-glob-to-any-file: 'modules.d/95zfcp_rules/*'

znet:
- changed-files:
- any-glob-to-any-file: 'modules.d/95znet/*'
Expand Down
32 changes: 27 additions & 5 deletions man/dracut.cmdline.7.asc
Original file line number Diff line number Diff line change
Expand Up @@ -972,19 +972,38 @@ root=virtiofs:host rw
DASD
~~~~
**rd.dasd=**....::
same syntax as the kernel module parameter (s390 only)
same syntax as the kernel module parameter (s390 only).
For more details on the syntax see the IBM book
"Linux on IBM Z and IBM LinuxONE - Device Drivers, Features, and Commands"
https://www.ibm.com/docs/en/linux-on-systems?topic=overview-device-drivers-features-commands.
This parameter can be specified multiple times.
+
NOTE:
This parameter is no longer handled by dracut itself but with the exact
same syntax by
https://github.com/ibm-s390-linux/s390-tools/tree/master/zdev/dracut/95zdev.

ZFCP
~~~~
**rd.zfcp=**__<zfcp adaptor device bus ID>__,__<WWPN>__,__<FCPLUN>__::
rd.zfcp can be specified multiple times on the kernel command
line.
+
NOTE:
This parameter is no longer handled by dracut itself but with the exact
same syntax by
https://github.com/ibm-s390-linux/s390-tools/tree/master/zdev/dracut/95zdev.

**rd.zfcp=**__<zfcp adaptor device bus ID>__::
If NPIV is enabled and the 'allow_lun_scan' parameter to the zfcp
module is set to 'Y' then the zfcp adaptor will be initiating a
module is set to 'Y' then the zfcp driver will be initiating a
scan internally and the <WWPN> and <FCPLUN> parameters can be omitted.
+
NOTE:
This parameter is no longer handled by dracut itself but with the exact
same syntax by
https://github.com/ibm-s390-linux/s390-tools/tree/master/zdev/dracut/95zdev.
+
[listing]
.Example
--
Expand All @@ -998,9 +1017,12 @@ rd.zfcp=0.0.4000
ZNET
~~~~
**rd.znet=**__<nettype>__,__<subchannels>__,__<options>__::
The whole parameter is appended to /etc/ccw.conf, which is used on
RHEL/Fedora with ccw_init, which is called from udev for certain
devices on z-series.
Activates a channel-attached network interface on s390 architecture.
<nettype> is one of: qeth, lcs, ctc.
<subchannels> is a comma-separated list of ccw device bus-IDs.
The list consists of 3 entries with nettype qeth, and 2 for other nettype.
<options> is a comma-separated list of <name>=<value> pairs,
where <name> refers to a device sysfs attribute to which <value> gets written.
rd.znet can be specified multiple times on the kernel command line.

**rd.znet_ifname=**__<ifname>__:__<subchannels>__::
Expand Down
51 changes: 2 additions & 49 deletions modules.d/45ifcfg/write-ifcfg.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,68 +10,21 @@ mkdir -m 0755 -p /tmp/ifcfg/
# shellcheck disable=SC2174
mkdir -m 0755 -p /tmp/ifcfg-leases/

get_config_line_by_subchannel() {
local CHANNELS
local line

CHANNELS="$1"
while read -r line || [ -n "$line" ]; do
if strstr "$line" "$CHANNELS"; then
echo "$line"
return 0
fi
done < /etc/ccw.conf
return 1
}

print_s390() {
local _netif
local SUBCHANNELS
local OPTIONS
local NETTYPE
local CONFIG_LINE
local i
local channel
local OLD_IFS

_netif="$1"
# if we find ccw channel, then use those, instead of
# of the MAC
SUBCHANNELS=$({
for i in /sys/class/net/"$_netif"/device/cdev[0-9]*; do
[ -e "$i" ] || continue
channel=$(readlink -f "$i")
printf '%s' "${channel##*/},"
done
})
# [iface_get_subchannels() from /lib/net-lib.sh sourced at top of this file]
SUBCHANNELS=$(iface_get_subchannels "$_netif")
[ -n "$SUBCHANNELS" ] || return 1

SUBCHANNELS=${SUBCHANNELS%,}
echo "SUBCHANNELS=\"${SUBCHANNELS}\""

CONFIG_LINE=$(get_config_line_by_subchannel "$SUBCHANNELS")
# shellcheck disable=SC2181
[ $? -ne 0 -o -z "$CONFIG_LINE" ] && return 0

OLD_IFS=$IFS
IFS=","
# shellcheck disable=SC2086
set -- $CONFIG_LINE
IFS=$OLD_IFS
NETTYPE=$1
shift
SUBCHANNELS="$1"
OPTIONS=""
shift
while [ $# -gt 0 ]; do
case $1 in
*=*) OPTIONS="$OPTIONS $1" ;;
esac
shift
done
OPTIONS=${OPTIONS## }
echo "NETTYPE=\"${NETTYPE}\""
echo "OPTIONS=\"${OPTIONS}\""
return 0
}

Expand Down
13 changes: 0 additions & 13 deletions modules.d/80cms/cms-write-ifcfg.sh
Original file line number Diff line number Diff line change
Expand Up @@ -81,21 +81,8 @@ EOF
fi
# colons in SEARCHDNS already replaced with spaces above for /etc/resolv.conf
[[ $SEARCHDNS ]] && echo "DOMAIN=\"$SEARCHDNS\"" >> "$IFCFGFILE"
[[ $NETTYPE ]] && echo "NETTYPE=$NETTYPE" >> "$IFCFGFILE"
[[ $PEERID ]] && echo "PEERID=$PEERID" >> "$IFCFGFILE"
[[ $PORTNAME ]] && echo "PORTNAME=$PORTNAME" >> "$IFCFGFILE"
[[ $CTCPROT ]] && echo "CTCPROT=$CTCPROT" >> "$IFCFGFILE"
[[ $MACADDR ]] && echo "MACADDR=$MACADDR" >> "$IFCFGFILE"
optstr=""
for option in LAYER2 PORTNO; do
[ -z "${!option}" ] && continue
[ -n "$optstr" ] && optstr=${optstr}" "
optstr=${optstr}$(echo ${option} | sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/')"="${!option}
done
# write single quotes since network.py removes double quotes but we need quotes
echo "OPTIONS='$optstr'" >> "$IFCFGFILE"
unset option
unset optstr
unset DNS1
unset DNS2
echo "files /etc/sysconfig/network-scripts" >> /run/initramfs/rwtab
Expand Down
Loading
Loading