sliver-openvswitch.git
15 years agoAdd build number to datapath version and --version output from programs.
Ben Pfaff [Tue, 4 Nov 2008 22:10:00 +0000 (14:10 -0800)]
Add build number to datapath version and --version output from programs.

15 years agoIn reboot script, send SIGUSR1 to ofp-switchmon to make it display "Rebooting".
Ben Pfaff [Tue, 4 Nov 2008 17:34:26 +0000 (09:34 -0800)]
In reboot script, send SIGUSR1 to ofp-switchmon to make it display "Rebooting".

15 years agoCall VLOG_WARN before send_child_message(), to get correct errno value.
Ben Pfaff [Tue, 4 Nov 2008 01:04:22 +0000 (17:04 -0800)]
Call VLOG_WARN before send_child_message(), to get correct errno value.

Otherwise we end up with nonsense like "failed to stat...: Success" in
the log.

15 years agoFix location of installed commands.
Ben Pfaff [Tue, 4 Nov 2008 01:03:22 +0000 (17:03 -0800)]
Fix location of installed commands.

15 years agoPass --enable-snat to configure for datapath module also.
Ben Pfaff [Tue, 4 Nov 2008 00:26:51 +0000 (16:26 -0800)]
Pass --enable-snat to configure for datapath module also.

15 years agoMake COMMANDS option in openflow-switch defaults file work.
Ben Pfaff [Mon, 3 Nov 2008 18:45:38 +0000 (10:45 -0800)]
Make COMMANDS option in openflow-switch defaults file work.

The setting was being accidentally ignored, so commands like "reboot", etc.
would not work at all.

15 years agoAdd libncurses5-dev as build dependency for openflow.
Ben Pfaff [Fri, 31 Oct 2008 21:14:22 +0000 (14:14 -0700)]
Add libncurses5-dev as build dependency for openflow.

15 years agoImplement log rotation in openflow-switch.
Ben Pfaff [Fri, 31 Oct 2008 20:43:33 +0000 (13:43 -0700)]
Implement log rotation in openflow-switch.

15 years agoMake secchan log to file by default.
Ben Pfaff [Fri, 31 Oct 2008 20:34:35 +0000 (13:34 -0700)]
Make secchan log to file by default.

15 years agoAdd /var/log/openflow directory to openflow-common.
Ben Pfaff [Fri, 31 Oct 2008 20:33:13 +0000 (13:33 -0700)]
Add /var/log/openflow directory to openflow-common.

This ensures that every system with OpenFlow packages will have this
directory available for logging.

15 years agoSend openssl output to logfile on "ofp-pki self-sign" also.
Ben Pfaff [Fri, 31 Oct 2008 20:31:42 +0000 (13:31 -0700)]
Send openssl output to logfile on "ofp-pki self-sign" also.

15 years agoDon't make ofp-pki --log option relative to log directory.
Ben Pfaff [Fri, 31 Oct 2008 20:51:24 +0000 (13:51 -0700)]
Don't make ofp-pki --log option relative to log directory.

That behavior may have made sense, but it was too surprising.

15 years agoPut ofp-pki logfile in log directory instead of in pki directory.
Ben Pfaff [Fri, 31 Oct 2008 20:50:33 +0000 (13:50 -0700)]
Put ofp-pki logfile in log directory instead of in pki directory.

This should fix problems with trying to log on a machine that doesn't have
openflow-pki installed (because such machines didn't have the pki
directory).  Every machine needs the log directory.

15 years agoFix openflow-datapath-source bugs added in "Simplify debian/rules..." commit.
Ben Pfaff [Fri, 31 Oct 2008 19:11:31 +0000 (12:11 -0700)]
Fix openflow-datapath-source bugs added in "Simplify debian/rules..." commit.

15 years agoAdd settings for switch netmask and gateway for in-band mode to init script.
Ben Pfaff [Fri, 31 Oct 2008 18:24:11 +0000 (11:24 -0700)]
Add settings for switch netmask and gateway for in-band mode to init script.

Previously we supported setting a switch IP address but not those
parameters, which are obviously required also.

15 years agoAdd extension hooks to debian/rules.
Ben Pfaff [Fri, 31 Oct 2008 17:42:59 +0000 (10:42 -0700)]
Add extension hooks to debian/rules.

15 years agoMove ofp-switch-config into new package openflow-switch-config.
Ben Pfaff [Fri, 31 Oct 2008 17:40:59 +0000 (10:40 -0700)]
Move ofp-switch-config into new package openflow-switch-config.

This reduces the openflow-switch package's number of dependencies, making
it easier to install.

15 years agoImprove the error message when vconn gets an unexpected version.
Ben Pfaff [Fri, 31 Oct 2008 17:07:43 +0000 (10:07 -0700)]
Improve the error message when vconn gets an unexpected version.

15 years agoIn openflow-switch init script, correct secchan option name.
Ben Pfaff [Fri, 31 Oct 2008 15:56:51 +0000 (08:56 -0700)]
In openflow-switch init script, correct secchan option name.

15 years agoIn openflow-switch init script, do not re-load openflow_mod if already loaded.
Ben Pfaff [Fri, 31 Oct 2008 15:56:03 +0000 (08:56 -0700)]
In openflow-switch init script, do not re-load openflow_mod if already loaded.

15 years agoIgnore openflow-pki-server directory.
Ben Pfaff [Fri, 31 Oct 2008 00:23:06 +0000 (17:23 -0700)]
Ignore openflow-pki-server directory.

15 years agoAdd missing header file to datapath/Modules.mk.
Ben Pfaff [Fri, 31 Oct 2008 00:22:26 +0000 (17:22 -0700)]
Add missing header file to datapath/Modules.mk.

This fixes the generated Debian openflow-datapath-source package.

15 years agoPull configuration information from DMI.
Justin Pettit [Thu, 30 Oct 2008 23:23:27 +0000 (16:23 -0700)]
Pull configuration information from DMI.

Pull configuration information from DMI when available.  In its current form,
it will only use DMI information set by Nicira.  Otherwise, it will use default
values.  This change also makes DPIDs the same as the MAC address of the
local OpenFlow device.

15 years agoFix vconn_transact() bug introduced in commit 65ac65a6d2,
Ben Pfaff [Thu, 30 Oct 2008 17:38:03 +0000 (10:38 -0700)]
Fix vconn_transact() bug introduced in commit 65ac65a6d2,
"Improve the command interface so that it sends back acks or errors."

Oops.  That was dumb.

Thanks to Justin for reporting the problem.

15 years agoSimplify debian/rules by adding new openflow-datapath-source.install file.
Ben Pfaff [Thu, 30 Oct 2008 17:24:36 +0000 (10:24 -0700)]
Simplify debian/rules by adding new openflow-datapath-source.install file.

15 years agoBreak HTTP parts of openflow-pki package into new openflow-pki-server package.
Ben Pfaff [Thu, 30 Oct 2008 17:24:02 +0000 (10:24 -0700)]
Break HTTP parts of openflow-pki package into new openflow-pki-server package.

15 years agoFix support for out-of-band control in Debian switch init script.
Ben Pfaff [Wed, 29 Oct 2008 23:19:43 +0000 (16:19 -0700)]
Fix support for out-of-band control in Debian switch init script.

Not tested.

15 years agoMove exported headers to include/openflow, private headers to lib/.
Ben Pfaff [Wed, 29 Oct 2008 22:15:45 +0000 (15:15 -0700)]
Move exported headers to include/openflow, private headers to lib/.

This makes it easier to install the headers, or to use them directly from
another software package with -I$(openflow)/include, without invading
the top-level include file namespace.

15 years agoNew function netdev_set_etheraddr().
Ben Pfaff [Wed, 29 Oct 2008 20:46:54 +0000 (13:46 -0700)]
New function netdev_set_etheraddr().

15 years agoFix parsing of logging options in OpenFlow controller.
Ben Pfaff [Wed, 29 Oct 2008 20:46:34 +0000 (13:46 -0700)]
Fix parsing of logging options in OpenFlow controller.

Oops.

15 years agoAdd "self-sign" command to ofp-pki.
Ben Pfaff [Wed, 29 Oct 2008 18:27:57 +0000 (11:27 -0700)]
Add "self-sign" command to ofp-pki.

15 years agoFix typo in manpage.
Ben Pfaff [Wed, 29 Oct 2008 17:30:36 +0000 (10:30 -0700)]
Fix typo in manpage.

15 years agoImprove the command interface so that it sends back acks or errors.
Ben Pfaff [Tue, 28 Oct 2008 19:46:18 +0000 (12:46 -0700)]
Improve the command interface so that it sends back acks or errors.

15 years agoDelete ununsed file Make.vars.
Ben Pfaff [Mon, 27 Oct 2008 23:37:00 +0000 (16:37 -0700)]
Delete ununsed file Make.vars.

15 years agoAdd a warning when secchan is invoked with a controller specified as the datapath.
Ben Pfaff [Mon, 27 Oct 2008 22:13:11 +0000 (15:13 -0700)]
Add a warning when secchan is invoked with a controller specified as the datapath.

15 years agoAdd Nicira extension for remote command execution.
Ben Pfaff [Mon, 27 Oct 2008 19:55:55 +0000 (12:55 -0700)]
Add Nicira extension for remote command execution.

15 years agoChange the secchan "hook" mechanism to be easier to add new callbacks.
Ben Pfaff [Fri, 24 Oct 2008 21:25:10 +0000 (14:25 -0700)]
Change the secchan "hook" mechanism to be easier to add new callbacks.

15 years agoFix typo in default switch config.
Ben Pfaff [Fri, 24 Oct 2008 21:19:26 +0000 (14:19 -0700)]
Fix typo in default switch config.

15 years agoFix leaking of flows when output action validation fails.
Justin Pettit [Sat, 25 Oct 2008 20:29:17 +0000 (13:29 -0700)]
Fix leaking of flows when output action validation fails.

Thanks to Brandon Heller for catching this.

15 years agoFix leaking of flows when output action validation fails.
Justin Pettit [Sat, 25 Oct 2008 00:24:06 +0000 (17:24 -0700)]
Fix leaking of flows when output action validation fails.

When action validation fails from a flow add, the flow would be leaked.  This
caused the kmem cache (which handles allocating flow entries) to be unhappy
when we try to unload the OpenFlow module.

Thanks to Brandon Heller for catching this.

15 years agoBreak secchan into multiple files, to make it more maintainable.
Ben Pfaff [Fri, 24 Oct 2008 16:43:44 +0000 (09:43 -0700)]
Break secchan into multiple files, to make it more maintainable.

15 years agoController need not run as root now that we don't use a port below 1024.
Ben Pfaff [Thu, 23 Oct 2008 21:22:49 +0000 (14:22 -0700)]
Controller need not run as root now that we don't use a port below 1024.

15 years agoUpdate manpages to mention new --log-file option.
Ben Pfaff [Thu, 23 Oct 2008 21:03:44 +0000 (14:03 -0700)]
Update manpages to mention new --log-file option.

Move vlog option descriptions into a separate file lib/vlog.man that
is substituted into manpages.

Get rid of individual rules for substituting most files in favor of
a single suffix rule.  Unfortunately this loses the (Emacs-specific)
read-only markings but it simplifies the makefiles.

15 years agovlog: Add ability to log to an arbitrary file, and following related changes:
Ben Pfaff [Thu, 23 Oct 2008 17:45:39 +0000 (10:45 -0700)]
vlog: Add ability to log to an arbitrary file, and following related changes:

* New command-line options for configuring log files, hence:
  - Centralized vlog usage messages.
* New vlogconf action for reopening log files.
* New vlogconf support for specifying a target by pidfile.

15 years agoCreate rundir, logdir, pkidir at install time.
Ben Pfaff [Thu, 23 Oct 2008 19:42:18 +0000 (12:42 -0700)]
Create rundir, logdir, pkidir at install time.

15 years agoMake pkidir, rundir, logdir modifiable from "configure" command line.
Ben Pfaff [Wed, 22 Oct 2008 21:53:25 +0000 (14:53 -0700)]
Make pkidir, rundir, logdir modifiable from "configure" command line.

Make "make" behave properly when these are changed by re-running
"configure", by putting their definitions into a generated file that
depends on Makefile.

15 years agoIntroduce logdir (typically /var/log/openflow, by default /usr/local/var/log/openflow).
Ben Pfaff [Thu, 23 Oct 2008 21:07:01 +0000 (14:07 -0700)]
Introduce logdir (typically /var/log/openflow, by default /usr/local/var/log/openflow).

15 years agovlog: Avoid calling any function if nothing will be logged.
Ben Pfaff [Wed, 22 Oct 2008 20:50:03 +0000 (13:50 -0700)]
vlog: Avoid calling any function if nothing will be logged.

15 years agoMake the format of vlog messages user-configurable.
Ben Pfaff [Thu, 23 Oct 2008 18:08:23 +0000 (11:08 -0700)]
Make the format of vlog messages user-configurable.

15 years agoNew functions xvasprintf() and strlcpy() and macro va_copy().
Ben Pfaff [Wed, 15 Oct 2008 21:35:13 +0000 (14:35 -0700)]
New functions xvasprintf() and strlcpy() and macro va_copy().

15 years agoNew functions ds_put_uninit(), ds_put_char_multiple().
Ben Pfaff [Wed, 15 Oct 2008 21:34:14 +0000 (14:34 -0700)]
New functions ds_put_uninit(), ds_put_char_multiple().

15 years agoConsistently use AM_CPPFLAGS, not AM_CFLAGS, for -D and -I options.
Ben Pfaff [Wed, 22 Oct 2008 21:38:22 +0000 (14:38 -0700)]
Consistently use AM_CPPFLAGS, not AM_CFLAGS, for -D and -I options.

15 years agoEnable SNAT in Debian packages.
Ben Pfaff [Wed, 22 Oct 2008 21:58:08 +0000 (14:58 -0700)]
Enable SNAT in Debian packages.

15 years agoAvoid making Emacs think that this file contains a local variable list.
Ben Pfaff [Wed, 22 Oct 2008 20:54:44 +0000 (13:54 -0700)]
Avoid making Emacs think that this file contains a local variable list.

15 years agoAdd support for bootstrapping the CA certificate to the Debian packaging.
Ben Pfaff [Wed, 22 Oct 2008 20:27:03 +0000 (13:27 -0700)]
Add support for bootstrapping the CA certificate to the Debian packaging.

15 years agoNo need to pass -DVERSION=... to C compiler: Autoconf puts it into config.h.
Ben Pfaff [Wed, 22 Oct 2008 21:37:07 +0000 (14:37 -0700)]
No need to pass -DVERSION=... to C compiler: Autoconf puts it into config.h.

15 years agoMake it possible to open more than one vlog client socket at a time.
Ben Pfaff [Wed, 22 Oct 2008 22:42:16 +0000 (15:42 -0700)]
Make it possible to open more than one vlog client socket at a time.

15 years agoSwitch default OpenFlow port from 975 and 976 to 6633.
Justin Pettit [Thu, 23 Oct 2008 00:17:50 +0000 (17:17 -0700)]
Switch default OpenFlow port from 975 and 976 to 6633.

15 years agoFix crash when SNAT support is built and traffic is in-band.
Justin Pettit [Wed, 22 Oct 2008 00:16:28 +0000 (17:16 -0700)]
Fix crash when SNAT support is built and traffic is in-band.

In order to make netfilter happy, we have to create a fake routing table
entry.  Unfortunately, the kernel really doesn't like this when it actually
needs to make use of it.  This code now removes the link between the packet
and the fake routing entry when the packet is being sent to a local port.

15 years agoAdd support for packaging openflowext.
Ben Pfaff [Tue, 21 Oct 2008 23:31:50 +0000 (16:31 -0700)]
Add support for packaging openflowext.

15 years agoAvoid leaving Makefile.am and configure.ac slightly modified by boot.sh.
Ben Pfaff [Fri, 17 Oct 2008 23:15:34 +0000 (16:15 -0700)]
Avoid leaving Makefile.am and configure.ac slightly modified by boot.sh.

(This turned out to be more annoying than I expected.)

15 years agoAdd missing Debian package dependency.
Ben Pfaff [Fri, 17 Oct 2008 17:12:17 +0000 (10:12 -0700)]
Add missing Debian package dependency.

openflow-pki needs ofp-pki, which is openflow-common.

Thanks to Teemu for reporting the problem.

15 years agoModify Makefile.am and configure.ac only if they actually change.
Ben Pfaff [Fri, 17 Oct 2008 17:07:21 +0000 (10:07 -0700)]
Modify Makefile.am and configure.ac only if they actually change.

Touching them unnecessarily causes Git to think they changed even if
their contents are the same.

15 years agoFix lib/dhparams.c build failure fallout from earlier build system changes.
Ben Pfaff [Fri, 17 Oct 2008 16:52:37 +0000 (09:52 -0700)]
Fix lib/dhparams.c build failure fallout from earlier build system changes.

15 years agoCentralize daemon option processing and usage.
Ben Pfaff [Thu, 16 Oct 2008 23:16:36 +0000 (16:16 -0700)]
Centralize daemon option processing and usage.

15 years agoFix boot.sh behavior when OpenFlow extensions are not available.
Ben Pfaff [Thu, 16 Oct 2008 22:54:52 +0000 (15:54 -0700)]
Fix boot.sh behavior when OpenFlow extensions are not available.

15 years agoDelete trailing whitespace in vlog-socket.c
Ben Pfaff [Wed, 15 Oct 2008 21:35:52 +0000 (14:35 -0700)]
Delete trailing whitespace in vlog-socket.c

15 years agoHardcode path to tcpdump as /usr/sbin/tcpdump.
Ben Pfaff [Thu, 16 Oct 2008 20:48:09 +0000 (13:48 -0700)]
Hardcode path to tcpdump as /usr/sbin/tcpdump.

Otherwise it won't be found when run as non-root because such users
typically don't have /usr/sbin in $PATH.  (We use tcpdump in a fashion
that doesn't require root privilege.)

15 years agoFix typo in manpage.
Ben Pfaff [Wed, 15 Oct 2008 21:11:12 +0000 (14:11 -0700)]
Fix typo in manpage.

15 years agoRevamp build system to make it easier to integrate openflowext.
Ben Pfaff [Thu, 16 Oct 2008 18:11:59 +0000 (11:11 -0700)]
Revamp build system to make it easier to integrate openflowext.

15 years agosecchan: Make sure fail-open doesn't drop the first messages from connection.
Ben Pfaff [Wed, 15 Oct 2008 22:46:48 +0000 (15:46 -0700)]
secchan: Make sure fail-open doesn't drop the first messages from connection.

Fail-open mode is entered or left in a secchan "periodic" callback, which
may not be called immediately after the connection to the controller
actually comes up.  This can cause the fail-open local-packet CB to
locally handle messages from the datapath and drop them, causing the
controller to think that it's being ignore and drop the connection.

Thanks to Dan for raising the issue.

15 years agoRework STP implementation in controller.
Ben Pfaff [Tue, 14 Oct 2008 23:48:47 +0000 (16:48 -0700)]
Rework STP implementation in controller.

Before, we tried to use the port configuration bits to implement STP; e.g.
if a port was in LISTEN state we turned off sending and receiving frame
other than BPDUs.  Unfortunately this interacts very badly with in-band
control: when the switch connects to the controller, it can be connected
to the controller over a port that is not in FORWARD, and so then the
controller disabled that port, and the connection eventually dropped when
an echo request/reply failed to get through.

Now, we implement STP by querying the flows on the switch and killing
off the ones that STP does not allow.  This works much better because,
although we still kill off the in-band control connection, the in-band
hook in secchan is then able to resurrect it.

--no-stp is still the default since this has not been tested very much.

15 years agoSet DHCP maximum retransmission timeout to 3 seconds in secchan.
Ben Pfaff [Tue, 14 Oct 2008 23:11:06 +0000 (16:11 -0700)]
Set DHCP maximum retransmission timeout to 3 seconds in secchan.

This should help discovery complete faster, especially with hops across
multiple OpenFlow switches to the controller.

15 years agodhcp-client: Log DHCP messages at higher priority.
Ben Pfaff [Tue, 14 Oct 2008 23:08:36 +0000 (16:08 -0700)]
dhcp-client: Log DHCP messages at higher priority.

Logging DHCP messages sent or received with priority DBG made it hard
to see what was happening.  So log them at priority WARN, but also make
them less verbose at that level since seeing the whole message is not
too useful most of the time.

15 years agodhcp-client: Fix computation of timeouts.
Ben Pfaff [Tue, 14 Oct 2008 22:51:26 +0000 (15:51 -0700)]
dhcp-client: Fix computation of timeouts.

The "min_timeout" variable maintained by the DHCP client is measured
in seconds from the time the state was entered, but dhclient_wait()
was interpreting it as seconds from now.  This made the DHCP client wait
much longer than necessary in some cases.

15 years agosecchan: Log switch datapath id at startup.
Ben Pfaff [Tue, 14 Oct 2008 21:29:03 +0000 (14:29 -0700)]
secchan: Log switch datapath id at startup.

15 years agoNew routine ofpbuf_put_zeros() to simplify a common code sequence.
Ben Pfaff [Tue, 14 Oct 2008 19:50:03 +0000 (12:50 -0700)]
New routine ofpbuf_put_zeros() to simplify a common code sequence.

15 years agosecchan: Remove unhelpful STP-related log message.
Ben Pfaff [Tue, 14 Oct 2008 20:29:49 +0000 (13:29 -0700)]
secchan: Remove unhelpful STP-related log message.

15 years agosecchan: Increase max number of local_cbs to accommodate STP.
Ben Pfaff [Tue, 14 Oct 2008 20:10:48 +0000 (13:10 -0700)]
secchan: Increase max number of local_cbs to accommodate STP.

15 years agoSupport up to 0xff00 ports in OpenFlow, without changing the implemented max.
Ben Pfaff [Tue, 14 Oct 2008 17:53:27 +0000 (10:53 -0700)]
Support up to 0xff00 ports in OpenFlow, without changing the implemented max.

15 years agoNo problum any more.
Ben Pfaff [Tue, 14 Oct 2008 16:56:14 +0000 (09:56 -0700)]
No problum any more.

15 years agoConditionally leave out a few more things if "--enable-snat" isn't used.
Justin Pettit [Tue, 14 Oct 2008 07:08:05 +0000 (00:08 -0700)]
Conditionally leave out a few more things if "--enable-snat" isn't used.

15 years agoRemove unnecessary check for validity when dereferencing an array.
Justin Pettit [Tue, 14 Oct 2008 06:45:29 +0000 (23:45 -0700)]
Remove unnecessary check for validity when dereferencing an array.

Thanks to Masa et al. for pointing this out.

15 years agoFix dereference of previously freed data.
Justin Pettit [Tue, 14 Oct 2008 06:37:46 +0000 (23:37 -0700)]
Fix dereference of previously freed data.

Thanks to Masa et al. for catching this.

15 years agoReturn error message when a flow can't be added due to full tables.
Justin Pettit [Tue, 14 Oct 2008 00:49:34 +0000 (17:49 -0700)]
Return error message when a flow can't be added due to full tables.

When a flow cannot be added to any tables because they are full, send
a message with type OFPET_FLOW_MOD_FAILED and code OFPFMFC_ALL_TABLES_FULL.

15 years agoAllow SNAT to build on older (2.6.15) and new (2.6.26) kernels.
Justin Pettit [Mon, 13 Oct 2008 22:45:07 +0000 (15:45 -0700)]
Allow SNAT to build on older (2.6.15) and new (2.6.26) kernels.

15 years agoWhen sending error messages, set the length properly.
Justin Pettit [Mon, 13 Oct 2008 21:43:29 +0000 (14:43 -0700)]
When sending error messages, set the length properly.

15 years agorconn: Never report being in failure mode while connected.
Ben Pfaff [Mon, 13 Oct 2008 20:56:26 +0000 (13:56 -0700)]
rconn: Never report being in failure mode while connected.

Change e10dfcf35, "rconn: Be pickier about what constitutes a successful
connection," caused rconn to consider the connection to have failed even
when we are actually connected until one of several message types was
received.  Unfortunately, that meant that "fail open" would intercept and
discard all messages sent by the controller until one of those messages
was received.  Thus, the controller would never receive a reply to its
feature_request, assume that the connection was busted, and disconnect.
This happened forever, of course.

Fixes bug #242.

Thanks to Reid for reporting this and Dan for help in diagnosis.

15 years agorconn: Improve log message when peer closes connection.
Ben Pfaff [Mon, 13 Oct 2008 20:51:50 +0000 (13:51 -0700)]
rconn: Improve log message when peer closes connection.

15 years agoRemove OFPT_TABLE reference.
Justin Pettit [Sun, 12 Oct 2008 07:46:52 +0000 (00:46 -0700)]
Remove OFPT_TABLE reference.

15 years agoAdd support for Source-NAT to Linux 2.6 datapaths.
Justin Pettit [Sat, 11 Oct 2008 07:30:02 +0000 (00:30 -0700)]
Add support for Source-NAT to Linux 2.6 datapaths.

To enable SNAT, run configure with the "--enable-snat" flag.  This has
only been tested with the 2.6.23 kernel...more diverse testing will follow.
Documentation and a cleaner build setup will also be in a future check-in.

15 years agoFree sk_buffs with kfree_skb() instead of just kfree().
Justin Pettit [Fri, 10 Oct 2008 22:06:43 +0000 (15:06 -0700)]
Free sk_buffs with kfree_skb() instead of just kfree().

15 years agorconn: Be pickier about what constitutes a successful connection.
Ben Pfaff [Fri, 10 Oct 2008 17:13:12 +0000 (10:13 -0700)]
rconn: Be pickier about what constitutes a successful connection.

When secchan is configured to "fail open" after failing to connect to
a controller for a period of time, it needs a heuristic for what
constitutes a successful connection.  Until now, that heuristic was
simply that when it received an OpenFlow message from the controller
(any OpenFlow message), it considered the connection successful.

However, this is no longer good enough, because NOX performs
admission control on connections after sending a number of OpenFlow
messages, in particular after doing OpenFlow version negotiation and
requesting the switch features (and receiving the reply).  Thus, this
commit adjusts the heuristic by only considering certain OpenFlow
messages to demonstrate that admission control checks have passed and
thus that the connection should be considered successful.

As a fallback, any connection that persists for 30 seconds or longer is
also considered successful.

An alternate and complementary approach (that this commit does not
implement) would be to use an OpenFlow error message to indicate why
the connection is closing.

Fixes bug #239.

15 years agoFix inaccurate log message.
Ben Pfaff [Fri, 10 Oct 2008 16:56:13 +0000 (09:56 -0700)]
Fix inaccurate log message.

15 years agoUpdate documentation to talk about userspace datapath.
Ben Pfaff [Thu, 9 Oct 2008 22:52:17 +0000 (15:52 -0700)]
Update documentation to talk about userspace datapath.

15 years agoRemove secchan dependence on Netlink for connecting to the datapath.
Ben Pfaff [Thu, 9 Oct 2008 18:13:09 +0000 (11:13 -0700)]
Remove secchan dependence on Netlink for connecting to the datapath.

15 years agoMake rconn_disconnect() a no-op if already disconnected.
Ben Pfaff [Wed, 8 Oct 2008 21:24:18 +0000 (14:24 -0700)]
Make rconn_disconnect() a no-op if already disconnected.

15 years agoNew function stp_set_bridge_id() to change the bridge ID of a running STP.
Ben Pfaff [Wed, 8 Oct 2008 21:11:08 +0000 (14:11 -0700)]
New function stp_set_bridge_id() to change the bridge ID of a running STP.

15 years agoNew function dhclient_get_netdev().
Ben Pfaff [Wed, 8 Oct 2008 21:09:37 +0000 (14:09 -0700)]
New function dhclient_get_netdev().

15 years agoImplement dhclient_destroy().
Ben Pfaff [Wed, 8 Oct 2008 21:09:18 +0000 (14:09 -0700)]
Implement dhclient_destroy().

This function has always been prototyped in dhcp-client.h, but it had
no users and never got implemented.