# Generate list of files in debian/ to distribute.
(echo '# Automatically generated by boot.sh (from Git tree).' &&
- echo 'EXTRA_DIST += \' &&
+ printf 'EXTRA_DIST += \\\n' &&
git ls-files debian | grep -v '^debian/\.gitignore$' |
sed -e 's/\(.*\)/ \1 \\/' -e '$s/ \\//') > debian/automake.mk
echo 'Enabling openflowext...'
echo 'include ext/automake.mk' > ext.mk
echo 'm4_include([ext/configure.m4])' > ext.m4
+ cat debian/control.in ext/debian/control.in > debian/control
+ for d in $(cd ext/debian && git ls-files --exclude-from=debian/dontlink)
+ do
+ test -e debian/$d || ln -s ../ext/debian/$d debian/$d
+ if ! fgrep -q $d debian/.gitignore; then
+ echo "Adding $d to debian/.gitignore"
+ (cat debian/.gitignore && printf '/%s' "$d") \
+ | LC_ALL=C sort > tmp$$ \
+ && mv tmp$$ debian/.gitignore
+ fi
+ done
else
echo 'Disabling openflowext...'
echo '# This file intentionally left blank.' > ext.mk
echo '# This file intentionally left blank.' > ext.m4
+ cat debian/control.in > debian/control
fi
# Bootstrap configure system from .ac/.am files
*.debhelper
+*.debhelper.log
*.substvars
/automake.mk
+/control
/files
/openflow
/openflow-common
+/openflow-common.copyright
/openflow-controller
/openflow-datapath-source
/openflow-pki
/openflow-switch
+/openflow-switch.copyright
+/openflow-switchmon
+/openflow-switchmon.copyright
+/openflow-switchmon.default
+/openflow-switchmon.dirs
+/openflow-switchmon.init
+/openflow-switchmon.install
+++ /dev/null
-Source: openflow
-Section: net
-Priority: extra
-Maintainer: OpenFlow Team <openflow-dev@lists.stanford.edu>
-Build-Depends: debhelper (>= 5), autoconf (>= 2.60), automake1.10, libssl-dev, pkg-config (>= 0.21), po-debconf, bzip2, openssl
-Standards-Version: 3.7.3
-
-Package: openflow-datapath-source
-Architecture: all
-Depends: module-assistant, bzip2, debhelper (>= 5.0.37)
-Suggests: openflow-switch
-Description: Source code for OpenFlow datapath Linux module
- This package provides the OpenFlow datapath module source code that
- is needed by the kernel-based OpenFlow switch. The kernel module can
- be built from it using module-assistant or make-kpkg. README.Debian
- in this package provides further instructions.
- .
- OpenFlow is a protocol for flow-based control over network switching.
-
-Package: openflow-common
-Architecture: any
-Depends: ${shlibs:Depends}
-Description: OpenFlow common components
- openflow-common provides components required by both openflow-switch
- and openflow-controller.
- .
- OpenFlow is a protocol for flow-based control over network switching.
-
-Package: openflow-switch
-Architecture: any
-Suggests: openflow-datapath-module
-Depends: ${shlibs:Depends}, ${misc:Depends}, openflow-common, libwww-perl, libdigest-sha1-perl, dhcp3-client
-Description: OpenFlow switch implementations
- openflow-switch provides the userspace components and utilities for
- the OpenFlow kernel-based switch. It also includes a userspace-only
- implementation of an OpenFlow switch.
- .
- OpenFlow is a protocol for flow-based control over network switching.
-
-Package: openflow-pki
-Architecture: all
-Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, openflow-common, apache2
-Description: OpenFlow public key infrastructure
- openflow-pki provides PKI (public key infrastructure) support for
- OpenFlow switches and controllers, reducing the risk of
- man-in-the-middle attacks on the OpenFlow network infrastructure.
- .
- OpenFlow is a protocol for flow-based control over network switching.
-
-Package: openflow-controller
-Architecture: any
-Depends: ${shlibs:Depends}, openflow-common, openflow-pki
-Description: OpenFlow controller implementation
- The OpenFlow controller enables OpenFlow switches that connect to it
- to act as MAC-learning Ethernet switches.
- .
- OpenFlow is a protocol for flow-based control over network switching.
--- /dev/null
+Source: openflow
+Section: net
+Priority: extra
+Maintainer: OpenFlow Team <openflow-dev@lists.stanford.edu>
+Build-Depends: debhelper (>= 5), autoconf (>= 2.60), automake1.10, libssl-dev, pkg-config (>= 0.21), po-debconf, bzip2, openssl
+Standards-Version: 3.7.3
+
+Package: openflow-datapath-source
+Architecture: all
+Depends: module-assistant, bzip2, debhelper (>= 5.0.37)
+Suggests: openflow-switch
+Description: Source code for OpenFlow datapath Linux module
+ This package provides the OpenFlow datapath module source code that
+ is needed by the kernel-based OpenFlow switch. The kernel module can
+ be built from it using module-assistant or make-kpkg. README.Debian
+ in this package provides further instructions.
+ .
+ OpenFlow is a protocol for flow-based control over network switching.
+
+Package: openflow-common
+Architecture: any
+Depends: ${shlibs:Depends}
+Description: OpenFlow common components
+ openflow-common provides components required by both openflow-switch
+ and openflow-controller.
+ .
+ OpenFlow is a protocol for flow-based control over network switching.
+
+Package: openflow-switch
+Architecture: any
+Suggests: openflow-datapath-module
+Depends: ${shlibs:Depends}, ${misc:Depends}, openflow-common, libwww-perl, libdigest-sha1-perl, dhcp3-client
+Description: OpenFlow switch implementations
+ openflow-switch provides the userspace components and utilities for
+ the OpenFlow kernel-based switch. It also includes a userspace-only
+ implementation of an OpenFlow switch.
+ .
+ OpenFlow is a protocol for flow-based control over network switching.
+
+Package: openflow-pki
+Architecture: all
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, openflow-common, apache2
+Description: OpenFlow public key infrastructure
+ openflow-pki provides PKI (public key infrastructure) support for
+ OpenFlow switches and controllers, reducing the risk of
+ man-in-the-middle attacks on the OpenFlow network infrastructure.
+ .
+ OpenFlow is a protocol for flow-based control over network switching.
+
+Package: openflow-controller
+Architecture: any
+Depends: ${shlibs:Depends}, openflow-common, openflow-pki
+Description: OpenFlow controller implementation
+ The OpenFlow controller enables OpenFlow switches that connect to it
+ to act as MAC-learning Ethernet switches.
+ .
+ OpenFlow is a protocol for flow-based control over network switching.
+
# Required if SSL enabled.
#CACERT=/etc/openflow-switch/cacert.pem
-# Additional options to pass to secchan, e.g. "--fail=open"
+# MGMT_VCONNS: List of vconns (space-separated) on which secchan
+# should listen for management connections from dpctl, etc.
+# openflow-switchmon by default connects to
+# unix:/var/run/secchan.socket, so do not disable this if you want to
+# use openflow-switchmon.
+MGMT_VCONNS="punix:/var/run/secchan.socket"
+
+# DAEMON_OPTS: Additional options to pass to secchan, e.g. "--fail=open"
DAEMON_OPTS=""
LOGDIR=/var/log/openflow
PIDFILE=/var/run/$NAME.pid
-MGMTSOCK=/var/run/$NAME.socket
DHCLIENT_PIDFILE=/var/run/dhclient.of0.pid
DODTIME=1 # Time to wait for the server to die, in seconds
# If this value is set too low you might not
must_succeed "Disabling of0" ifconfig of0 down
fi
+ MGMT_OPTS=
+ for vconn in $MGMT_VCONNS; do
+ MGMT_OPTS="$MGMT_OPTS --listen=$vconn"
+ done
+
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--exec $DAEMON -- nl:0 $CONTROLLER --detach --pidfile=$PIDFILE \
- --verbose=ANY:console:emer --listen=punix:$MGMTSOCK \
- $DAEMON_OPTS $SSL_OPTS
+ --verbose=ANY:console:emer $DAEMON_OPTS $MGMT_OPTS $SSL_OPTS
if running; then
echo "$NAME."
else