#!/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
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| dhclient-script.sh | File | 9.15 KB | 0755 |
|
| dhclient.conf | File | 303 B | 0644 |
|
| ifup.sh | File | 15.18 KB | 0755 |
|
| kill-dhclient.sh | File | 252 B | 0755 |
|
| module-setup.sh | File | 2.81 KB | 0755 |
|
| net-genrules.sh | File | 4.01 KB | 0755 |
|
| parse-bond.sh | File | 1.96 KB | 0755 |
|
| parse-bridge.sh | File | 1.1 KB | 0755 |
|
| parse-ibft.sh | File | 283 B | 0755 |
|
| parse-ifname.sh | File | 552 B | 0755 |
|
| parse-ip-opts.sh | File | 4.83 KB | 0755 |
|
| parse-team.sh | File | 1.56 KB | 0755 |
|
| parse-vlan.sh | File | 662 B | 0755 |
|