The use of OpenFlow controllers may require for a subset of the network (typically the management network intrerface) to be brought up before the openvswitch service is started.
The newly introduced key "OVSREQUIRES" allows to specify a list of interfaces that need the be brought up before the openvswitch service is autostarted. It is also possible to build a chain of bridge dependencies. TYPE=OVSBridge OVSREQURIES="em1" [...] A special UPPEDSTACK var that is passed along avoids getting lost in dependency loops. Signed-off-by: Thomas Graf <tg...@redhat.com> --- rhel/etc_sysconfig_network-scripts_ifup-ovs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/rhel/etc_sysconfig_network-scripts_ifup-ovs b/rhel/etc_sysconfig_network-scripts_ifup-ovs index 61b0af9..dcf90e4 100755 --- a/rhel/etc_sysconfig_network-scripts_ifup-ovs +++ b/rhel/etc_sysconfig_network-scripts_ifup-ovs @@ -34,6 +34,25 @@ if [ ! -x ${OTHERSCRIPT} ]; then OTHERSCRIPT="/etc/sysconfig/network-scripts/ifup-eth" fi +check_recursion() +{ + [ -n "${UPPEDSTACK}" ] && for _r in ${UPPEDSTACK}; do + [ "$_r" = "$1" ] && return 1 + done + + return 0 +} + +if [ -z "${UPPEDSTACK}" ]; then + UPPEDSTACK="${DEVICE}" +fi + +[ -n "${OVSREQUIRES}" ] && for _i in ${OVSREQUIRES}; do + if ( check_recursion "$_i" ); then + UPPEDSTACK="${UPPEDSTACK} $_i" /sbin/ifup "$_i" + fi +done + [ -f /var/lock/subsys/openvswitch ] || /sbin/service openvswitch start case "$TYPE" in -- 1.7.11.7 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev