Toggle navigation
Toggle navigation
This project
Loading...
Sign in
UT
/
ipw
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
1
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Artyom A Anikeev
2014-04-15 16:55:27 +0400
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
96ff2f50dac022dc326fa5e18a9424a2c36534c1
96ff2f50
1 parent
85125a6b
bond farmework was done. Should be tested properly
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
76 additions
and
6 deletions
ipw
ipw
View file @
96ff2f5
...
...
@@ -258,15 +258,85 @@ case "$CMD" in
fix
)
#fix all interfaces to config state
#brctl addif bond0 eth2
#REMOVING UNNECESSARY D1Q
OLD_D1Q_IFACES
=
"
`
cat /sys/class/net/bonding_masters
`
"
for
OLD_D1Q_IFACE
in
${
OLD_D1Q_IFACES
[@]
}
;
do
D1Q_IS_USED
=
0
OLD_SLAVES_VARIABLE
=
"
`
cat /sys/class/net/
`
$OLD_D1Q_IFACE
`
/bonding/slaves
`
"
OLD_SLAVES_VARIABLE
=
"
${
OLD_SLAVES_VARIABLE
//[.]/_
}
[@]"
for
D1Q_IFACE
in
${
D1Q_IFACES
[@]
}
;
do
if
[[
"
$D1Q_IFACE
"
==
"
$OLD_D1Q_IFACE
"
]]
;
then
#let's kick out useless slaves
SLAVES_VARIABLE
=
"
${
D1Q_IFACE
}
_SLAVES"
SLAVES_VARIABLE
=
"
${
SLAVES_VARIABLE
//[.]/_
}
[@]"
for
OLD_SLAVE
in
"
${
!OLD_SLAVES_VARIABLE
}
"
;
do
SLAVE_IS_USED
=
0
for
SLAVE
in
"
${
!SLAVES_VARIABLE
}
"
;
do
if
[[
"
$SLAVE
"
==
"OLD_SLAVE"
]]
;
then
SLAVE_IS_USED
=
1
break
;
fi
done
if
[[
"
$SLAVE_IS_USED
"
==
0
]]
;
then
#echo "ip link set dev $OLD_SLAVE down"
echo
"echo '-
$OLD_SLAVE
' > /sys/class/net/"
$OLD_D1Q_IFACE
"/boding/slaves"
fi
done
D1Q_IS_USED
=
1
break
;
fi
done
if
[[
"
$D1Q_IS_USED
"
==
0
]]
;
then
#let's kick out useless d1q
#echo "ip link set dev $OLD_D1Q_IFACE down"
echo
"echo '-
$D1Q_IFACE
' > /sys/class/net/bonding_masters"
fi
done
#CREATING OF NECESSARY D1Q
for
D1Q_IFACE
in
${
D1Q_IFACES
[@]
}
;
do
SLAVES_VARIABLE
=
"
${
D1Q_IFACE
}
_SLAVES"
SLAVES_VARIABLE
=
"
${
SLAVES_VARIABLE
//[.]/_
}
[@]"
for
SLAVE
in
"
${
!SLAVES_VARIABLE
}
"
;
do
#if [[ ]]; then
#???TODO:ask bircoph how to ensalve with ip
#else
#fi
echo
"There are a place for a bond creating. Coming soon..."
D1Q_EXISTS
=
0
for
OLD_D1Q_IFACE
in
${
OLD_D1Q_IFACES
[@]
}
;
do
if
[[
"
$D1Q_IFACE
"
==
"
$OLD_D1Q_IFACE
"
]]
;
then
#it's here. Let's fix it.
OLD_SLAVES_VARIABLE
=
"
`
cat /sys/class/net/
`
$OLD_D1Q_IFACE
`
/bonding/slaves
`
"
OLD_SLAVES_VARIABLE
=
"
${
OLD_SLAVES_VARIABLE
//[.]/_
}
[@]"
for
SLAVE
in
"
${
!SLAVES_VARIABLE
}
"
;
do
SLAVE_EXISTS
=
0
for
OLD_SLAVE
in
"
${
!OLD_SLAVES_VARIABLE
}
"
;
do
if
[[
"
$SLAVE
"
==
"
$OLD_SLAVE
"
]]
;
then
SLAVE_EXISTS
=
1
break
;
fi
done
if
[[
"
$SLAVE_EXISTS
"
==
0
]]
;
then
echo
"ip link set dev
$SLAVE
down"
#enslaved int should be shutted down
echo
"echo '+
$SLAVE
' > /sys/class/net/"
$D1Q_IFACE
"/bonding/slaves"
fi
done
D1Q_EXISTS
=
1
break
;
fi
done
if
[[
"
$D1Q_EXISTS
"
==
0
]]
;
then
#make all
echo
"echo '+
$D1Q_IFACE
' > /sys/class/net/bonding_masters"
for
SLAVE
in
"
${
!SLAVES_VARIABLE
}
"
;
do
echo
"ip link set dev
$SLAVE
down"
#enslaved int should be shutted down
echo
"echo '+
$SLAVE
' > /sys/class/net/"
$D1Q_IFACE
"/bonding/slaves"
done
fi
echo
"ip link set dev
$D1Q_IFACE
up"
for
SLAVE
in
"
${
!SLAVES_VARIABLE
}
"
;
do
#slave starts after bond
echo
"ip link set dev
$SLAVE
up"
done
VLAN_N_BRIDGE_VARIABLE
=
"
${
D1Q_IFACE
}
_VLAN_N_BRIDGES"
...
...
Please
register
or
login
to post a comment