Bring manpages and usage messages up-to-date.

This commit is contained in:
Ben Pfaff committed 2008-06-13 13:30:39 -07:00
1 parent 24ff8279e7
commit 07f8d9645c
19 files changed
+922 -219

No files matched your search

+6
View File
@@ -17,3 +17,9 @@ AM_CFLAGS += -DRUNDIR=\"$(rundir)\"
if !NDEBUG
AM_LDFLAGS = -export-dynamic
endif
do_subst = sed -e 's,[@]pkidir[@],$(pkidir),g' \
-e 's,[@]rundir[@],$(rundir),g' \
-e 's,[@]PERL[@],$(PERL),g'
ro_script = sed "`printf '1a\\' && printf '\\n\# -*- buffer-read-only: t -*-'`"
ro_man = printf '.\\" Local variables:\n.\\" buffer-read-only: t\n.\\" End:\n'
+1
View File
@@ -1,3 +1,4 @@
/Makefile
/Makefile.in
/controller
/controller.8
+6 -1
View File
@@ -1,7 +1,12 @@
include ../Make.vars
bin_PROGRAMS = controller
dist_man_MANS = controller.8
man_MANS = controller.8
DISTCLEANFILES = controller.8
controller_SOURCES = controller.c
controller_LDADD = ../lib/libopenflow.la -ldl
EXTRA_DIST = controller.8.in
controller.8: controller.8.in Makefile
($(do_subst) && $(ro_man)) < $(srcdir)/controller.8.in > controller.8
-71
View File
@@ -1,71 +0,0 @@
.TH controller 8 "May 2008" "OpenFlow" "OpenFlow Manual"
.SH NAME
controller \- simple OpenFlow controller reference implementation
.SH SYNOPSIS
.B controller
[OPTIONS] ptcp:[\fIPORT\fR] | nl:\fIDP_IDX\fR
.SH DESCRIPTION
A sample OpenFlow controller which functions as an L2 MAC-learning
switch or hub. \fBcontroller\fR can manage a remote datapath through
a secure channel (see \fBsecchan(8)\fR). It can also connect directly
to a local datapath via netlink.
To connect over netlink to a local datapath number \fIDP_IDX\fR (Linux
only), specify nl:\fIDP_IDX\fR on the command line. To listen for
TCP connections from remote datapaths on port \fIPORT\fR, specify
ptcp:[\fIPORT\fR]. (\fIPORT\fR defaults to 975 if omitted.)
\fBcontroller\fR can control multiple datapaths. Multiple ptcp: or
nl: arguments may be given. Multiple TCP clients may connect to a
single TCP server port.
.SH OPTIONS
.TP
.BR \-H ", " \-\^\-hub
By default, the controller acts as an L2 MAC-learning switch. This
option changes its behavior to that of a hub that floods packets on
all but the incoming port.
.TP
.BR \-h ", " \-\^\-help
Prints a brief help message to the console.
.TP
.BR \-n ", " \-\^\-noflow
This is similar to the \fB\-\^\-hub\fR option, but does not add a
flow entry in the switch. This causes all traffic seen by the switch
to be passed to the controller before being sent out all but the
incoming port.
.TP
.BR \-v ", " \-\^\-verbose
Prints debug messages to the console.
.TP
.BR \-V ", " \-\^\-version
Prints version information to the console.
.SH EXAMPLES
.TP
To connect directly to local datapath 0 over netlink (Linux only):
.B % controller nl:0
.TP
To bind locally to port 975 (the default) and wait for incoming connections from secure channels:
.B % controller ptcp:
.SH "SEE ALSO"
.BR dpctl (8),
.BR switch (8),
.BR secchan (8)
.BR vlogconf (8)
.SH BUGS
Currently \fBcontroller\fR does not support SSL.
+144
View File
@@ -0,0 +1,144 @@
.TH controller 8 "May 2008" "OpenFlow" "OpenFlow Manual"
.SH NAME
controller \- simple OpenFlow controller reference implementation
.SH SYNOPSIS
.B controller
[\fIoptions\fR] \fImethod\fR \fB[\fImethod\fR]\&...
.SH DESCRIPTION
A sample OpenFlow controller which functions as an L2 MAC-learning
switch or hub. \fBcontroller\fR can manage a remote datapath through
a secure channel (see \fBsecchan(8)\fR). It can also connect directly
to a local datapath via Netlink.
\fBcontroller\fR controls one or more OpenFlow switches, specified as
one or more of the following OpenFlow connection methods:
.TP
\fBpssl:\fR[\fIport\fR]
Listens for SSL connections from remote OpenFlow switches on
\fIport\fR (default: 976). The \fB--private-key\fR,
\fB--certificate\fR, and \fB--ca-cert\fR options are mandatory when
this form is used.
.TP
\fBptcp:\fR[\fIport\fR]
Listens for TCP connections from remote OpenFlow switches on
\fIport\fR (default: 975).
.TP
\fBnl:\fIdp_idx\fR
The local Netlink datapath numbered \fIdp_idx\fR, as configured with
.BR dpctl (8).
This form requires that the local host has the OpenFlow kernel
module for Linux loaded.
.TP
\fBssl:\fIhost\fR[\fB:\fIport\fR]
The specified SSL \fIport\fR (default: 976) on the given remote
\fIhost\fR. The \fB--private-key\fR, \fB--certificate\fR, and
\fB--ca-cert\fR options are mandatory when this form is used.
.TP
\fBtcp:\fIhost\fR[\fB:\fIport\fR]
The specified TCP \fIport\fR (default: 975) on the given remote
\fIhost\fR.
.SH OPTIONS
.TP
\fB-p\fR, \fB--private-key=\fIprivkey.pem\fR
Specifies a PEM file containing the private key used as the switch's
identity for SSL connections to the controller.
.TP
\fB-c\fR, \fB--certificate=\fIcert.pem\fR
Specifies a PEM file containing a certificate, signed by the
controller's certificate authority (CA), that certifies the switch's
private key to identify a trustworthy switch.
.TP
\fB-C\fR, \fB--ca-cert=\fIcacert.pem\fR
Specifies a PEM file containing the CA certificate used to verify that
the switch is connected to a trustworthy controller.
.TP
.BR \-n ", " \-\^\-noflow
By default, the controller sets up a flow in each OpenFlow switch
whenever it receives a packet whose destination is known due through
MAC learning. This option disables flow setup, so that every packet
in the network passes through the controller.
This option is most useful for debugging. It reduces switching
performance, so it should not be used in production.
.TP
.BR \-H ", " \-\^\-hub
By default, the controller acts as an L2 MAC-learning switch. This
option changes its behavior to that of a hub that floods packets on
all but the incoming port.
If \fB-H\fR (or \fB--hub\fR) and \fB-n\fR (or \fB--noflow\fR) are used
together, then the cumulative effect is that every packet passes
through the controller and every packet is flooded.
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-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.
.TP
\fB-v\fR \fImodule\fB:\fIfacility\fB:\fIlevel\fR, \fB--verbose=\fImodule\fB:\fIfacility\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. 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.
.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.
.SH EXAMPLES
.TP
To connect directly to local datapath 0 over netlink (Linux only):
.B % controller nl:0
.TP
To bind locally to port 975 (the default) and wait for incoming connections from OpenFlow switches:
.B % controller ptcp:
.SH "SEE ALSO"
.BR dpctl (8),
.BR switch (8),
.BR secchan (8),
.BR vlogconf (8)
+1
View File
@@ -290,6 +290,7 @@ usage(void)
" -P, --pidfile[=FILE] create pidfile (default: %s/controller.pid)\n"
" -H, --hub act as hub instead of learning switch\n"
" -n, --noflow pass traffic, but don't add flows\n"
" -v, --verbose=MODULE:FACILITY:LEVEL configure logging levels\n"
" -v, --verbose set maximum verbosity level\n"
" -h, --help display this help message\n"
" -V, --version display version information\n",
+1
View File
@@ -4,3 +4,4 @@
/ctlpath-lite
/dpctl-lite
/secchan
/secchan.8
+7 -2
View File
@@ -2,11 +2,16 @@ include ../Make.vars
if HAVE_NETLINK
bin_PROGRAMS = secchan
dist_man_MANS = secchan.8
man_MANS = secchan.8
else
bin_PROGRAMS =
dist_man_MANS =
man_MANS =
endif
secchan_SOURCES = secchan.c
secchan_LDADD = ../lib/libopenflow.la -ldl
EXTRA_DIST = secchan.8.in
DISTCLEANFILES = secchan.8
secchan.8: secchan.8.in Makefile
($(do_subst) && $(ro_man)) < $(srcdir)/secchan.8.in > secchan.8
-43
View File
@@ -1,43 +0,0 @@
.TH secchan 8 "May 2008" "OpenFlow" "OpenFlow Manual"
.SH NAME
secchan \- secure channel connecting an OpenFlow datapath to a controller
.SH SYNOPSIS
.B secchan
[OPTIONS] nl:\fIDP_IDX\fR tcp:\fICONTROLLER_IP\fR[:\fICONTROLLER_TCP_PORT\fR]
.SH DESCRIPTION
The \fBsecchan\fR program sets up a secure channel between a local
OpenFlow datapath and a remote controller. \fBsecchan\fR connects to
the datapath over netlink and to the controller over TCP, and then
proceeds to forward packets from one endpoint to the other.
\fIDP_IDX\fR \- the ID of the local datapath to connect to
\fICONTROLLER_IP\fR \- the controller's IP address
\fICONTROLLER_TCP_PORT\fR \- the controller's TCP port to connect to \- defaults to 975
.SH OPTIONS
.TP
.BR \-h ", " \-\^\-help
Prints a brief help message to the console.
.TP
.BR \-v ", " \-\^\-verbose
Prints debug messages to the console.
.TP
.BR \-V ", " \-\^\-version
Prints version information to the console.
.SH "SEE ALSO"
.BR dpctl (8),
.BR switch (8),
.BR controller (8)
.BR vlogconf (8)
.SH BUGS
Currently \fBsecchan\fR does not support SSL
+196
View File
@@ -0,0 +1,196 @@
.TH secchan 8 "May 2008" "OpenFlow" "OpenFlow Manual"
.SH NAME
secchan \- secure channel connecting an OpenFlow datapath to a controller
.SH SYNOPSIS
.B secchan
[\fIoptions\fR] \fBnl:\fIdp_idx\fR \fIremote\fR
.SH DESCRIPTION
The \fBsecchan\fR program sets up a secure channel between a local
OpenFlow datapath and a remote controller. \fBsecchan\fR connects to
the local datapath over Netlink and to the controller over TCP or SSL,
and then forwards OpenFlow messages from one endpoint to the other.
The mandatory \fBnl:\fIdp_idx\fR argument specifies the local datapath
to relay. Within this argument, \fIdp_idx\fR is the number of a
datapath that has been created with
.BR dpctl (8).
The mandatory \fIcontroller\fR argument specifies how to connect to
the OpenFlow controller. It takes one of the following forms:
.TP
\fBssl:\fIhost\fR[\fB:\fIport\fR]
The specified SSL \fIport\fR (default: 976) on the given remote
\fIhost\fR. The \fB--private-key\fR, \fB--certificate\fR, and
\fB--ca-cert\fR options are mandatory when this form is used.
.TP
\fBtcp:\fIhost\fR[\fB:\fIport\fR]
The specified TCP \fIport\fR (default: 975) on the given remote
\fIhost\fR.
.SH "CONTACTING THE CONTROLLER"
The OpenFlow switch must be able to contact the OpenFlow controller
over the network. It can do so in one of two ways:
.IP out-of-band
In this configuration, OpenFlow traffic uses a network separate from
the data traffic that it controls, that is, the switch does not use
any of the network devices added to the datapath with \fBdpctl
addif\fR in its communication with the controller.
To use \fBsecchan\fR in a network with out-of-band control, the
control network must be configured for use by \fBsecchan\fR at the
time it is started. No additional setup is required. In particular,
the \fBof\fIn\fR device should not be up or configured with an IP
address (see below).
.IP in-band
In this configuration, a single network is used for OpenFlow traffic
and other data traffic, that is, the switch contacts the controller
over one of the network devices added to the datapath with \fBdpctl
addif\fR. This configuration is often more convenient than
out-of-band control, because it is not necessary to maintain two
independent networks.
Using \fBsecchan\fR in a network with in-band control requires
additional setup before starting \fBsecchan\fR. At a minimum, the
special OpenFlow network device \fBof\fIn\fR, where \fIn\fR is same as
the \fIdp_idx\fR specified on the \fBsecchan\fR command line, must be
brought up using
.BR ifconfig (8),
e.g.:
.RS
.IP
ifconfig of0 up
.RE
.IP
Before \fBsecchan\fR starts, the \fBof\fIn\fR device cannot send or
receive any packets, so the next step depends on whether connectivity
is required to configure the device's IP address. If the switch has a
static IP address, you may configure its IP address now with a command
such as:
.RS
.IP
ifconfig of0 192.168.1.1
.RE
.IP
and then invoke \fBsecchan\fR.
On the other hand, if the switch does not have a static IP address,
e.g. it obtains its IP address dynamically via DHCP, the DHCP client
will not be able to contact the DHCP server until the secure channel
has started up. Thus, start \fBsecchan\fR without configuring
\fBof\fIn\fR further, and start the DHCP client afterward.
.SH OPTIONS
.TP
\fB-f\fR, \fB--fail=\fR[\fBopen\fR|\fBclosed\fR]
The controller is, ordinarily, responsible for setting up all flows on
the OpenFlow switch. Thus, if the connection to the controller fails,
no new network connections can be set up. If the connection to the
controller stays down long enough, no packets can pass through the
switch at all.
If this option is set to \fBopen\fR (the default), \fBsecchan\fR will
take over responsibility for setting up flows in the local datapath
when the controller connection stays down for long enough. In this
``fail open'' mode, \fBsecchan\fR causes the datapath to act like an
ordinary MAC-learning switch. \fBsecchan\fR will continue to retry
connection to the controller in the background and, when the
connection succeeds, it discontinues its fail-open behavior.
If this option is set to \fBclosed\fR, then \fBsecchan\fR will not
set up flows on its own when the controller connection fails.
.TP
\fB-d\fR, \fB--fail-open-delay=\fIsecs\fR
Sets the number of seconds of failed controller connection attempts
after which the switch enters fail-open mode. The default is 30
seconds.
This option has no effect when \fB--fail=closed\fR is specified.
.TP
\fB-l\Fr, \Fb--listen=\fImethod\fR
Configures the switch to additionally listen for incoming OpenFlow
connections for switch management with \fBdpctl\fR. The \fImethod\fR
must be given as one of the following passive OpenFlow connection
methods:
.RS
.TP
\fBpssl:\fR[\fIport\fR]
Listens for SSL connections on \fIport\fR (default: 976). The
\fB--private-key\fR, \fB--certificate\fR, and \fB--ca-cert\fR options
are mandatory when this form is used.
.TP
\fBptcp:\fR[\fIport\fR]
Listens for TCP connections on \fIport\fR (default: 975).
.RE
.TP
\fB-p\fR, \fB--private-key=\fIprivkey.pem\fR
Specifies a PEM file containing the private key used as the switch's
identity for SSL connections to the controller.
.TP
\fB-c\fR, \fB--certificate=\fIcert.pem\fR
Specifies a PEM file containing a certificate, signed by the
controller's certificate authority (CA), that certifies the switch's
private key to identify a trustworthy switch.
.TP
\fB-C\fR, \fB--ca-cert=\fIcacert.pem\fR
Specifies a PEM file containing the CA certificate used to verify that
the switch is connected to a trustworthy controller.
.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-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.
.TP
\fB-v\fR \fImodule\fB:\fIfacility\fB:\fIlevel\fR, \fB--verbose=\fImodule\fB:\fIfacility\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. 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.
.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.
.SH "SEE ALSO"
.BR dpctl (8),
.BR controller (8),
.BR ofp-pki (8),
.BR vlogconf (8),
.BR switch (8)
+5 -3
View File
@@ -548,9 +548,10 @@ parse_options(int argc, char *argv[])
static void
usage(void)
{
printf("%s: Secure Channel, a relay for OpenFlow messages.\n"
"usage: %s [OPTIONS] LOCAL REMOTE\n"
"where LOCAL and REMOTE are active OpenFlow connection methods.\n",
printf("%s: secure channel, a relay for OpenFlow messages.\n"
"usage: %s [OPTIONS] nl:DP_IDX CONTROLLER\n"
"where nl:DP_IDX is a datapath that has been added with dpctl\n"
"and CONTROLLER is an active OpenFlow connection method.\n",
program_name, program_name);
vconn_usage(true, true);
printf("\nNetworking options:\n"
@@ -564,6 +565,7 @@ usage(void)
"\nOther options:\n"
" -D, --detach run in background as daemon\n"
" -P, --pidfile[=FILE] create pidfile (default: %s/secchan.pid)\n"
" -v, --verbose=MODULE:FACILITY:LEVEL configure logging levels\n"
" -v, --verbose set maximum verbosity level\n"
" -h, --help display this help message\n"
" -V, --version display version information\n",
+1
View File
@@ -1,3 +1,4 @@
/Makefile
/Makefile.in
/switch
/switch.8
+6 -1
View File
@@ -1,7 +1,7 @@
include ../Make.vars
bin_PROGRAMS = switch
dist_man_MANS = switch.8
man_MANS = switch.8
switch_SOURCES = \
chain.c \
@@ -18,3 +18,8 @@ switch_SOURCES = \
table-linear.c
switch_LDADD = ../lib/libopenflow.la -ldl
EXTRA_DIST = switch.8.in
DISTCLEANFILES = switch.8
switch.8: switch.8.in Makefile
($(do_subst) && $(ro_man)) < $(srcdir)/switch.8.in > switch.8
+43 -8
View File
@@ -31,17 +31,17 @@ root.
The mandatory \fIcontroller\fR argument specifies how to connect to
the OpenFlow controller. It takes one of the following forms:
.TP
\fBtcp:\fIhost\fR[\fB:\fIport\fR]
The specified TCP \fIport\fR (default: 975) on the given remote
\fIhost\fR.
.TP
\fBssl:\fIhost\fR[\fB:\fIport\fR]
The specified SSL \fIport\fR (default: 976) on the given remote
\fIhost\fR. The \fB--private-key\fR, \fB--certificate\fR, and
\fB--ca-cert\fR options are mandatory when this form is used.
.TP
\fBtcp:\fIhost\fR[\fB:\fIport\fR]
The specified TCP \fIport\fR (default: 975) on the given remote
\fIhost\fR.
.SH OPTIONS
.TP
\fB-i\fR, \fB--interfaces=\fR\fInetdev\fR[\fB,\fInetdev\fR]...
@@ -72,21 +72,56 @@ private key to identify a trustworthy switch.
Specifies a PEM file containing the CA certificate used to verify that
the switch is connected to a trustworthy controller.
.TP
\fB-P\fR[\fIpidfile\fR], \fB--pidfile\fR[\fB=\fIpidfile\fR]
Causes a file (by default, \fBswitch.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-D\fR, \fB--detach\fR
Causes \fBswitch\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
.BR \-v ", " \-\^\-verbose
Prints debug messages to the console.
\fB-v\fR \fImodule\fB:\fIfacility\fB:\fIlevel\fR, \fB--verbose=\fImodule\fB:\fIfacility\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. 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.
.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.
.SH BUGS
The userspace switch implementation lags significantly behind the
kernel-based switch, both in implementation quality and performance.
It should only be used when the kernel-based switch cannot be.
General-purpose support for VLAN tag rewriting is precluded by the
Linux kernel AF_PACKET implementation.
.SH "SEE ALSO"
.BR dpctl (8),
.BR ofp-pki (8),
.BR controller (8)
.BR controller (8),
.BR vlogconf (8)
+1
View File
@@ -235,6 +235,7 @@ usage(void)
"\nOther options:\n"
" -D, --detach run in background as daemon\n"
" -P, --pidfile[=FILE] create pidfile (default: %s/switch.pid)\n"
" -v, --verbose=MODULE:FACILITY:LEVEL configure logging levels\n"
" -v, --verbose set maximum verbosity level\n"
" -h, --help display this help message\n"
" -V, --version display version information\n",
+230 -74
View File
@@ -1,11 +1,11 @@
.TH dpctl 8 "May 2008" "OpenFlow" "OpenFlow Manual"
.SH NAME
dpctl \- command line tool to administer OpenFlow datapaths
dpctl \- administer OpenFlow datapaths
.SH SYNOPSIS
.B dpctl
[OPTIONS] COMMAND [SWITCH] [ARGS...]
[\fIoptions\fR] \fIcommand \fR[\fIswitch\fR] [\fIargs\fR&...]
.SH DESCRIPTION
The
@@ -17,128 +17,284 @@ OpenFlow kernel module,
.B dpctl
is used to add, delete, modify, and monitor datapaths.
.SH OPTIONS
.TP
.BR \-h ", " \-\^\-help
Prints a brief help message to the console.
Most \fBdpctl\fR commands take an argument that specifies the
method for connecting to an OpenFlow switch. The following connection
methods are supported:
.TP
.BR \-v ", " \-\^\-verbose
Prints debug messages to the console.
\fBnl:\fIdp_idx\fR
The local Netlink datapath numbered \fIdp_idx\fR. This form requires
that the local host has the OpenFlow kernel module for Linux loaded.
.TP
.BR \-V ", " \-\^\-version
Prints version information to the console.
\fBssl:\fIhost\fR[\fB:\fIport\fR]
The specified SSL \fIport\fR (default: 976) on the given remote
\fIhost\fR. The \fB--private-key\fR, \fB--certificate\fR, and
\fB--ca-cert\fR options are mandatory when this form is used.
.TP
\fBtcp:\fIhost\fR[\fB:\fIport\fR]
The specified TCP \fIport\fR (default: 975) on the given remote
\fIhost\fR.
.SH COMMANDS
Depending on the type of datapath, \fBdpctl\fR communicates using
different connection methods. As such, one must provide the method to
use as the \fISWITCH\fR argument. To communicate with userspace,
\fItcp:host[:port]\fR is used. The netlink interface is used to
communicate with the kernel module directly. This uses the form
\fInl:DP_IDX\fR, where \fIDP_IDX\fR is explained below.
.B COMMANDS FOR THE KERNEL MODULE
With the \fBdpctl\fR program, datapaths running in the kernel can be
created, deleted, modified, and monitored. A single machine may
host up to 32 datapaths (numbered 0 to 31). In most situations,
a machine hosts only one datapath.
A newly created datapath is not associated with any of the
host's network interfaces and thus does not process any incoming
traffic. To intercept and process traffic on a given interface, the
interface must be explicitly added to a datapath through the
host's network devices thus does not process any incoming
traffic. To intercept and process traffic on a given network device, the
network device must be explicitly added to a datapath through the
\fBaddif\fR command.
The following commands manage local datapaths.
.TP
.BI adddp " nl:DP_IDX"
Creates datapath numbered \fIDP_IDX\fR on the local host. This will
fail if \fIDP_IDX\fR is not in the range 0 to 31, or if the datapath
\fBadddp nl:\fIdp_idx\fR
Creates datapath numbered \fIdp_idx\fR on the local host. This will
fail if \fIdp_idx\fR is not in the range 0 to 31, or if the datapath
with that number already exists on the host.
.TP
.BI deldp " nl:DP_IDX"
Deletes datapath \fIDP_IDX\fR on the local host. \fIDP_IDX\fR must be
an existing datapath. All of a datapath's interfaces must be
\fBdeldp nl:\fIdp_idx\fR
Deletes datapath \fIdp_idx\fR on the local host. \fIdp_idx\fR must be
an existing datapath. All of a datapath's network devices must be
explicitly removed before the datapath can be deleted (see \fBdelif\fR
command).
.TP
.BI addif " nl:DP_IDX INTERFACE"
Adds \fIINTERFACE\fR to the list of network interfaces datapath
\fIDP_IDX\fR monitors, where \fIDP_IDX\fR is the ID of an existing
datapath, and \fIINTERFACE\fR is the name of one of the host's
interfaces, e.g. \fBeth0\fR. Once an interface has been added
to a datapath, the datapath has complete ownership of the interface's
traffic and the interface appears silent to the rest of the system.
\fBaddif nl:\fIdp_idx netdev\fR
Adds \fInetdev\fR to the list of network devices datapath
\fIdp_idx\fR monitors, where \fIdp_idx\fR is the ID of an existing
datapath, and \fInetdev\fR is the name of one of the host's
network devices, e.g. \fBeth0\fR. Once a network device has been added
to a datapath, the datapath has complete ownership of the network device's
traffic and the network device appears silent to the rest of the system.
.TP
.BI delif " nl:DP_IDX INTERFACE"
Removes \fIINTERFACE\fR from the list of network interfaces datapath
\fIDP_IDX\fR monitors.
\fBdelif nl:\fIdp_idx netdev\fR
Removes \fInetdev\fR from the list of network devices datapath
\fIdp_idx\fR monitors.
.TP
.BI monitor " nl:DP_IDX"
\fBmonitor nl:\fIdp_idx\fR
Prints to the console all OpenFlow packets sent by datapath
\fIDP_IDX\fR to its controller, where \fIDP_IDX\fR is the ID of an
\fIdp_idx\fR to its controller, where \fIdp_idx\fR is the ID of an
existing datapath.
.TP
.BI benchmark-nl " nl:DP_IDX N SIZE"
\fBbenchmark-nl nl:\fIdp_idx n size\fR
Checks the netlink performance between the kernel and userspace.
This is done by sending \fIN\fR packets of \fISIZE\fR bytes from
This is done by sending \fIN\fR packets of \fIsize\fR bytes from
the kernel module to dpctl.
.TP
.B GENERAL COMMANDS
.TP
.PP
The following commands can be used regardless of the connection method.
.TP
.BI show " SWITCH"
Prints to the console information on datapath \fISWITCH\fR including
\fBshow \fIswitch\fR
Prints to the console information on datapath \fIswitch\fR including
information on its flow tables and ports.
.TP
.BI dump-tables " SWITCH"
\fBdump-tables \fIswitch\fR
Prints to the console statistics for each of the flow tables used by
datapath \fISWITCH\fR.
datapath \fIswitch\fR.
.TP
.BI dump-ports " SWITCH"
Prints to the console statistics for each of the physical interfaces
associated with datapath \fISWITCH\fR.
\fBdump-ports \fIswitch\fR
Prints to the console statistics for each of the network devices
associated with datapath \fIswitch\fR.
.TP
.BI dump-flows " SWITCH [FLOW]"
Prints to the console all flow entries in datapath \fISWITCH\fR's tables
that match \fIFLOW\fR. If \fIFLOW\fR is omitted, all flows in the
datapath are retrieved.
\fBdump-flows \fIswitch \fR[\fIflows\fR]
Prints to the console all flow entries in datapath \fIswitch\fR's
tables that match \fIflows\fR. If \fIflows\fR is omitted, all flows
in the datapath are retrieved. See \fBFLOW SYNTAX\fR, below, for the
syntax of \fIflows\fR.
.TP
.BI dump-aggregate " SWITCH [FLOWS]"
\fBdump-aggregate \fIswitch \fR[\fIflows\fR]
Prints to the console aggregate statistics for flows in datapath
\fSWITCH\fR's tables that match \fIFLOWS\fR. If \fIFLOWS\fR is omitted,
\fSWITCH\fR's tables that match \fIflows\fR. If \fIflows\fR is omitted,
the statistics are aggregated across all flows in the datapath's flow
tables.
tables. See \fBFLOW SYNTAX\fR, below, for the syntax of \fIflows\fR.
.TP
.BI add-flows " SWITCH FILE"
Add flow entries as described in \fIFILE\fR to the datapath \fISWITCH\fR's
tables. Each line in \fIFILE\fR describes an entry in the format used
to describe a \fIFLOW\fR in other commands..
\fBadd-flows \fIswitch file\fR
Add flow entries as described in \fIfile\fR to the datapath \fIswitch\fR's
tables. Each line in \fIfile\fR is a flow entry in the format
described in \fBFLOW SYNTAX\fB, below.
.TP
.BI del-flows " SWITCH [FLOW]"
Deletes entries from the datapath \fISWITCH\fR's tables that match
\fIFLOW\fR. If \fIFLOW\fR is omitted, all flows in the datapath's
tables are removed.
\fBdel-flows \fIswitch \fR[\fIflow\fR]
Deletes entries from the datapath \fIswitch\fR's tables that match
\fIflow\fR. If \fIflow\fR is omitted, all flows in the datapath's
tables are removed. See \fBFLOW SYNTAX\fR, below, for the syntax of
\fIflows\fR.
.SH "FLOW SYNTAX"
Some \fBdpctl\fR commands accept an argument that describes a flow or
flows. Such flow descriptions comprise a series
\fIfield\fB=\fIvalue\fR assignments, separated by commas or white
space.
The following field assignments describe how a flow matches a packet.
If any of these assignments is omitted from the flow syntax, the field
is treated as a wildcard; thus, if all of them are omitted, the
resulting flow matches all packets. The string \fB*\fR or \fBANY\fR
may be specified a value to explicitly mark any of these fields as a
wildcard.
.IP \fBin_port=\fIport_no\fR
Matches physical port \fIport_no\fR. Switch ports are numbered as
displayed by \fBdpctl show\fR.
.IP \fBdl_vlan=\fIvlan\fR
Matches IEEE 802.1q virtual LAN tag \fIvlan\fR. Specify \fB0xffff\fR
as \fIvlan\fR to match packets that are not tagged with a virtual LAN;
otherwise, specify a number between 0 and 4095, inclusive, as the
12-bit VLAN ID to match.
.IP \fBdl_src=\fImac\fR
Matches Ethernet source address \fImac\fR, which should be specified
as 6 pairs of hexadecimal digits delimited by colons,
e.g. \fB00:0A:E4:25:6B:B0\fR.
.IP \fBdl_dst=\fImac\fR
Matches Ethernet destination address \fImac\fR.
.IP \fBdl_type=\fIethertype\fR
Matches Ethernet protocol type \fIethertype\fR, which should be
specified as a integer between 0 and 65535, inclusive, either in
decimal or as a hexadecimal number prefixed by \fB0x\fR,
e.g. \fB0x0806\fR to match ARP packets.
.IP \fBnw_src=\fIip\fR
Matches IPv4 source address \fIip\fR, which should be specified as an
IP address or host name, e.g. \fB192.168.1.1\fR or
\fBwww.example.com\fR.
.IP \fBnw_dst=\fInw_dst\fR
Matches IPv4 destination address \fIip\fR.
.IP \fBnw_proto=\fIproto\fR
Matches IP protocol type \fIproto\fR, which should be specified as a
decimal number between 0 and 255, inclusive, e.g. 6 to match TCP
packets.
.IP \fBtp_src=\fIport\fR
Matches UDP or TCP source port \fIport\fR, which should be specified
as a decimal number between 0 and 65535, inclusive, e.g. 80 to match
packets originating from a HTTP server.
.IP \fBtp_dst=\fIport\fR
Matches UDP or TCP destination port \fIport\fR.
.PP
The \fBadd-flow\fR command requires an additional field:
.IP \fBaction=\fItarget\fR
Specifies the action to take on a packet when the flow entry matches.
The \fItarget\fR may be a decimal port number designating the physical
port on which to output the packet, or one of the following keywords:
.RS
.IP \fBnormal\fR
Subjects the packet to the device's normal L2/L3 processing. This
action is not implemented by all OpenFlow switches.
.IP \fBflood\fR
Outputs the packet on all switch physical ports other than the port on
which it was received and any ports on which flooding is disabled
(typically, these would be ports disabled by the IEEE 802.1D spanning
tree protocol).
.IP \fBall\fR
Outputs the packet on all switch physical ports other than the port on
which it was received.
.IP \fBcontroller\fR
Sends the packet to the OpenFlow controller as a ``packet in''
message.
.IP \fBlocal\fR
Outputs the packet on the ``local port,'' which corresponds to the
\fBof\fIn\fR network device (see \fBCONTACTING THE CONTROLLER\fR in
\fBsecchan\fR(8) for information on the \fBof\fIn\fR network device).
.RE
.IP
(The OpenFlow protocol supports other actions that \fBdpctl\fR does
not yet expose to the user.)
.PP
The \fBadd-flows\fR and \fBdel-flows\fR commands support an additional
optional field:
.IP \fBpriority=\fIvalue\fR
Sets the priority of the flow to be added or deleted to \fIvalue\fR,
which should be a number between 0 and 65535, inclusive. If this
field is not specified, it defaults to 32768.
.PP
The \fBdump-flows\fR and \fBdump-aggregate\fR commands support an
additional optional field:
.IP \fBtable=\fInumber\fR
If specified, limits the flows about which statistics are gathered to
those in the table with the given \fInumber\fR. Tables are numbered
as shown by the \fBdump-tables\fR command.
If this field is not specified, or if \fInumber\fR is given as
\fB255\fR, statistics are gathered about flows from all tables.
.SH OPTIONS
.TP
\fB-p\fR, \fB--private-key=\fIprivkey.pem\fR
Specifies a PEM file containing the private key used as the
identity for SSL connections to a switch.
.TP
\fB-c\fR, \fB--certificate=\fIcert.pem\fR
Specifies a PEM file containing a certificate, signed by the
controller's certificate authority (CA), that certifies the
private key to identify a trustworthy controller.
.TP
\fB-C\fR, \fB--ca-cert=\fIcacert.pem\fR
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.
.TP
\fB-v\fR \fImodule\fB:\fIfacility\fB:\fIlevel\fR, \fB--verbose=\fImodule\fB:\fIfacility\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. 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.
.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.
.SH EXAMPLES
@@ -150,7 +306,7 @@ Create datapath numbered 0:
.B % dpctl adddp nl:0
.TP
Add two interfaces to the new datapath:
Add two network devices to the new datapath:
.B % dpctl addif nl:0 eth0
.B % dpctl addif nl:0 eth1
@@ -172,7 +328,7 @@ View the flow entries in the datapath:
.B % dpctl dump-flows nl:0
.TP
Remove interfaces from the datapath when finished:
Remove network devices from the datapath when finished:
.B % dpctl delif nl:0 eth0
.B % dpctl delif nl:0 eth1
@@ -185,6 +341,6 @@ Delete the datapath:
.SH "SEE ALSO"
.BR secchan (8),
.BR switch (8)
.BR controller (8)
.BR switch (8),
.BR controller (8),
.BR vlogconf (8)
+1
View File
@@ -179,6 +179,7 @@ usage(void)
program_name, program_name);
vconn_usage(true, false);
printf("\nOptions:\n"
" -v, --verbose=MODULE:FACILITY:LEVEL configure logging levels\n"
" -v, --verbose set maximum verbosity level\n"
" -h, --help display this help message\n"
" -V, --version display version information\n");
+257
View File
@@ -0,0 +1,257 @@
.TH ofp\-pki 8 "May 2008" "OpenFlow" "OpenFlow Manual"
.SH NAME
ofp\-pki \- OpenFlow public key infrastructure management utility
.SH SYNOPSIS
\fBofp\-pki\fR [\fIOPTIONS\fR] \fICOMMAND\fR [\fIARGS\fR]
.sp
Stand-alone commands with their arguments:
.br
\fBofp\-pki\fR \fBinit\fR
.br
\fBofp\-pki\fR \fBreq\fR \fINAME\fR
.br
\fBofp\-pki\fR \fBsign\fR \fINAME\fR [\fITYPE\fR]
.br
\fBofp\-pki\fR \fBreq+sign\fR \fINAME\fR [\fITYPE\fR]
.br
\fBofp\-pki\fR \fBverify\fR \fINAME\fR [\fITYPE\fR]
.br
\fBofp\-pki\fR \fBfingerprint\fR \fIFILE\fR
.sp
The following additional commands manage an online PKI:
.br
\fBofp\-pki\fR \fBls\fR [\fIPREFIX\fR] [\fITYPE\fR]
.br
\fBofp\-pki\fR \fBflush\fR [\fITYPE\fR]
.br
\fBofp\-pki\fR \fBreject\fR \fIPREFIX\fR [\fITYPE\fR]
.br
\fBofp\-pki\fR \fBapprove\fR \fIPREFIX\fR [\fITYPE\fR]
.br
\fBofp\-pki\fR \fBprompt\fR [\fITYPE\fR]
.br
\fBofp\-pki\fR \fBexpire\fR [\fIAGE\fR]
.sp
Each \fITYPE\fR above is a certificate type, either \fBswitch\fR
(default) or \fBcontroller\fR.
.sp
The available options are:
.br
[\fB-d\fR \fIDIR\fR | \fB--dir=\fR\fIDIR\fR] [\fB-f\fR | \fB--force\fR] [\fB-b\fR | \fB--batch\fR] [\fB-l\fR \fIFILE\fR | \fB--log=\fIFILE\fR] [\fB-h\fR | \fB--help\fR]
.SH DESCRIPTION
The \fBofp\-pki\fR program sets up and manages a public key
infrastructure for use with OpenFlow. It is intended to be a simple
interface for organizations that do not have an established public key
infrastructure. Other PKI tools can substitute for or supplement the
use of \fBofp\-pki\fR.
\fBofp\-pki\fR uses \fBopenssl\fR(1) for certificate management and key
generation.
.SH "OFFLINE COMMANDS"
The following \fBofp\-pki\fR commands support manual PKI
administration:
.TP
\fBinit\fR
Initializes a new PKI (by default in directory \fB@pkidir@\fR) and populates
it with a pair of certificate authorities for controllers and
switches.
This command should ideally be run on a high-security machine separate
from any OpenFlow controller or switch, called the CA machine. The
files \fBpki/controllerca/cacert.pem\fR and
\fBpki/switchca/cacert.pem\fR that it produces will need to be copied
over to the OpenFlow switches and controllers, respectively. Their
contents may safely be made public.
Other files generated by \fBinit\fR may remain on the CA machine.
The files \fBpki/controllerca/private/cakey.pem\fR and
\fBpki/switchca/private/cakey.pem\fR have particularly sensitive
contents that should not be exposed.
.TP
\fBreq\fR \fINAME\fR
Generates a new private key named \fINAME\fR\fB-privkey.pem\fR and
corresponding certificate request named \fINAME\fR\fB-req.pem\fR.
The private key can be intended for use by a switch or a controller.
This command should ideally be run on the switch or controller that
will use the private key to identify itself. The file
\fINAME\fR\fB-req.pem\fR must be copied to the CA machine for signing
with the \fBsign\fR command (below).
This command will output a fingerprint to stdout as its final step.
Write down the fingerprint and take it to the CA machine before
continuing with the \fBsign\fR step.
\fINAME\fR\fB-privkey.pem\fR has sensitive contents that should not be
exposed. \fINAME\fR\fB-req.pem\fR may be safely made public.
.TP
\fBsign\fR \fINAME\fR [\fITYPE\fR]
Signs the certificate request named \fINAME\fR\fB-req.pem\fR that was
produced in the previous step, producing a certificate named
\fINAME\fR\fB-cert.pem\fR. \fITYPE\fR, either \fBswitch\fR (default) or
\fBcontroller\fR, indicates the use for which the key is being
certified.
This command must be run on the CA machine.
The command will output a fingerprint to stdout and request that you
verify that it is the same fingerprint output by the \fBreq\fR
command. This ensures that the request being signed is the same one
produced by \fBreq\fR. (The \fB-b\fR or \fB--batch\fR option
suppresses the verification step.)
The file \fINAME\fR\fB-cert.pem\fR will need to be copied back to the
switch or controller for which it is intended. Its contents may
safely be made public.
.TP
\fBreq+sign\fR \fINAME\fR [\fITYPE\fR]
Combines the \fBreq\fR and \fBsign\fR commands into a single step,
outputting all the files produced by each. The
\fINAME\fR\fB-privkey.pem\fR and \fINAME\fR\fB-cert.pem\fR files must
be copied securely to the switch or controller.
\fINAME\fR\fB-privkey.pem\fR has sensitive contents and must not be
exposed in transit. Afterward, it should be deleted from the CA
machine.
This combined method is, theoretically, less secure than the
individual steps performed separately on two different machines,
because there is additional potential for exposure of the private
key. However, it is also more convenient.
.TP
\fBverify\fR \fINAME\fR [\fITYPE\fR]
Verifies that \fINAME\fR\fB-cert.pem\fR is a valid certificate for the
given \fITYPE\fR of use, either \fBswitch\fR (default) or
\fBcontroller\fR. If the certificate is valid for this use, it prints
the message ``\fINAME\fR\fB-cert.pem\fR: OK''; otherwise, it prints an
error message.
.TP
\fBofp\-pki\fR \fBfingerprint\fR \fIFILE\fR
Prints the fingerprint for \fIFILE\fR. If \fIFILE\fR is a
certificate, then this is the SHA-1 digest of the DER encoded version
of the certificate; otherwise, it is the SHA-1 digest of the entire
file.
.SH "ONLINE COMMANDS"
An OpenFlow PKI can be administered online, in conjunction with
.BR ofp-pki-cgi (8)
and a web server such as Apache:
.IP \(bu
The web server exports the contents of the PKI via HTTP. All files in
a PKI hierarchy files may be made public, except for the files
\fBpki/controllerca/private/cakey.pem\fR and
\fBpki/switchca/private/cakey.pem\fR, which must not be exposed.
.IP \(bu
\fBofp\-pki\-cgi\fR allows newly generated certificate requests for
controllers and switches to be uploaded into the
\fBpki/controllerca/incoming\fR and \fBpki/switchca/incoming\fR
directories, respectively. Uploaded certificate requests are stored
in those directories under names of the form
\fIFINGERPRINT\fB-req.pem\fR, which \fIFINGERPRINT\fR is the SHA-1
hash of the file.
.IP \(bu
These \fBofp\-pki\fR commands allow incoming certificate requests to
be approved or rejected, in a form are suitable for use by humans or
other software.
.PP
The following \fBofp\-pki\fR commands support online administration:
.TP
\fBofp\-pki\fR \fBls\fR [\fIPREFIX\fR] [\fITYPE\fR]
Lists all of the incoming certificate requests of the given \fITYPE\fR
(either \fBswitch\fR, the default, or \fBcontroller\fR). If
\fIPREFIX\fR, which must be at least 4 characters long, is specified,
it causes the list to be limited to files whose names begin with
\fIPREFIX\fR. This is useful, for example, to avoid typing in an
entire fingerprint when checking that a specific certificate request
has been received.
.TP
\fBofp\-pki\fR \fBflush\fR [\fITYPE\fR]
Deletes all certificate requests of the given \fITYPE\fR.
.TP
\fBofp\-pki\fR \fBreject\fR \fIPREFIX\fR [\fITYPE\fR]
Rejects the certificate request whose name begins with \fIPREFIX\fR,
which must be at least 4 characters long, of the given type (either
\fBswitch\fR, the default, or \fBcontroller\fR). \fIPREFIX\fR must
match exactly one certificate request; its purpose is to allow the
user to type fewer characters, not to match multiple certificate
requests.
.TP
\fBofp\-pki\fR \fBapprove\fR \fIPREFIX\fR [\fITYPE\fR]
Approves the certificate request whose name begins with \fIPREFIX\fR,
which must be at least 4 characters long, of the given \fITYPE\fR
(either \fBswitch\fR, the default, or \fBcontroller\fR). \fIPREFIX\fR
must match exactly one certificate request; its purpose is to allow
the user to type fewer characters, not to match multiple certificate
requests.
The command will output a fingerprint to stdout and request that you
verify that it is correct. (The \fB-b\fR or \fB--batch\fR option
suppresses the verification step.)
.TP
\fBofp\-pki\fR \fBprompt\fR [\fITYPE\fR]
Prompts the user for each incoming certificate request of the given
\fITYPE\fR (either \fBswitch\fR, the default, or \fBcontroller\fR).
Based on the certificate request's fingerprint, the user is given the
option of approving, rejecting, or skipping the certificate request.
.TP
\fBofp\-pki\fR \fBexpire\fR [\fIAGE\fR]
Rejects all the incoming certificate requests, of either type, that is
older than \fIAGE\fR, which must in one of the forms \fIN\fBs\fR,
\fIN\fBmin\fR, \fIN\fBh\fR, \fIN\fBday\fR. The default is \fB1day\fR.
.SH OPTIONS
.TP
[\fB-d\fR \fIDIR\fR | \fB--dir=\fR\fIDIR\fR]
Specifies the location of the PKI hierarchy to be used or created by
the command (default: \fB@pkidir@\fR). All commands, except \fBreq\fR,
need access to a PKI hierarchy.
.TP
[\fB-f\fR | \fB--force\fR]
By default, \fBofp\-pki\fR will not overwrite existing files or
directories. This option overrides this behavior.
.TP
[\fB-b\fR | \fB--batch\fR]
Suppresses the interactive verification of fingerprints that the
\fBsign\fR command by default requires.
.TP
[\fB-l\fR \fIFILE\fR | \fB--log=\fIFILE\fR]
Sets the log file to \fIFILE\fR. If \fIFILE\fR starts with \fB/\fR,
it is taken as an absolute path; otherwise it is relative to the PKI
hierarchy. Default: \fBofp-pki.log\fR.
.TP
[\fB-h\fR | \fB--help\fR]
Prints a help usage message and exits.
.SH "SEE ALSO"
.BR ofp-pki-cgi (8),
.BR dpctl (8),
.BR switch (8),
.BR secchan (8),
.BR controller (8)
+16 -16
View File
@@ -1,23 +1,23 @@
.TH vlogconf 8 "March 2008" "OpenFlow" "OpenFlow Manual"
.TH vlogconf 8 "June 2008" "OpenFlow" "OpenFlow Manual"
.SH NAME
vlogconf \- configuration utility for OpenFlow logging in userspace
.SH SYNOPSIS
\fBvlogconf\fR [\fB-h\fR | \fB--help\fR] [TARGET...] [ACTION...]
\fBvlogconf\fR [\fB-h\fR | \fB--help\fR] [\fItarget\fR...] [\fIaction\fR...]
.sp 1
The available TARGET options are:
The available \fItarget\fR options are:
.br
[\fB-a\fR | \fB--all\fR] [\fB-t\fR PID | \fB--target=\fIPID\fR]
[\fB-a\fR | \fB--all\fR] [\fB-t\fR \fIpid\fR | \fB--target=\fIpid\fR]
.sp 1
The available ACTION options are:
The available \fIaction\fR options are:
.br
[\fB-l\fR | \fB--list\fR] [\fB-s\fR
\fIMODULE\fB:\fIFACILITY\fB:\fILEVEL\fR |
\fB--set=\fIMODULE\fB:\fIFACILITY\fB:\fILEVEL\fR]
\fImodule\fB:\fIfacility\fB:\fIlevel\fR |
\fB--set=\fImodule\fB:\fIfacility\fB:\fIlevel\fR]
.SH DESCRIPTION
The \fBvlogconf\fR program configures the logging system used by the
The \fBvlogconf\fR program configures the logging system used by
OpenFlow userspace programs. The logging configuration may be modified
while OpenFlow programs are running.
@@ -29,8 +29,8 @@ target processes. Targets may be specified as:
All running processes that \fBvlogconf\fR can control.
.TP
\fB-t \fIPID\fR, \fB--target=\fIPID\fR
The process with the specified \fIPID\fR. \fIPID\fR may also specify
\fB-t \fIpid\fR, \fB--target=\fIpid\fR
The process with the specified \fIpid\fR. \fIpid\fR may also specify
an absolute path (beginning with `/') to the Unix domain socket for a
\fBvlogconf\fR-controllable process.
@@ -43,15 +43,15 @@ Print the list of known modules and their current logging levels to
stdout.
.TP
\fB-s\fR \fIMODULE\fB:\fIFACILITY\fB:\fILEVEL\fR, \fB--set=\fIMODULE\fB:\fIFACILITY\fB:\fILEVEL\fR
\fB-s\fR \fImodule\fB:\fIfacility\fB:\fIlevel\fR, \fB--set=\fImodule\fB:\fIfacility\fB:\fIlevel\fR
Sets the logging level for \fIMODULE\fR in \fIFACILITY\fR to
\fILEVEL\fR. \fIMODULE\fR may be any valid module name (as displayed
by the \fB--list\fR option) or the special name \fBANY\fR to set all
modules logging level. \fIFACILITY\fR may be \fBsyslog\fR or
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 option) 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 modules. \fILEVEL\fR must be one of \fBemer\fR, \fBerr\fR,
both facilities. 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.