#!/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 |
|