Skip to content

Commit 2a52e06

Browse files
committed
vxlan: Code indentation and styling fixes
This script was using TAB instead of 4 spaces and had many blank lines containing whitespace. This commit also fixes some Bash styling, but it does not touch the functionality of the script. Signed-off-by: Wido den Hollander <wido@widodh.nl>
1 parent ac9562a commit 2a52e06

1 file changed

Lines changed: 177 additions & 181 deletions

File tree

scripts/vm/network/vnet/modifyvxlan.sh

Lines changed: 177 additions & 181 deletions
Original file line numberDiff line numberDiff line change
@@ -26,150 +26,147 @@ usage() {
2626
}
2727

2828
addVxlan() {
29-
local vxlanId=$1
30-
local pif=$2
31-
local vxlanDev=vxlan$vxlanId
32-
local vxlanBr=$3
33-
local mcastGrp="239.$(( ($vxlanId >> 16) % 256 )).$(( ($vxlanId >> 8) % 256 )).$(( $vxlanId % 256 ))"
34-
35-
## TODO(VXLAN): $brif (trafficlabel) should be passed from caller because we cannot assume 1:1 mapping between pif and brif.
36-
# lookup bridge interface
37-
local sysfs_dir=/sys/devices/virtual/net/
38-
local brif=`find ${sysfs_dir}*/brif/ -name $pif | sed -e "s,$sysfs_dir,," | sed -e 's,/brif/.*$,,'`
39-
40-
if [ "$brif " == " " ]
41-
then
42-
if [ -d "/sys/class/net/${pif}" ]
43-
then
44-
# if bridge is not found, but matches a pif, use it
45-
brif=$pif
46-
else
47-
printf "Failed to lookup bridge interface which includes pif: $pif."
48-
return 1
49-
fi
50-
else
51-
# confirm ip address of $brif
52-
ip addr show $brif | grep -w inet
53-
if [ $? -gt 0 ]
54-
then
55-
printf "Failed to find vxlan multicast source ip address on brif: $brif."
56-
return 1
57-
fi
58-
fi
59-
60-
# mcast route
61-
## TODO(VXLAN): Can we assume there're only one IP address which can be multicast src IP on the IF?
62-
ip route get $mcastGrp | grep -w "dev $brif"
63-
if [ $? -gt 0 ]
64-
then
65-
ip route add $mcastGrp/32 dev $brif
66-
if [ $? -gt 0 ]
67-
then
68-
printf "Failed to add vxlan multicast route on brif: $brif."
69-
return 1
70-
fi
71-
fi
72-
73-
if [ ! -d /sys/class/net/$vxlanDev ]
74-
then
75-
ip link add $vxlanDev type vxlan id $vxlanId group $mcastGrp ttl 10 dev $brif
76-
77-
if [ $? -gt 0 ]
78-
then
79-
# race condition that someone already creates the vxlan
80-
if [ ! -d /sys/class/net/$vxlanDev ]
81-
then
82-
printf "Failed to create vxlan $vxlanId on brif: $brif."
83-
return 1
84-
fi
85-
fi
86-
fi
87-
88-
# is up?
89-
ip link show $vxlanDev | grep -w UP > /dev/null
90-
if [ $? -gt 0 ]
91-
then
92-
ip link set $vxlanDev up > /dev/null
93-
fi
94-
95-
if [ ! -d /sys/class/net/$vxlanBr ]
96-
then
97-
brctl addbr $vxlanBr > /dev/null
98-
99-
if [ $? -gt 0 ]
100-
then
101-
if [ ! -d /sys/class/net/$vxlanBr ]
102-
then
103-
printf "Failed to create br: $vxlanBr"
104-
return 2
105-
fi
106-
fi
107-
108-
brctl setfd $vxlanBr 0
109-
fi
110-
111-
#pif is eslaved into vxlanBr?
112-
ls /sys/class/net/$vxlanBr/brif/ | grep -w "$vxlanDev" > /dev/null
113-
if [ $? -gt 0 ]
114-
then
115-
brctl addif $vxlanBr $vxlanDev > /dev/null
116-
if [ $? -gt 0 ]
117-
then
118-
ls /sys/class/net/$vxlanBr/brif/ | grep -w "$vxlanDev" > /dev/null
119-
if [ $? -gt 0 ]
120-
then
121-
printf "Failed to add vxlan: $vxlanDev to $vxlanBr"
122-
return 3
123-
fi
124-
fi
125-
fi
126-
127-
# is vxlanBr up?
128-
ip link show $vxlanBr | grep -w UP > /dev/null
129-
if [ $? -gt 0 ]
130-
then
131-
ip link set $vxlanBr up
132-
fi
133-
134-
return 0
29+
local vxlanId=$1
30+
local pif=$2
31+
local vxlanDev=vxlan$vxlanId
32+
local vxlanBr=$3
33+
local mcastGrp="239.$(( ($vxlanId >> 16) % 256 )).$(( ($vxlanId >> 8) % 256 )).$(( $vxlanId % 256 ))"
34+
35+
## TODO(VXLAN): $brif (trafficlabel) should be passed from caller because we cannot assume 1:1 mapping between pif and brif.
36+
# lookup bridge interface
37+
local sysfs_dir=/sys/devices/virtual/net/
38+
local brif=`find ${sysfs_dir}*/brif/ -name $pif | sed -e "s,$sysfs_dir,," | sed -e 's,/brif/.*$,,'`
39+
40+
if [ "$brif " == " " ]
41+
then
42+
if [ -d "/sys/class/net/${pif}" ]
43+
then
44+
# if bridge is not found, but matches a pif, use it
45+
brif=$pif
46+
else
47+
printf "Failed to lookup bridge interface which includes pif: $pif."
48+
return 1
49+
fi
50+
else
51+
# confirm ip address of $brif
52+
ip addr show $brif | grep -w inet
53+
if [ $? -gt 0 ]
54+
then
55+
printf "Failed to find vxlan multicast source ip address on brif: $brif."
56+
return 1
57+
fi
58+
fi
59+
60+
# mcast route
61+
## TODO(VXLAN): Can we assume there're only one IP address which can be multicast src IP on the IF?
62+
ip route get $mcastGrp | grep -w "dev $brif"
63+
if [ $? -gt 0 ]
64+
then
65+
ip route add $mcastGrp/32 dev $brif
66+
if [ $? -gt 0 ]
67+
then
68+
printf "Failed to add vxlan multicast route on brif: $brif."
69+
return 1
70+
fi
71+
fi
72+
73+
if [ ! -d /sys/class/net/$vxlanDev ]
74+
then
75+
ip link add $vxlanDev type vxlan id $vxlanId group $mcastGrp ttl 10 dev $brif
76+
if [ $? -gt 0 ]
77+
then
78+
# race condition that someone already creates the vxlan
79+
if [ ! -d /sys/class/net/$vxlanDev ]
80+
then
81+
printf "Failed to create vxlan $vxlanId on brif: $brif."
82+
return 1
83+
fi
84+
fi
85+
fi
86+
87+
# is up?
88+
ip link show $vxlanDev | grep -w UP > /dev/null
89+
if [ $? -gt 0 ]
90+
then
91+
ip link set $vxlanDev up > /dev/null
92+
fi
93+
94+
if [ ! -d /sys/class/net/$vxlanBr ]
95+
then
96+
brctl addbr $vxlanBr > /dev/null
97+
if [ $? -gt 0 ]
98+
then
99+
if [ ! -d /sys/class/net/$vxlanBr ]
100+
then
101+
printf "Failed to create br: $vxlanBr"
102+
return 2
103+
fi
104+
fi
105+
brctl setfd $vxlanBr 0
106+
fi
107+
108+
#pif is eslaved into vxlanBr?
109+
ls /sys/class/net/$vxlanBr/brif/ | grep -w "$vxlanDev" > /dev/null
110+
if [ $? -gt 0 ]
111+
then
112+
brctl addif $vxlanBr $vxlanDev > /dev/null
113+
if [ $? -gt 0 ]
114+
then
115+
ls /sys/class/net/$vxlanBr/brif/ | grep -w "$vxlanDev" > /dev/null
116+
if [ $? -gt 0 ]
117+
then
118+
printf "Failed to add vxlan: $vxlanDev to $vxlanBr"
119+
return 3
120+
fi
121+
fi
122+
fi
123+
124+
# is vxlanBr up?
125+
ip link show $vxlanBr | grep -w UP > /dev/null
126+
if [ $? -gt 0 ]
127+
then
128+
ip link set $vxlanBr up
129+
fi
130+
131+
return 0
135132
}
136133

137134
deleteVxlan() {
138-
local vxlanId=$1
139-
local pif=$2
140-
local vxlanDev=vxlan$vxlanId
141-
local vxlanBr=$3
142-
local mcastGrp="239.$(( ($vxlanId >> 16) % 256 )).$(( ($vxlanId >> 8) % 256 )).$(( $vxlanId % 256 ))"
143-
144-
local sysfs_dir=/sys/devices/virtual/net/
145-
local brif=`find ${sysfs_dir}*/brif/ -name $pif | sed -e "s,$sysfs_dir,," | sed -e 's,/brif/.*$,,'`
146-
147-
ip route del $mcastGrp/32 dev $brif
148-
149-
ip link delete $vxlanDev
150-
151-
if [ $? -gt 0 ]
152-
then
153-
printf "Failed to del vxlan: $vxlanId"
154-
printf "Continue..."
155-
fi
156-
157-
ip link set $vxlanBr down
158-
159-
if [ $? -gt 0 ]
160-
then
161-
return 1
162-
fi
163-
164-
brctl delbr $vxlanBr
165-
166-
if [ $? -gt 0 ]
167-
then
168-
printf "Failed to del bridge $vxlanBr"
169-
return 1
170-
fi
171-
172-
return 0
135+
local vxlanId=$1
136+
local pif=$2
137+
local vxlanDev=vxlan$vxlanId
138+
local vxlanBr=$3
139+
local mcastGrp="239.$(( ($vxlanId >> 16) % 256 )).$(( ($vxlanId >> 8) % 256 )).$(( $vxlanId % 256 ))"
140+
141+
local sysfs_dir=/sys/devices/virtual/net/
142+
local brif=`find ${sysfs_dir}*/brif/ -name $pif | sed -e "s,$sysfs_dir,," | sed -e 's,/brif/.*$,,'`
143+
144+
ip route del $mcastGrp/32 dev $brif
145+
146+
ip link delete $vxlanDev
147+
148+
if [ $? -gt 0 ]
149+
then
150+
printf "Failed to del vxlan: $vxlanId"
151+
printf "Continue..."
152+
fi
153+
154+
ip link set $vxlanBr down
155+
156+
if [ $? -gt 0 ]
157+
then
158+
return 1
159+
fi
160+
161+
brctl delbr $vxlanBr
162+
163+
if [ $? -gt 0 ]
164+
then
165+
printf "Failed to del bridge $vxlanBr"
166+
return 1
167+
fi
168+
169+
return 0
173170
}
174171

175172
op=
@@ -179,61 +176,60 @@ option=$@
179176
while getopts 'o:v:p:b:' OPTION
180177
do
181178
case $OPTION in
182-
o) oflag=1
183-
op="$OPTARG"
184-
;;
185-
v) vflag=1
186-
vxlanId="$OPTARG"
187-
;;
188-
p) pflag=1
189-
pif="$OPTARG"
190-
;;
191-
b) bflag=1
192-
brName="$OPTARG"
193-
;;
194-
?) usage
195-
exit 2
196-
;;
179+
o) oflag=1
180+
op="$OPTARG"
181+
;;
182+
v) vflag=1
183+
vxlanId="$OPTARG"
184+
;;
185+
p) pflag=1
186+
pif="$OPTARG"
187+
;;
188+
b) bflag=1
189+
brName="$OPTARG"
190+
;;
191+
?) usage
192+
exit 2
193+
;;
197194
esac
198195
done
199196

200197
# Check that all arguments were passed in
201198
if [ "$oflag$vflag$pflag$bflag" != "1111" ]
202199
then
203-
usage
204-
exit 2
200+
usage
201+
exit 2
205202
fi
206203

207204
# Do we support Vxlan?
208205
lsmod|grep ^vxlan >& /dev/null
209206
if [ $? -gt 0 ]
210207
then
211-
modprobe=`modprobe vxlan 2>&1`
212-
if [ $? -gt 0 ]
213-
then
214-
printf "Failed to load vxlan kernel module: $modprobe"
215-
exit 1
216-
fi
208+
modprobe=`modprobe vxlan 2>&1`
209+
if [ $? -gt 0 ]
210+
then
211+
printf "Failed to load vxlan kernel module: $modprobe"
212+
exit 1
213+
fi
217214
fi
218215

219216
if [ "$op" == "add" ]
220217
then
221-
# Add the vxlan
222-
addVxlan $vxlanId $pif $brName
223-
224-
# If the add fails then return failure
225-
if [ $? -gt 0 ]
226-
then
227-
exit 1
228-
fi
218+
# Add the vxlan
219+
addVxlan $vxlanId $pif $brName
220+
221+
# If the add fails then return failure
222+
if [ $? -gt 0 ]
223+
then
224+
exit 1
225+
fi
229226
else
230-
if [ "$op" == "delete" ]
231-
then
232-
# Delete the vxlan
233-
deleteVxlan $vxlanId $pif $brName
234-
235-
# Always exit with success
236-
exit 0
237-
fi
227+
if [ "$op" == "delete" ]
228+
then
229+
# Delete the vxlan
230+
deleteVxlan $vxlanId $pif $brName
231+
232+
# Always exit with success
233+
exit 0
234+
fi
238235
fi
239-

0 commit comments

Comments
 (0)