#!/bin/sh # # Format: # bond=<bondname>[:<bondslaves>:[:<options>[:<mtu>]]] # # bondslaves is a comma-separated list of physical (ethernet) interfaces # options is a comma-separated list on bonding options (modinfo bonding for details) in format compatible with initscripts # if options include multi-valued arp_ip_target option, then its values should be separated by semicolon. # # bond without parameters assumes bond=bond0:eth0,eth1:mode=balance-rr # # if the mtu is specified, it will be set on the bond master # # We translate list of slaves to space-separated here to mwke it easier to loop over them in ifup # Ditto for bonding options parsebond() { local v=${1}: set -- while [ -n "$v" ]; do set -- "$@" "${v%%:*}" v=${v#*:} done case $# in 0) bondname=bond0; bondslaves="eth0 eth1" ;; 1) bondname=$1; bondslaves="eth0 eth1" ;; 2) bondname=$1; bondslaves=$(str_replace "$2" "," " ") ;; 3) bondname=$1; bondslaves=$(str_replace "$2" "," " "); bondoptions=$(str_replace "$3" "," " ") ;; 4) bondname=$1; bondslaves=$(str_replace "$2" "," " "); bondoptions=$(str_replace "$3" "," " "); bondmtu=$4;; *) die "bond= requires zero to four parameters" ;; esac } # Parse bond for bondname, bondslaves, bondmode, bondoptions and bondmtu for bond in $(getargs bond=); do unset bondname unset bondslaves unset bondoptions unset bondmtu if [ "$bond" != "bond" ]; then parsebond "$bond" fi # Simple default bond if [ -z "$bondname" ]; then bondname=bond0 bondslaves="eth0 eth1" fi # Make it suitable for initscripts export bondoptions=$(str_replace "$bondoptions" ";" ",") echo "bondname=$bondname" > /tmp/bond.${bondname}.info echo "bondslaves=\"$bondslaves\"" >> /tmp/bond.${bondname}.info echo "bondoptions=\"$bondoptions\"" >> /tmp/bond.${bondname}.info echo "bondmtu=\"$bondmtu\"" >> /tmp/bond.${bondname}.info done
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
dhclient-script.sh | File | 8.32 KB | 0755 |
|
dhclient.conf | File | 262 B | 0644 |
|
dhcp-root.sh | File | 926 B | 0755 |
|
ifname-genrules.sh | File | 1.2 KB | 0755 |
|
ifup.sh | File | 13.6 KB | 0755 |
|
kill-dhclient.sh | File | 362 B | 0755 |
|
module-setup.sh | File | 4.72 KB | 0755 |
|
net-genrules.sh | File | 3.67 KB | 0755 |
|
net-lib.sh | File | 24.13 KB | 0755 |
|
netroot.sh | File | 2.72 KB | 0755 |
|
parse-bond.sh | File | 1.96 KB | 0755 |
|
parse-bridge.sh | File | 1.1 KB | 0755 |
|
parse-ibft.sh | File | 393 B | 0755 |
|
parse-ifname.sh | File | 662 B | 0755 |
|
parse-ip-opts.sh | File | 4.8 KB | 0755 |
|
parse-team.sh | File | 983 B | 0755 |
|
parse-vlan.sh | File | 532 B | 0755 |
|