Commit Graph
32 Commits
Author SHA1 Message Date
Justin Pettit b7f66c424f 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.
2008-10-30 16:23:27 -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 a3f9fd8581 Added missing header file. 2008-09-26 13:20:29 -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
Justin Pettit a9485e1c39 Fix a couple of typos. 2008-08-22 13:21:58 -07:00
Justin Pettit f1c6daebf3 Send PORT_STATUS messages on port and link changes. Add ability to remotely enable and disable a port through the PORT_MOD message. 2008-08-22 12:47:54 -07:00
Justin Pettit 68106c1676 Cleanup git-status by not showing some unnecessary files. 2008-08-18 23:48:58 -07:00
Ben Pfaff be25fa83e8 Merge branch 'locking' 2008-07-24 16:07:32 -07:00
Ben Pfaff 42c25524bf Distribute new rculist.h headers. 2008-07-21 15:41:38 -07:00
Ben Pfaff fbdb49ffdc Verify that sleeping is allowed in chain contexts where Broadcom will need to. 2008-07-21 13:59:55 -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 fac543387f Fix "make dist" in datapath/linux-2.4 when --with-l24 not used.
This makes the linux-2.4 Makefile.main.in structure much more
similar to the linux-2.6 Makefile.main.in.
2008-06-04 16:14:23 -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
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 59ba307325 Make the OFPP_LOCAL port work in the kernel OpenFlow implementation. 2008-05-28 10:46:54 -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 726bd68327 Compile fix for Linux 2.6.26-rc1: don't use the removed list_for_each_safe_rcu macro.
There is no need for a "safe" version of the RCU list iteration macros,
because the ordinary version of the macros is "safe".  Linux 2.6.26-rc1
removed these "safe" versions, so this change modifies OpenFlow's uses
of these macros to use the ordinary versions.  This also simplifies the
code because we don't need to use the list_entry macros any longer.
2008-05-05 12:17:04 -07:00
Justin Pettit d54088ba92 Fix problem introduced by kernel threads when building for 2.4.20. 2008-05-04 21:07:24 -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 53cceda7ad Reduce spurious recompilations for Linux 2.4 datapath.
We need object files to depend on the build directories, so that the
build directories get created before we try to output files into them.
But making them depend directly on the build directories means that
whenever a build directory changes (including any change to the set of
files inside it) all the source files get recompiled.  So, instead, make
them depend on dummy files inside the directories, which will only get
modified if someone does it intentionally.
2008-05-02 15:51:08 -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
Justin Pettit bbbc6bc992 MIPS fixes based on suggestions from Jiang. 2008-04-14 00:10:48 -07:00
Justin Pettit 00529de1f0 Fix compilation error in 2.4.20 kernels. 2008-04-11 14:40:29 -07:00
Justin Pettit 6d188895dc Remove MAC table support. 2008-04-10 18:31:44 -07:00
Justin Pettit 0a9024a2d7 Changes based on feedback from GigaFin. 2008-04-10 15:50:25 -07:00
Ben Pfaff ebb1d65cf7 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.
2008-04-01 13:01:07 -07:00
Ben Pfaff 15bd8ce4ba Fix typo in comment. 2008-04-01 13:01:07 -07:00
Justin Pettit 1558120be7 - 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.
2008-03-30 01:41:42 -07:00
Martin Casado 468e00132f Initial import 2008-03-04 13:12:53 -08:00