Commit Graph
22 Commits
Author SHA1 Message Date
Ben Pfaff 6b617bac12 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.
2008-10-29 15:15:45 -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 e4cf5c4b82 Added OFPFC_MODIFY_STRICT flow mod command.
This cleans up the handling of modifying existing flows.  There now exists
OFPFC_MODIFY and OFPFC_MODIFY_STRICT commands, which have the same matching
characteristics to their OFPFC_DELETE* counterparts.  When adding a flow that
already exists, the counters and timers are now reset (ie, its treated as a
new flow).  This commit also adds the "--strict" option to dpctl to allow
strict matching for "mod-flows" and "del-flows".
2008-09-16 16:07:41 -07:00
Justin Pettit 57d5205765 Add support for OFPFC_MODIFY Flow Mod command.
The OFPFC_MODIFY command allows the controller to modify the actions of
existing flows.  When it does this, it does not reset counters or timers.
2008-09-15 15:27:04 -07:00
Justin Pettit 6114ad11bb Fix crash when no actions are specified.
Actions are allocated as a pointer to an array of actions in flows.  When
flows are freed, the code was always freeing the action pointer.
Under some circumstances the pointer may not be set.
2008-09-12 18:47:29 -07:00
Ben Pfaff 9630e41005 Implement subnet mask matching in OpenFlow. 2008-08-18 14:26:50 -07:00
Ben Pfaff 3b0470d419 Use proper byte order for dl_type of 802.2, non-SNAP frames. 2008-08-14 11:06:18 -07:00
Ben Pfaff 483624de9a Fix handling of IP but non-TCP, non-UDP packets in kernel flow_extract().
In particular, ICMP was broken.
2008-08-08 11:43:41 -07:00
Ben Pfaff 7bee00fad9 Implement OpenFlow hard timeouts.
This updates the OpenFlow protocol version and changes the names of
structure members, so any software that uses OpenFlow will need to be
updated to match.
2008-08-07 15:19:31 -07:00
Ben Pfaff eca2aeb329 Implement OFPC_FRAG_DROP fragment handling policy. 2008-08-07 10:34:37 -07:00
Ben Pfaff ef7e8993ff Don't accept incomplete TCP headers when extracting flows in kernel.
This makes the kernel and the userspace implementations of flow
extraction behave the same way regarding headers.
2008-08-04 14:46:01 -07:00
Ben Pfaff b0a11b7a5a Don't try to extract UDP/TCP port numbers from IP fragments. 2008-08-04 14:45:59 -07:00
Ben Pfaff f2232335ab Don't need 'deleted' member of struct flow.
Flow deletion is already fully serialized on dp_mutex.
2008-07-21 13:59:55 -07:00
Ben Pfaff 253d1704aa Always do exact-match on undefined flow fields, so that such flows can be in table-hash. 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
Justin Pettit df50f327ff Remove definition of unused function "hash_in6". 2008-05-14 17:06:12 -07:00
Justin Pettit 03addaad57 Don't try to use the IP addresses from ARP packets when matching. 2008-05-10 00:45:06 -07:00
Justin Pettit d22fc1ef68 IPv6 is not supported in OpenFlow, so don't try to parse it. 2008-05-10 00:27:13 -07:00
Justin Pettit 3cf996b4cd Zero-out invalid fields when extracting a "match" and transforming it into a "flow".
When the controller wishes to add a flow entry to the switch, it sends a request with a description of matching flows in a "match".  The switch was adding these exactly as described into the flow tables.  However, when packets arrived, all invalid fields (e.g., the TCP/UDP ports in a non-TCP/UDP packet) are set to zero.  If the rule being added by the controller had not set these invalid fields to zero, the packets would never match.  We now zero out these fields when extracing a "match".

-- Reported by Brandon H. --
2008-05-09 11:24:04 -07:00
Justin Pettit 005486c773 Fixed some space/tab issues. 2008-03-30 01:37:33 -07:00
Justin Pettit de6e0a76a3 Update 2007 copyrights to include 2008. 2008-03-27 23:51:58 -07:00
Martin Casado 468e00132f Initial import 2008-03-04 13:12:53 -08:00