#!/bin/sh # # Format: # team=: # # teamslaves is a comma-separated list of physical (ethernet) interfaces # parseteam() { local v=${1}: set -- while [ -n "$v" ]; do set -- "$@" "${v%%:*}" v=${v#*:} done case $# in 2) teammaster=$1; teamslaves=$(str_replace "$2" "," " ") ;; *) die "team= requires two parameters" ;; esac } for team in $(getargs team=); do unset teammaster teamslaves parseteam "$(getarg team=)" echo "teammaster=$teammaster" > /tmp/team.${teammaster}.info echo "teamslaves=\"$teamslaves\"" >> /tmp/team.${teammaster}.info if ! [ -e /etc/teamd/${teammaster}.conf ]; then warn "Team master $teammaster specified, but no /etc/teamd/$teammaster.conf present. Using activebackup." mkdir -p /etc/teamd printf -- "%s" '{"runner": {"name": "activebackup"}, "link_watch": {"name": "ethtool"}}' > "/etc/teamd/${teammaster}.conf" fi done