]> git.ipfire.org Git - people/stevee/network.git/blob - hooks/stp
network: New package.
[people/stevee/network.git] / hooks / stp
1 #!/bin/sh
2 ########################################################################
3 # Begin $NETWORK_DEVICES/services/stp
4 #
5 # Description : Spanning Tree Protocol Script
6 #
7 # Authors : Michael Tremer - michael.tremer@ipfire.org
8 #
9 # Version : 00.00
10 #
11 # Notes : This script adds stp support to a bridge.
12 #
13 ########################################################################
14
15 . /lib/network/hook-header
16
17 HOOK_NAME=stp
18 HOOK_TYPE=zone
19
20 case "${action}" in
21 help)
22 ;;
23
24 info)
25 echo "HOOK_NAME=$HOOK_NAME"
26 echo "HOOK_TYPE=$HOOK_TYPE"
27 ;;
28
29 pre-up)
30 ;;
31
32 post-up)
33 MESSAGE="Enabling Spanning Tree Protocol on zone ${zone}..."
34 brctl stp ${zone} on
35 evaluate_retval
36 ;;
37
38 pre-down)
39 MESSAGE="Disabling Spanning Tree Protocol on zone ${zone}..."
40 brctl stp ${zone} off
41 evaluate_retval
42 ;;
43
44 post-down)
45 ;;
46
47 add)
48 shift 2
49 while [ $# -gt 0 ]; do
50 case "$1" in
51 --ageing=*)
52 AGEING=${1#--ageing=}
53 ;;
54 --priority=*)
55 PRIORITY=${1#--priority=}
56 ;;
57 --delay=*)
58 DELAY=${1#--delay=}
59 ;;
60 --hello=*)
61 HELLO=${1#--hello=}
62 ;;
63 --maxage=*)
64 MAXAGE=${1#--maxage=}
65 ;;
66 *)
67 echo "Unknown option: $1" >&2
68 exit 1
69 ;;
70 esac
71 shift
72 done
73 cat <<EOF >${CONFIG_ZONES}/${zone}/${HOOK_NAME}
74 HOOK="${HOOK_NAME}"
75 AGEING="${AGEING}"
76 PRIORITY="${PRIORITY}"
77 DELAY="${DELAY}"
78 HELLO="${HELLO}"
79 MAXAGE="${MAXAGE}"
80 EOF
81 exit $?
82 ;;
83
84 rem)
85 ;;
86
87 discover)
88 exit ${EXIT_ERROR}
89 ;;
90
91 *)
92 echo "Usage: ${0} {pre-up|post-up|pre-down|post-down|config} [interface]"
93 exit 1
94 ;;
95 esac
96
97 # End $NETWORK_DEVICES/services/stp