openvswitch
16 years agoAdd new functions for pretty-printing an OpenFlow message to a string.
Ben Pfaff [Thu, 3 Apr 2008 00:10:16 +0000 (17:10 -0700)]
Add new functions for pretty-printing an OpenFlow message to a string.

This makes it possible to send pretty-printed versions of OpenFlow
messages to vlog.

16 years agoAdd vlog functions and macros for testing whether a module and level are enabled.
Ben Pfaff [Thu, 3 Apr 2008 15:28:04 +0000 (08:28 -0700)]
Add vlog functions and macros for testing whether a module and level are enabled.

16 years agoFix bug in vconn-tcp, vconn-ssl that prevented minimum-length OpenFlow packets from...
Ben Pfaff [Fri, 4 Apr 2008 23:02:46 +0000 (16:02 -0700)]
Fix bug in vconn-tcp, vconn-ssl that prevented minimum-length OpenFlow packets from being received correctly.

16 years agoFix logic bug in userspace switch that could cause reading invalid memory.
Ben Pfaff [Thu, 3 Apr 2008 16:57:08 +0000 (09:57 -0700)]
Fix logic bug in userspace switch that could cause reading invalid memory.

Also, fix comment.

16 years agoBy more liberal (egads!) about allocating space for netlink messages.
Justin Pettit [Wed, 2 Apr 2008 23:45:28 +0000 (16:45 -0700)]
By more liberal (egads!) about allocating space for netlink messages.

16 years agoAllow timeout implementations to block, by using a kernel thread instead of a timer.
Ben Pfaff [Tue, 1 Apr 2008 16:41:21 +0000 (09:41 -0700)]
Allow timeout implementations to block, by using a kernel thread instead of a timer.

This is required on the Quanta platform, which needs to down a semaphore
inside the timeout implementation.

Also, add a 2.4 compatibility implementation of kthread so that both
2.4 and 2.6 can use the kthread API.

16 years agoFix typo in comment.
Ben Pfaff [Mon, 31 Mar 2008 22:23:53 +0000 (15:23 -0700)]
Fix typo in comment.

16 years agoAdd clarifying comment.
Ben Pfaff [Tue, 1 Apr 2008 17:00:40 +0000 (10:00 -0700)]
Add clarifying comment.

16 years agoGet rid of tables' dependency on the datapath.
Ben Pfaff [Mon, 31 Mar 2008 20:49:28 +0000 (13:49 -0700)]
Get rid of tables' dependency on the datapath.

16 years agoMake the datapath responsible for the controller connection also.
Ben Pfaff [Mon, 31 Mar 2008 16:59:32 +0000 (09:59 -0700)]
Make the datapath responsible for the controller connection also.

16 years agoMerge datapath.[ch] with forward.[ch].
Ben Pfaff [Mon, 31 Mar 2008 16:58:13 +0000 (09:58 -0700)]
Merge datapath.[ch] with forward.[ch].

16 years agoBetter abstract controller_connection.
Ben Pfaff [Mon, 31 Mar 2008 16:53:11 +0000 (09:53 -0700)]
Better abstract controller_connection.

16 years agoReverse the dependency of controller.c on forward.c.
Ben Pfaff [Sat, 29 Mar 2008 00:16:00 +0000 (17:16 -0700)]
Reverse the dependency of controller.c on forward.c.

Now controller.c doesn't depend on datapath.c or forward.c,
which brings us one step closer to a reasonable dependency
hierarchy.

16 years agoHide contents of sw_chain.
Ben Pfaff [Fri, 28 Mar 2008 22:30:13 +0000 (15:30 -0700)]
Hide contents of sw_chain.

16 years agoAdd comments to queue module.
Ben Pfaff [Fri, 28 Mar 2008 22:21:43 +0000 (15:21 -0700)]
Add comments to queue module.

16 years agoClean up and comment poll-loop module.
Ben Pfaff [Fri, 28 Mar 2008 22:02:46 +0000 (15:02 -0700)]
Clean up and comment poll-loop module.

16 years agoClean up and comment netdev implementation.
Ben Pfaff [Fri, 28 Mar 2008 21:03:08 +0000 (14:03 -0700)]
Clean up and comment netdev implementation.

16 years agoGet rid of ip.h, migrating its users to packets.h.
Ben Pfaff [Fri, 28 Mar 2008 22:15:22 +0000 (15:15 -0700)]
Get rid of ip.h, migrating its users to packets.h.

16 years agoGet rid of mac.h, migrating its users to packets.h.
Ben Pfaff [Fri, 28 Mar 2008 21:12:15 +0000 (14:12 -0700)]
Get rid of mac.h, migrating its users to packets.h.

As a consequence, this fixes tests for multicast and local Ethernet
addresses, which formerly tested for the high bits but should
have tested for the low bits of the first octet.

16 years agoSupport jumbo frames, by allocating enough memory for the device MTU.
Ben Pfaff [Fri, 28 Mar 2008 21:01:54 +0000 (14:01 -0700)]
Support jumbo frames, by allocating enough memory for the device MTU.

16 years agoUse LIST_FOR_EACH_SAFE, not LIST_FOR_EACH, when deleting from a list.
Ben Pfaff [Mon, 31 Mar 2008 20:46:39 +0000 (13:46 -0700)]
Use LIST_FOR_EACH_SAFE, not LIST_FOR_EACH, when deleting from a list.

16 years agoFix memory leak in poll-loop.c.
Ben Pfaff [Fri, 28 Mar 2008 22:06:29 +0000 (15:06 -0700)]
Fix memory leak in poll-loop.c.

16 years ago- Fixed endian issue with action type. Thanks, Ben!
Justin Pettit [Sun, 30 Mar 2008 08:41:42 +0000 (01:41 -0700)]
- Fixed endian issue with action type.  Thanks, Ben!
- Removed BUG() call that could be maliciously/accidentally triggered by a faulty controller.
- Switched from __constant_htons to htons, which seems preferred.

16 years agoFixed some tab/space issues.
Justin Pettit [Sun, 30 Mar 2008 08:38:01 +0000 (01:38 -0700)]
Fixed some tab/space issues.

16 years agoFixed some space/tab issues.
Justin Pettit [Sun, 30 Mar 2008 08:37:33 +0000 (01:37 -0700)]
Fixed some space/tab issues.

16 years agoRemove dead "t" directory.
Justin Pettit [Sun, 30 Mar 2008 07:39:54 +0000 (00:39 -0700)]
Remove dead "t" directory.

16 years agoIncrease the version number to v0.2.1.
Justin Pettit [Fri, 28 Mar 2008 17:10:44 +0000 (10:10 -0700)]
Increase the version number to v0.2.1.

16 years agoCompile, but do not distribute, the generate file dhparams.c.
Ben Pfaff [Fri, 28 Mar 2008 16:36:45 +0000 (09:36 -0700)]
Compile, but do not distribute, the generate file dhparams.c.

Improves upon 3d5c5b2b2, "Remove explicit addition of auto-generated
dhparams.c", by allowing "make" to work as well as "make dist" :-)

16 years agoRemove explicit addition of auto-generated dhparams.c, since it makes "make dist...
Justin Pettit [Fri, 28 Mar 2008 07:17:45 +0000 (00:17 -0700)]
Remove explicit addition of auto-generated dhparams.c, since it makes "make dist" puke.

16 years agoRemove dead linux-2.6-uml directory.
Justin Pettit [Fri, 28 Mar 2008 07:04:09 +0000 (00:04 -0700)]
Remove dead linux-2.6-uml directory.

16 years agoIncrease version to 0.2.0.
Justin Pettit [Fri, 28 Mar 2008 06:59:37 +0000 (23:59 -0700)]
Increase version to 0.2.0.

16 years agoUpdate references to point to non-alpha OpenFlow site.
Justin Pettit [Fri, 28 Mar 2008 06:58:48 +0000 (23:58 -0700)]
Update references to point to non-alpha OpenFlow site.

16 years agoUpdate 2007 copyrights to include 2008.
Justin Pettit [Fri, 28 Mar 2008 06:51:58 +0000 (23:51 -0700)]
Update 2007 copyrights to include 2008.

16 years agoUpdate copyright on all non-GPL files
casado [Fri, 28 Mar 2008 03:12:18 +0000 (20:12 -0700)]
Update copyright on all non-GPL files

16 years ago- Turn off ssl support by default
casado [Fri, 28 Mar 2008 02:48:54 +0000 (19:48 -0700)]
- Turn off ssl support by default
- Update docs
- Add ldl to link line (needed from non-ssl builds)

16 years agoAdd list of to-do items for userspace switch.
Ben Pfaff [Fri, 28 Mar 2008 00:48:15 +0000 (17:48 -0700)]
Add list of to-do items for userspace switch.

16 years agoImprove comment.
Ben Pfaff [Fri, 28 Mar 2008 00:46:35 +0000 (17:46 -0700)]
Improve comment.

16 years agoDocumentation wording improvements from Justin.
Ben Pfaff [Fri, 28 Mar 2008 00:46:26 +0000 (17:46 -0700)]
Documentation wording improvements from Justin.

16 years agoSet l4 pointer properly in buffers that contain IP options.
Ben Pfaff [Fri, 28 Mar 2008 00:34:05 +0000 (17:34 -0700)]
Set l4 pointer properly in buffers that contain IP options.

The important part of this change is handling of IP options.  The
rest is intended to ensure that packet->l3 and packet->l4 never
point outside the valid range of a packet in the presence of a
minimum-length Ethernet frame.  Other code (particularly in forward.c)
assumes that if the IP protocol is TCP or UDP, then packet->l4 points
to a tcp_header or udp_header.  Whether this is a good idea is
debatable--it probably warrants clean-up, at least--but that what's
there now.

16 years agoImplement userspace switch.
Ben Pfaff [Thu, 27 Mar 2008 22:19:17 +0000 (15:19 -0700)]
Implement userspace switch.

16 years agoAdd tag to enum for OpenFlow statistics type.
Ben Pfaff [Thu, 27 Mar 2008 22:11:41 +0000 (15:11 -0700)]
Add tag to enum for OpenFlow statistics type.

16 years agoNew function list_replace(), to replace a list element in-place.
Ben Pfaff [Thu, 27 Mar 2008 22:11:01 +0000 (15:11 -0700)]
New function list_replace(), to replace a list element in-place.

16 years agoAdd pointers to headers to buffer, and initialize them in flow_extract.
Ben Pfaff [Thu, 27 Mar 2008 22:09:32 +0000 (15:09 -0700)]
Add pointers to headers to buffer, and initialize them in flow_extract.

This will be used in the userspace switch implementation.

16 years agoAdd abstraction of packet queue, and use it in the controller.
Ben Pfaff [Thu, 27 Mar 2008 22:16:57 +0000 (15:16 -0700)]
Add abstraction of packet queue, and use it in the controller.

The packet queue abstraction will also be used in the userspace
switch.

16 years agoAdd the ability to connect to a vconn asynchronously.
Ben Pfaff [Thu, 27 Mar 2008 22:16:19 +0000 (15:16 -0700)]
Add the ability to connect to a vconn asynchronously.

Until now, vconn_connect() has always completed the connection
synchronously, blocking as necessary.  In the userspace
switch, we want to be able to continue forwarding packets even
if the connection to the controller drops.  Thus, this change set
that makes that possible.

The approach taken is perhaps more ambitious than needed, as it
actually adds a new high-level mechanism for polling on arbitrary
file descriptors.  This necessitates quite a bit of change to
each of the userspace programs that use vconns, but it also has
the effect of simplifying them.  The new structure of these programs
is a lot less fragile than the old one (which tended to end up
livelocking or hanging when something wasn't quite right), so it
seems like the changes are worth it.

16 years agoAdd 1024-bit Diffie-Hellman parameters to vconn-ssl.
Ben Pfaff [Thu, 27 Mar 2008 21:30:21 +0000 (14:30 -0700)]
Add 1024-bit Diffie-Hellman parameters to vconn-ssl.

1024-bit Diffie-Hellman is somewhat weak, but I haven't been able to
figure out how to make OpenSSL use longer Diffie-Hellman keys than that.
If this isn't available, OpenSSL doesn't let connections proceed.

This change should be reverted when we figure out how to make OpenSSL
use longer Diffie-Hellman keys.

16 years agoMake vlog preserve errno.
Ben Pfaff [Thu, 27 Mar 2008 21:28:01 +0000 (14:28 -0700)]
Make vlog preserve errno.

This means that adding logging to code disturbs the program's state
as little as possible.  This is a precautionary measure, not in response
to any particular bug.

16 years agoAdd additional definitions for Ethernet addresses and headers and for VLAN headers.
Ben Pfaff [Thu, 27 Mar 2008 21:26:30 +0000 (14:26 -0700)]
Add additional definitions for Ethernet addresses and headers and for VLAN headers.

16 years agoFix LIST_FOR_EACH_SAFE macro.
Ben Pfaff [Thu, 27 Mar 2008 21:25:39 +0000 (14:25 -0700)]
Fix LIST_FOR_EACH_SAFE macro.

The previous definition had a syntax error that prevented it from
working.

16 years agoInitialize pad byte in ofp_packet_in messages, to avoid leaking kernel state.
Ben Pfaff [Thu, 27 Mar 2008 21:24:47 +0000 (14:24 -0700)]
Initialize pad byte in ofp_packet_in messages, to avoid leaking kernel state.

16 years agoAdd "#include <string.h>" so strerror() doesn't produce compiler warnings.
root [Fri, 21 Mar 2008 01:14:58 +0000 (18:14 -0700)]
Add "#include <string.h>" so strerror() doesn't produce compiler warnings.

16 years agoMention additional required software for working from a Git tree.
Ben Pfaff [Thu, 20 Mar 2008 17:23:08 +0000 (10:23 -0700)]
Mention additional required software for working from a Git tree.

16 years agoMake sure all the needed SSL files are included in generated distributions.
Justin Pettit [Thu, 20 Mar 2008 06:13:42 +0000 (23:13 -0700)]
Make sure all the needed SSL files are included in generated distributions.

16 years agoCorrect the date of the 1.9 release.
Justin Pettit [Thu, 20 Mar 2008 06:12:08 +0000 (23:12 -0700)]
Correct the date of the 1.9 release.

16 years agoMerge branch 'master' of nicira.dyndns.org:/srv/git/openflow
Justin Pettit [Wed, 19 Mar 2008 21:01:07 +0000 (14:01 -0700)]
Merge branch 'master' of nicira.dyndns.org:/srv/git/openflow

16 years ago- Increase version to 0.1.9.
Justin Pettit [Wed, 19 Mar 2008 21:00:44 +0000 (14:00 -0700)]
- Increase version to 0.1.9.
- Remove support for UML.

16 years agoPunctuation and grammar fixes.
Ben Pfaff [Wed, 19 Mar 2008 16:48:13 +0000 (09:48 -0700)]
Punctuation and grammar fixes.

16 years agoChange tabs to spaces in ofp-pki to make indentation consistent across text editors.
Ben Pfaff [Wed, 19 Mar 2008 16:52:30 +0000 (09:52 -0700)]
Change tabs to spaces in ofp-pki to make indentation consistent across text editors.

Based on suggestion by Justin.

16 years agoChange fatal errors in SSL connection from VLOG_DBG to VLOG_ERR.
Ben Pfaff [Wed, 19 Mar 2008 16:52:04 +0000 (09:52 -0700)]
Change fatal errors in SSL connection from VLOG_DBG to VLOG_ERR.

Suggested by Justin.

16 years agoRemove support for 512- and 1024-bit Diffie-Hellman.
Ben Pfaff [Wed, 19 Mar 2008 16:37:11 +0000 (09:37 -0700)]
Remove support for 512- and 1024-bit Diffie-Hellman.

As Justin points out, these key lengths are too low-security to be acceptable
any longer.

16 years agoDocument that we use TLSv1.
Ben Pfaff [Wed, 19 Mar 2008 16:35:11 +0000 (09:35 -0700)]
Document that we use TLSv1.

16 years agoFix arguments to printf in usage message.
Ben Pfaff [Wed, 19 Mar 2008 16:00:31 +0000 (09:00 -0700)]
Fix arguments to printf in usage message.

16 years agoAdd missing #include.
Ben Pfaff [Wed, 19 Mar 2008 16:00:14 +0000 (09:00 -0700)]
Add missing #include.

16 years agoSupport SSL in secchan and controller.
Ben Pfaff [Thu, 13 Mar 2008 00:13:31 +0000 (17:13 -0700)]
Support SSL in secchan and controller.

16 years agoFix backoff.
Ben Pfaff [Thu, 13 Mar 2008 00:12:58 +0000 (17:12 -0700)]
Fix backoff.

Until now, if the secure channel connected to a controller, then it would
not back off at all from re-connecting.  Therefore, if something causes
the secure channel to disconnect quickly after connecting to a controller,
then we could get storms of attempted connections.

This commit causes the secure channel to back off exponentially from
connection attempts regardless of the reason for disconnection, preventing
such storms.

16 years agoRewrite vlogconf manpage to reflect current implementation.
Ben Pfaff [Thu, 13 Mar 2008 22:17:02 +0000 (15:17 -0700)]
Rewrite vlogconf manpage to reflect current implementation.

16 years agoIgnore lots of files.
Ben Pfaff [Tue, 11 Mar 2008 00:18:27 +0000 (17:18 -0700)]
Ignore lots of files.

16 years agoDon't treat $(CC) as a list of compiler candidates if provided by user.
Ben Pfaff [Thu, 6 Mar 2008 17:45:28 +0000 (09:45 -0800)]
Don't treat $(CC) as a list of compiler candidates if provided by user.

Otherwise, if a multi-word $(CC) is provided by the user, such as
"gcc -m32", then we test each word as a compiler.  "-m32" then gives
you an error from the shell about "-3" not being a valid option.

16 years agoUsed to boostrap autoconf files
Martin Casado [Tue, 4 Mar 2008 21:14:49 +0000 (13:14 -0800)]
Used to boostrap autoconf files

16 years agoInitial import
Martin Casado [Tue, 4 Mar 2008 21:12:53 +0000 (13:12 -0800)]
Initial import

16 years agoPlaceholder
root [Tue, 4 Mar 2008 21:10:56 +0000 (13:10 -0800)]
Placeholder