Commit Graph
89 Commits
Author SHA1 Message Date
Justin Pettit 94998b6261 Don't allow adding a flow entry with an output port of OFPP_NONE. 2008-06-30 21:41:46 -07:00
Justin Pettit df5df460f0 Fix a couple of problems when modifying VLAN tags. 2008-06-26 11:48:50 -07:00
Justin Pettit 8c0321d913 Have the switch list all the stats types it support in the capabilities field.
Thanks to Brandon for pointing this out.
2008-06-12 20:40:02 -07:00
Ben Pfaff 23e054dcb6 New functions for getting and setting network device flags.
This allows us to open network devices without bringing them up
and setting them for promiscuous mode, which will be useful in the
secchan for in-band communication.
2008-05-28 10:46:54 -07:00
Ben Pfaff 6b8436f66b Expose device IP addresses through netdev.
This will be useful for the secure channel later.
2008-05-28 10:46:54 -07:00
Justin Pettit 5f4a12ce38 Implement the OFPP_ALL virtual port.
-- Reported by Brandon H. --
2008-05-09 11:24:04 -07:00
Ben Pfaff c8e4cbbd3a Treat flows without any wildcards as maximum priority.
Otherwise, we give the table implementations the opportunity to screw up
by distinguishing between two flows without wildcards but with apparently
different priorities that are required to be treated as the same priority.
2008-05-07 15:23:45 -07:00
Ben Pfaff f7bf3916ff Implement aggregate flow statistics in kernel and userspace switches. 2008-05-02 16:58:33 -07:00
Ben Pfaff 3ef905e11a Remove MAX_ACTIONS (which was 16) as a limit on the number of actions in a flow table entry.
Now the number of actions is limited, as a practical matter, to the size
of the buffer that the kernel provides for Netlink dumps, which is usually
4096 bytes.  A flow statistics entry must fit in a single one of these
buffers.  Actions are 8 bytes each, so this is about 500 actions
considering overhead.
2008-05-02 11:37:04 -07:00
Ben Pfaff 4f5b4efc54 Send actions as part of flow statistics messages. 2008-05-02 10:58:53 -07:00
Ben Pfaff 2e12784892 Add max_idle field to flow stats messages. 2008-05-02 10:58:52 -07:00
Justin Pettit 917160e384 - Add priority to flow expiration messages.
- Clear contents of "pad" field port status messages.
2008-05-01 17:11:29 -07:00
Ben Pfaff 2f20865ed2 Convert tabs to spaces to fix indentation issues. 2008-05-01 17:04:44 -07:00
Ben Pfaff 3b9c97ee01 Implement new statistics format in kernel and userspace switches.
This change really cuts the muster!
2008-05-01 17:04:44 -07:00
Ben Pfaff f8416ecdee Clear padding bytes in fill_flow_stats(), to avoid state leakage.
Found by valgrind.
2008-05-01 17:02:31 -07:00
Justin Pettit 3f5c2e0dad Add support for OFPP_TABLE virtual port to user-space switch. 2008-05-01 16:30:09 -07:00
Justin Pettit 66b5c90376 - Add support for OpenFlow error message type.
- Ensure OpenFlow messages fit in 16-bit length field.
2008-04-30 17:38:03 -07:00
Justin Pettit d1d2f3f321 - On flow entries with wildcards, match priority field when doing a "strict" delete.
- Remove group_id from flow entries.
- Show priority when print flow mod messages.
2008-04-29 15:00:28 -07:00
Justin Pettit bfe3b4df89 - Add support for flow entry priorities.
- Fix "flow-add" action for dpctl.
2008-04-26 14:08:41 -07:00
Justin Pettit 0d3a0643c4 Switch from "stat" to "stats" everywhere. 2008-04-16 15:38:25 -07:00
Natasha Gude 8623e6c16e Updated version references to OFP_VERSION 2008-04-16 11:30:55 -07:00
Justin Pettit d485c3f0ce Finish removing references to the MAC table. 2008-04-15 13:42:35 -07:00
Ben Pfaff 5bb08bc0ef Expand tabs to spaces in dp_send_flow_stats.
Suggested by Justin.
2008-04-15 09:56:49 -07:00
Ben Pfaff d2552c15f3 Make table_id in OpenFlow messages 8 bits, since 255 should be enough.
Suggested by Justin.
2008-04-15 09:56:46 -07:00
Ben Pfaff 0a1a667973 Make duration in ofp_flow_stats a 32-bit quantity (instead of 16).
Otherwise duration is capped at under 24 hours.

Suggested by Justin.
2008-04-15 09:56:41 -07:00
Ben Pfaff b9cdc64135 Add missing calls to htons/ntohs in accesses to miss_send_len.
Thanks to Justin for pointing out the problem.
2008-04-15 09:56:36 -07:00
Ben Pfaff f6cae73ec3 Implement OpenFlow statistics in switches and in dpctl.
This has two notable omissions.  First, only at most 4k of flow statistics
are reported.  Second, aggregate statistics are not yet supported.  Both
of these are fairly easily fixable, just not fixed yet.
2008-04-04 16:22:40 -07:00
Ben Pfaff 4fc7e7d11f Send replies to OpenFlow requests only to the sender. 2008-04-04 16:22:23 -07:00
Ben Pfaff 60a87c9b00 Break data_hello and control_hello messages into multiple messages.
We want to allow multiple OpenFlow connections to a switch, so that
dpctl and other management tools can also connect to a switch that
is connecte to the controller.  These tools will want to fetch the
information in the data_hello message, but currently this can only
be done by sending a control_hello message, which changes the
switch configuration state.  So breaking the hello messages up into
multiple different messages, only some of which affect configuration
state, cures the problem.

Also, clean up the kernel datapath a bit, by adding helper functions
for allocating and resizing Generic Netlink messages that encapsulate
OpenFlow messages.
2008-04-04 16:22:21 -07:00
Ben Pfaff 14da11884d Rename controller_connection to rconn and use it in secchan also.
Also, clean up code and add comments.
2008-04-04 16:20:55 -07:00
Ben Pfaff c985123c3c Fix logic bug in userspace switch that could cause reading invalid memory.
Also, fix comment.
2008-04-04 16:20:54 -07:00
Ben Pfaff 88ce0ff709 Add clarifying comment. 2008-04-01 10:00:40 -07:00
Ben Pfaff 666158e792 Get rid of tables' dependency on the datapath. 2008-04-01 09:52:59 -07:00
Ben Pfaff c720cc542a Make the datapath responsible for the controller connection also. 2008-04-01 09:52:59 -07:00
Ben Pfaff fadf2608a7 Merge datapath.[ch] with forward.[ch]. 2008-04-01 09:52:59 -07:00
Ben Pfaff 704c2666c6 Clean up and comment netdev implementation. 2008-04-01 09:52:59 -07:00
Ben Pfaff 62a5944bb3 Support jumbo frames, by allocating enough memory for the device MTU. 2008-04-01 09:52:59 -07:00
casado 3f0201adb5 Update copyright on all non-GPL files 2008-03-27 20:12:18 -07:00
Ben Pfaff 98d149406a Implement userspace switch. 2008-03-27 17:50:33 -07:00