PHP 8.2.30
Preview: parse-team.sh Size: 1.56 KB
//lib/dracut/modules.d/35network-legacy/parse-team.sh

#!/bin/sh
#
# Format:
#       team=<teammaster>:<teamslaves>[:<teamrunner>]
#
#       teamslaves is a comma-separated list of physical (ethernet) interfaces
#       teamrunner is the runner type to be used (see teamd.conf(5)); defaults to activebackup
#
#       team without parameters assumes team=team0:eth0,eth1:activebackup
#

parseteam() {
    local v=${1}:
    set --
    while [ -n "$v" ]; do
        set -- "$@" "${v%%:*}"
        v=${v#*:}
    done

    case $# in
    0)  teammaster=team0; teamslaves="eth0 eth1"; teamrunner="activebackup" ;;
    1)  teammaster=$1; teamslaves="eth0 eth1"; teamrunner="activebackup" ;;
    2)  teammaster=$1; teamslaves=$(str_replace "$2" "," " "); teamrunner="activebackup" ;;
    3)  teammaster=$1; teamslaves=$(str_replace "$2" "," " "); teamrunner=$3 ;;
    *)  die "team= requires zero to three parameters" ;;
    esac
    return 0
}

for team in $(getargs team); do
    [ "$team" = "team" ] && continue

    unset teammaster
    unset teamslaves
    unset teamrunner

    parseteam "$team" || continue

    echo "teammaster=$teammaster" > /tmp/team.${teammaster}.info
    echo "teamslaves=\"$teamslaves\"" >> /tmp/team.${teammaster}.info
    echo "teamrunner=\"$teamrunner\"" >> /tmp/team.${teammaster}.info

    if ! [ -e /etc/teamd/${teammaster}.conf ]; then
        warn "Team master $teammaster specified, but no /etc/teamd/$teammaster.conf present. Using $teamrunner."
        mkdir -p /etc/teamd
        printf -- "%s" "{\"runner\": {\"name\": \"$teamrunner\"}, \"link_watch\": {\"name\": \"ethtool\"}}" > "/tmp/${teammaster}.conf"
    fi
done

Directory Contents

Dirs: 0 × Files: 13

Name Size Perms Modified Actions
9.15 KB lrwxr-xr-x 2025-12-17 18:54:46
Edit Download
303 B lrw-r--r-- 2018-10-08 13:38:33
Edit Download
15.18 KB lrwxr-xr-x 2025-12-17 18:54:47
Edit Download
252 B lrwxr-xr-x 2018-10-08 13:38:33
Edit Download
2.81 KB lrwxr-xr-x 2025-12-17 18:54:45
Edit Download
4.01 KB lrwxr-xr-x 2025-12-17 18:54:47
Edit Download
1.96 KB lrwxr-xr-x 2018-10-08 13:38:33
Edit Download
1.10 KB lrwxr-xr-x 2018-10-08 13:38:33
Edit Download
283 B lrwxr-xr-x 2018-10-08 13:38:33
Edit Download
552 B lrwxr-xr-x 2018-10-08 13:38:33
Edit Download
4.83 KB lrwxr-xr-x 2025-12-17 18:54:47
Edit Download
1.56 KB lrwxr-xr-x 2025-12-17 18:54:46
Edit Download
662 B lrwxr-xr-x 2018-10-08 13:38:33
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).