Commit Graph
27 Commits
Author SHA1 Message Date
Justin Pettit 96c809cc51 Allow SNAT to build on older (2.6.15) and new (2.6.26) kernels. 2008-10-13 15:45:07 -07:00
Justin Pettit 94f287969d 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.
2008-10-11 00:30:02 -07:00
Justin Pettit 1489ca2657 Add support for vendor-defined and variable-length actions.
Allow vendors to define their own actions.  Actions were originally fixed-
length, which was a bit constraining.  Actions now contain a length field,
which gives them more flexibility.
2008-10-03 16:44:13 -07:00
Justin Pettit 1400bbb7eb Use device notifier in Linux kernel switch for detecting port status changes.
To report on link status and whether a port is administratively enabled or
disabled, the reference switches poll.  This change uses the Linux kernel's
device notification system, so that polling isn't necessary.
2008-09-19 16:10:28 -07:00
Justin Pettit 4f546834ac Ignore hwtable_dummy.c symlink in kernel build directories. 2008-09-15 14:54:37 -07:00
Ben Pfaff 7fe9460749 Compatibility fixes for 2.6.18 kernel
Functions added in the 2.6.22 kernel in tcp.h and skbuff.h
have been added to the compatibility headers. Additionally
the data argument was dropped in 2.6.22 for the work queue
macros, requiring them to be redfined for previous kernels.

Based on changes from David Erickson.
2008-09-05 21:46:20 -07:00
Justin Pettit 68106c1676 Cleanup git-status by not showing some unnecessary files. 2008-08-18 23:48:58 -07:00
Ben Pfaff 42c25524bf Distribute new rculist.h headers. 2008-07-21 15:41:38 -07:00
Ben Pfaff b926a8f5e6 Fix build on Linux 2.6.26.
Linux 2.6.26 requires us to additionally include <linux/rculist.h>
to use RCU lists.
2008-07-19 16:14:18 -07:00
Ben Pfaff 88df6edbfa Drop "benchmark" netlink message and "benchmark-nl" dpctl command.
The new OFPT_ECHO_REQUEST and OFPT_ECHO_REPLY OpenFlow messages
have the same functionality and are more general (in that they
are not Netlink-specific).
2008-07-01 10:59:04 -07:00
Ben Pfaff 210b2ad921 Fix commit 8bdd107e0 (jiffies linking error) when not running on Red Hat.
From David Erickson <derickso@stanford.edu>.
2008-07-01 09:02:59 -07:00
David Erickson 8bdd107e04 Fixed a linking collision where jiffies have been backported to kernel
2.6.18-53 which is included in CENTOS 5.1.
2008-06-30 20:27:00 -07:00
Ben Pfaff 2f90b053c1 Delete unneeded line. 2008-06-04 16:14:39 -07:00
Ben Pfaff 34b307bea6 Use kernel build system for linux-2.4.
Based on changes originally by Bobby Holley <bobbyholley@stanford.edu>.
2008-06-03 14:02:13 -07:00
Justin Pettit be92f541ae Define skb_reset_mac_header for Linux 2.6 kernels older than 2.6.22. 2008-06-02 21:30:20 -07:00
Ben Pfaff cdb3bb9ebf Remove vestigial support for auto-running unit tests.
These hadn't worked for a long time.
2008-06-02 17:06:52 -07:00
Ben Pfaff d558974c4a Fix "make clean" to delete symlinks created by "make". 2008-05-29 12:55:55 -07:00
Ben Pfaff e5ccf3cc8b Don't allow CONFIG_PREEMPT with Linux 2.6.x before 2.6.21, because it's busted. 2008-05-28 09:58:22 -07:00
Ben Pfaff a0fd7dde11 Add-on hardware tables initial implementation.
Incorporates suggestions from Justin.
2008-05-14 22:18:36 -07:00
Ben Pfaff ff9464d2ad Fix compilation on Linux 2.6.20: declare NLMSG_DEFAULT_SIZE with this kernel.
NLMSG_DEFAULT_SIZE was introduced in 2.6.20-rc1 in commit 339bf98ff,
"[NETLINK]: Do precise netlink message allocations where possible", but
we only defined it for kernels 2.6.18 and earlier.  This change fixes
up the discrepancy.
2008-05-05 14:56:28 -07:00
Justin Pettit f4c3fbc94d Check whether kernel has been configured by "version.h" instead of "utsrelease.h", since that convention wasn't introduced until 2.6.18. 2008-05-05 11:36:15 -07:00
Ben Pfaff 98657c45e9 Add build directory to include path.
Otherwise generated headers (forward_t.h) will not be found at build
time.
2008-05-02 17:33:34 -07:00
Ben Pfaff 93c6fe87d7 Revamp OpenFlow kernel module build system.
The new build system supports using a build tree separate from the
source tree, which makes it easier to build for multiple targets
using a single source tree.  It also factors out the means for specifying
the modules to be built and the source files that comprise those
modules into simple files named Modules.mk.  This is intended to
make it easier to add support for separate hardware table modules in
an upcoming commit.
2008-04-29 18:34:47 -07:00
root ba858d3ec5 CHECKSUM_COMPLETE and CHECKSUM_PARTIAL were added Linux 2.6.19, so update the compatiblity layer to reflect this. 2008-04-23 15:48:56 -07:00
Justin Pettit 6d188895dc Remove MAC table support. 2008-04-10 18:31:44 -07:00
Ben Pfaff 810a7d3644 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.
2008-03-06 09:45:28 -08:00
Martin Casado 468e00132f Initial import 2008-03-04 13:12:53 -08:00