Fix proxy ndp configuration
[snf-network] / vlans / prv-net-helper
1 #!/bin/bash
2
3 function usage {
4         echo "Usage: $0 <mode> <parent interface> <prv min> <prv max> <offset>"
5         exit 1
6 }
7
8 if [ $# -ne 5 ]; then
9         usage
10 fi
11
12 function up {
13         iface=$1
14         prv_min=$2
15         prv_max=$3
16         offset=$4
17
18         echo "Adding VLANs $2 - $3"
19         vconfig set_name_type DEV_PLUS_VID_NO_PAD
20         for prv in $(seq $prv_min $prv_max); do
21                 vlan=$(($prv+$offset))
22                 bridge=prv$prv
23
24                 vconfig add $iface $vlan
25                 ifconfig $iface.$vlan up
26                 brctl addbr $bridge
27                 brctl setfd $bridge 0
28                 brctl addif $bridge $iface.$vlan # dev_plus_vid
29                 ifconfig $bridge up
30         done
31 }
32
33 function down {
34         iface=$1
35         prv_min=$2
36         prv_max=$3
37         offset=$4
38
39         echo "Removing VLANs $2 - $3"
40         for prv in $(seq $prv_min $prv_max); do
41                 vlan=$(($prv+$offset))
42                 bridge=prv$prv
43
44                 (
45                 ifconfig $bridge down
46                 brctl delif $bridge $iface.$vlan # dev_plus_vid
47                 vconfig rem $iface.$vlan
48                 brctl delbr $bridge
49                 ) 2>/dev/null
50         done
51 }
52
53 mode=$1; shift
54 if [ "$mode" = "up" ]; then
55         up $@
56 elif [ "$mode" = "down" ]; then
57         down $@
58 else
59         usage
60 fi