noinst_PROGRAMS =
noinst_SCRIPTS =
-EXTRA_DIST += README.hwtables subst
+EXTRA_DIST += README.hwtables soexpand.pl
-do_subst = ($(srcdir)/subst VLOG_OPTIONS $(srcdir)/lib/vlog.man | \
- sed -e 's,[@]LOGDIR[@],$(LOGDIR),g' \
- -e 's,[@]PKIDIR[@],$(PKIDIR),g' \
- -e 's,[@]RUNDIR[@],$(RUNDIR),g' \
- -e 's,[@]pkgdatadir[@],$(pkgdatadir),g' \
- -e 's,[@]PERL[@],$(PERL),g')
-ro_script = sed "`printf '1a\\' && printf '\\n\# -*- buffer-read-only: t -*-'`"
ro_c = echo '/* -*- mode: c; buffer-read-only: t -*- */'
SUFFIXES = .in
.in:
- $(do_subst) < $< > $@
+ $(PERL) $(srcdir)/soexpand.pl -I$(srcdir) < $< | \
+ sed -e 's,[@]LOGDIR[@],$(LOGDIR),g' \
+ -e 's,[@]PKIDIR[@],$(PKIDIR),g' \
+ -e 's,[@]RUNDIR[@],$(RUNDIR),g' \
+ -e 's,[@]pkgdatadir[@],$(pkgdatadir),g' \
+ -e 's,[@]PERL[@],$(PERL),g' > $@
include lib/automake.mk
include secchan/automake.mk
+.ds PN controller
+
.TH controller 8 "May 2008" "OpenFlow" "OpenFlow Manual"
.SH NAME
This option is most useful for debugging. It reduces switching
performance, so it should not be used in production.
-.TP
-\fB-P\fR[\fIpidfile\fR], \fB--pidfile\fR[\fB=\fIpidfile\fR]
-Causes a file (by default, \fBcontroller.pid\fR) to be created indicating
-the PID of the running process. If \fIpidfile\fR is not specified, or
-if it does not begin with \fB/\fR, then it is created in
-\fB@RUNDIR@\fR.
-
-.TP
-\fB-f\fR, \fB--force\fR
-By default, when \fB-P\fR or \fB--pidfile\fR is specified and the
-specified pidfile already exists and is locked by a running process,
-\fBcontroller\fR refuses to start. Specify \fB-f\fR or \fB--force\fR
-to cause it to instead overwrite the pidfile.
-
-When \fB-P\fR or \fB--pidfile\fR is not specified, this option has no
-effect.
-
-.TP
-\fB-D\fR, \fB--detach\fR
-Causes \fBcontroller\fR to detach itself from the foreground session and
-run as a background process.
-
-.TP
-.BR \-h ", " \-\^\-help
-Prints a brief help message to the console.
-
-@VLOG_OPTIONS@
-
-.TP
-.BR \-V ", " \-\^\-version
-Prints version information to the console.
+.so lib/daemon.man
+.so lib/vlog.man
+.so lib/common.man
.SH EXAMPLES
--- /dev/null
+.TP
+.BR \-h ", " \-\^\-help
+Prints a brief help message to the console.
+
+.TP
+.BR \-V ", " \-\^\-version
+Prints version information to the console.
--- /dev/null
+.TP
+\fB-P\fR[\fIpidfile\fR], \fB--pidfile\fR[\fB=\fIpidfile\fR]
+Causes a file (by default, \fB\*(PN.pid\fR) to be created indicating
+the PID of the running process. If \fIpidfile\fR is not specified, or
+if it does not begin with \fB/\fR, then it is created in
+\fB@RUNDIR@\fR.
+
+.TP
+\fB-f\fR, \fB--force\fR
+By default, when \fB-P\fR or \fB--pidfile\fR is specified and the
+specified pidfile already exists and is locked by a running process,
+\fB\*(PN\fR refuses to start. Specify \fB-f\fR or \fB--force\fR
+to cause it to instead overwrite the pidfile.
+
+When \fB-P\fR or \fB--pidfile\fR is not specified, this option has no
+effect.
+
+.TP
+\fB-D\fR, \fB--detach\fR
+Causes \fB\*(PN\fR to detach itself from the foreground session and
+run as a background process.
\fB--log-file\fR[\fB=\fIfile\fR]
Enables logging to a file. If \fIfile\fR is specified, then it is
used as the exact name for the log file. The default log file name
-used if \fIfile\fR is omitted is @LOGDIR@/\fIprogram\fR.log, where
-\fIprogram\fR is the name of the program as invoked
-(e.g. \fBsecchan\fR).
+used if \fIfile\fR is omitted is \fB@LOGDIR@/\*(PN.log\fR.
+.ds PN secchan
+
.TH secchan 8 "October 2008" "OpenFlow" "OpenFlow Manual"
.SH NAME
\fBcontroller\fR(8) can be configured to do so with the
\fB--peer-ca-cert\fR option.
-.TP
-\fB-P\fR[\fIpidfile\fR], \fB--pidfile\fR[\fB=\fIpidfile\fR]
-Causes a file (by default, \fBsecchan.pid\fR) to be created indicating
-the PID of the running process. If \fIpidfile\fR is not specified, or
-if it does not begin with \fB/\fR, then it is created in
-\fB@RUNDIR@\fR.
-
-.TP
-\fB-f\fR, \fB--force\fR
-By default, when \fB-P\fR or \fB--pidfile\fR is specified and the
-specified pidfile already exists and is locked by a running process,
-\fBsecchan\fR refuses to start. Specify \fB-f\fR or \fB--force\fR
-to cause it to instead overwrite the pidfile.
-
-When \fB-P\fR or \fB--pidfile\fR is not specified, this option has no
-effect.
-
-.TP
-\fB-D\fR, \fB--detach\fR
-Causes \fBsecchan\fR to detach itself from the foreground session and
-run as a background process.
-
-.TP
-.BR \-h ", " \-\^\-help
-Prints a brief help message to the console.
-
-@VLOG_OPTIONS@
-
-.TP
-.BR \-V ", " \-\^\-version
-Prints version information to the console.
+.so lib/daemon.man
+.so lib/vlog.man
+.so lib/common.man
.SH "SEE ALSO"
--- /dev/null
+use strict;
+use warnings;
+use Getopt::Long;
+
+my ($exit_code) = 0;
+my (@include_dirs);
+Getopt::Long::Configure ("bundling");
+GetOptions("I|include=s" => \@include_dirs) or exit(1);
+@include_dirs = ('.') if !@include_dirs;
+OUTER: while (<STDIN>) {
+ if (my ($name) = /^\.so (\S+)$/) {
+ foreach my $dir (@include_dirs, '.') {
+ if (open(INNER, "$dir/$name")) {
+ while (<INNER>) {
+ print $_;
+ }
+ close(INNER);
+ next OUTER;
+ }
+ }
+ print STDERR "$name not found in: ", join(' ', @include_dirs), "\n";
+ $exit_code = 1;
+ }
+ print $_;
+}
+exit $exit_code;
+++ /dev/null
-#! /bin/sh
-exec sed -e "/^@$1@\$/{
-r $2
-d
-}"
+.ds PN switch
+
.TH secchan 8 "May 2008" "OpenFlow" "OpenFlow Manual"
.SH NAME
.BR \-h ", " \-\^\-help
Prints a brief help message to the console.
-@VLOG_OPTIONS@
+.so lib/vlog.man
.TP
.BR \-V ", " \-\^\-version
+.ds PN udatapath
+
.TH udatapath 8 "May 2008" "OpenFlow" "OpenFlow Manual"
.SH NAME
Specifies a PEM file containing the CA certificate used to verify that
the datapath is connected to a trustworthy secure channel.
-.TP
-\fB-P\fR[\fIpidfile\fR], \fB--pidfile\fR[\fB=\fIpidfile\fR]
-Causes a file (by default, \fBudatapath.pid\fR) to be created indicating
-the PID of the running process. If \fIpidfile\fR is not specified, or
-if it does not begin with \fB/\fR, then it is created in
-\fB@RUNDIR@\fR.
-
-.TP
-\fB-f\fR, \fB--force\fR
-By default, when \fB-P\fR or \fB--pidfile\fR is specified and the
-specified pidfile already exists and is locked by a running process,
-\fBudatapath\fR refuses to start. Specify \fB-f\fR or \fB--force\fR
-to cause it to instead overwrite the pidfile.
-
-When \fB-P\fR or \fB--pidfile\fR is not specified, this option has no
-effect.
-
-.TP
-\fB-D\fR, \fB--detach\fR
-Causes \fBudatapath\fR to detach itself from the foreground session and
-run as a background process.
-
-.TP
-.BR \-h ", " \-\^\-help
-Prints a brief help message to the console.
-
-.TP
-\fB-v\fImodule\fR[\fB:\fIfacility\fR[\fB:\fIlevel\fR]], \fB--verbose=\fImodule\fR[\fB:\fIfacility\fR[\fB:\fIlevel\fR]]
-Sets the logging level for \fImodule\fR in \fIfacility\fR to
-\fIlevel\fR. The \fImodule\fR may be any valid module name (as
-displayed by the \fB--list\fR action on \fBvlogconf\fR(8)), or the
-special name \fBANY\fR to set the logging levels for all modules. The
-\fIfacility\fR may be \fBsyslog\fR or \fBconsole\fR to set the levels
-for logging to the system log or to the console, respectively, or
-\fBANY\fR to set the logging levels for both facilities. If it is
-omitted, \fIfacility\fR defaults to \fBANY\fR. The \fIlevel\fR must
-be one of \fBemer\fR, \fBerr\fR, \fBwarn\fR, or \fBdbg\fR, designating
-the minimum severity of a message for it to be logged. If it is
-omitted, \fIlevel\fR defaults to \fBdbg\fR.
-
-.TP
-\fB-v\fR, \fB--verbose\fR
-Sets the maximum logging verbosity level, equivalent to
-\fB--verbose=ANY:ANY:dbg\fR.
-
-.TP
-.BR \-V ", " \-\^\-version
-Prints version information to the console.
+.so lib/daemon.man
+.so lib/vlog.man
+.so lib/common.man
.SH BUGS
The userspace datapath's performance lags significantly behind that of
+.ds PN dpctl
+
.TH dpctl 8 "May 2008" "OpenFlow" "OpenFlow Manual"
.SH NAME
Specifies a PEM file containing the CA certificate used to verify that
a switch is trustworthy.
-.TP
-.BR \-h ", " \-\^\-help
-Prints a brief help message to the console.
-
-@VLOG_OPTIONS@
-
-.TP
-.BR \-V ", " \-\^\-version
-Prints version information to the console.
+.so lib/vlog.man
+.so lib/common.man
.SH EXAMPLES
+.ds PN ofp\-discover
+
.TH ofp\-discover 8 "May 2008" "OpenFlow" "OpenFlow Manual"
.SH NAME
When \fB-P\fR or \fB--pidfile\fR is not specified, this option has no
effect.
-.TP
-.BR \-h ", " \-\^\-help
-Prints a brief help message to the console.
-
-@VLOG_OPTIONS@
-
-.TP
-.BR \-V ", " \-\^\-version
-Prints version information to the console.
+.so lib/vlog.man
+.so lib/common.man
.SH BUGS
+.ds PN ofp\-kill
+
.TH ofp\-kill 8 "May 2008" "OpenFlow" "OpenFlow Manual"
.SH NAME
Causes \fBofp\-kill\fR to ignore all errors without printing a message
to \fBstderr\fR, and to exit with return code 0.
-.TP
-.BR \-h ", " \-\^\-help
-Prints a brief help message to the console.
-
-.TP
-.BR \-V ", " \-\^\-version
-Prints version information to the console.
+.so lib/common.man
.SH "EXIT CODE"
+.ds PN vlogconf
+
.TH vlogconf 8 "June 2008" "OpenFlow" "OpenFlow Manual"
.SH NAME
used.)
.SH OPTIONS
-.TP
-\fB\-h\fR, \fB\-\^\-help\fR
-Prints a brief help message to the console and exits.
+.so lib/common.man
.SH "SEE ALSO"