.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.