Commit Graph

177 Commits

Author SHA1 Message Date
Ben Pfaff 22956af80b Fix typo in comment. 2008-10-06 09:44: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 06e22ff0fe Modify VLAN actions to support setting both VID and priority.
Stripping VLANs is now done through the OFPAT_STRIP_VLAN action (i.e., you
don't specify a magic value in the generirc VLAN action).  Also, it is now
possible to modify the priority bits associated with the VLAN tag through
the OFPAT_SET_VLAN_PCP action.  The OFPAT_SET_DL_VLAN has been renamed to
OFPAT_SET_VLAN_VID.
2008-09-25 15:00:38 -07:00
Ben Pfaff 4eec1e41ce Remove unused, obsolete attributes from OpenFlow netlink protocol. 2008-09-24 14:09:00 -07:00
Ben Pfaff a53f52b256 Fix typo in comment. 2008-09-24 12:43:23 -07:00
Justin Pettit 902b816539 Fix some old references to OFPPFL_ in comments. 2008-09-22 17:48:06 -07:00
Justin Pettit 9da88ee2ad Modify OpenFlow commands related to ports to be more expressive.
This new OpenFlow message format provides a cleaner interface and greater
detail and control over ports.  It is now possible to see what features
the switch's port is currently configured as having, what it's advertising,
and what it's capable of handling.  It is also possible to return the
features advertised by the port's peer.
2008-09-22 15:18:22 -07:00
Ben Pfaff 512f02d405 Get rid of per-port STP implemented bits, by reducing OFPP_MAX to 255.
802.1D Spanning Tree Protocol supports a maximum of 255 ports per bridge,
but OpenFlow supported 256, so 1 port had to not implement STP.  This
gets rid of the problem by reducing the maximum number of ports to 255.
2008-09-19 17:07:47 -07:00
Justin Pettit 034f125955 Added lookup count to ofp_table_stats. 2008-09-18 19:47:27 -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
Ben Pfaff 84f7d34079 Make it easier to bootstrap the PKI for SSL connections in OpenFlow. 2008-09-16 16:06:45 -07:00
Ben Pfaff 08cd0bc83c Fix "make distcheck". 2008-09-15 16:32:12 -07:00
Ben Pfaff b7d8bab74d Merge commit 'origin/master'
Conflicts:

	switch/datapath.c
	utilities/dpctl.c
2008-09-15 15:43:44 -07:00
Ben Pfaff f593e3ab70 Merge branch "partner", to simplify partner integration. 2008-09-15 15:31:36 -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
Ben Pfaff 9c1b16772c Implement OFPT_HELLO simple version negotiation. 2008-09-15 14:29:53 -07:00
Ben Pfaff 553dfa572d Break passive vconns out into separate pvconn routines and data structures.
There really was nothing in common between the active and passive vconns.
This arrangement makes more sense.
2008-09-15 14:29:53 -07:00
Ben Pfaff 9fe9a47916 Make "struct vconn" opaque. 2008-09-15 14:29:53 -07:00
Ben Pfaff 74cacf6067 Get rid of OFP_MAXLEN.
Statistics or vendor extensions can fill up the whole 64 kB.
2008-09-10 20:05:49 -07:00
Ben Pfaff d0fb7347b9 Delete OFPST_SWITCH and make it available as a Nicira vendor extension. 2008-09-10 15:00:47 -07:00
Ben Pfaff 39136b0fb9 Make switches send error messages when they receive a bad request. 2008-09-10 13:22:25 -07:00
Ben Pfaff 696db2c3b6 Add vendor-specific messages and statistics to OpenFlow protocol. 2008-09-10 13:21:34 -07:00
Justin Pettit 176265ed07 Use new method to describe table entries in OpenFlow wire protocol.
Older versions of OpenFlow pre-defined a few different types of tables and the
Features Reply message would indicate how many of those entries existed.  This
was very inflexible, so now the Features Reply just indicates how many tables
there are.  The controller now sends a Table Stats request to find out how
many entries are supported and the fields that can be wildcarded.

This change also removes the "buffer_mb" field from the Features Reply, since
it was not being used and seemed to be of limited value.
2008-09-10 13:03:25 -07:00
Ben Pfaff b5e9402df5 Implement 802.1D Spanning Tree Protocol. 2008-09-09 14:15:57 -07:00
Ben Pfaff b5bcab1b47 Add ability to monitor both ends of secchan connections from dpctl. 2008-09-08 10:05:13 -07:00
Ben Pfaff 9e7df18a42 vconn: New function vconn_get_name(). 2008-09-08 10:05:13 -07:00
Ben Pfaff 95204b0bf0 Don't use designated array initializers in code compiled outside of Linux.
Needed for partner builds.
2008-09-04 13:53:27 -07:00
Ben Pfaff eb0341e711 Rename utility functions to avoid partner namespace conflicts. 2008-09-04 13:53:27 -07:00
Ben Pfaff 412c3875c2 Tolerate existing definitions of MIN, MAX macros.
Enables partner builds.
2008-09-04 13:53:26 -07:00
Ben Pfaff 4782d87313 Fix included headers.
Enables partner builds.
2008-09-04 13:53:26 -07:00
Ben Pfaff 2c775287e2 Rename struct queue to struct ofp_queue.
Fixes namespace conflict for partner development.
2008-09-04 13:53:26 -07:00
Ben Pfaff 5549180a54 Rename struct buffer to struct ofpbuf.
Fixes namespace conflict for partner development.
2008-09-04 13:53:26 -07:00
Ben Pfaff b5e16b0723 Respin "Make vconns keep track of their names and include them in log messages."
This time, leave out the segfaults.
2008-09-04 09:47:05 -07:00
Justin Pettit 7d7d973d8b Add serial number to description status message. 2008-09-03 17:51:42 -07:00
Justin Pettit af04b055a7 Revert "Make vconns keep track of their names and include them in log messages."
This reverts commit a39a2431c1.
2008-09-03 17:43:30 -07:00
Ben Pfaff a39a2431c1 Make vconns keep track of their names and include them in log messages. 2008-09-02 14:28:22 -07:00
Ben Pfaff 263aa64c49 Add support for extensions submodule. 2008-08-28 17:36:33 -07:00
Ben Pfaff 686e34c8b7 Make the secchan report a few more switch-status items. 2008-08-28 14:25:05 -07:00
Ben Pfaff 3cc1ae6a32 Add ability to run fatal signal hooks upon normal termination too.
This is convenient since in many cases we want these hooks to run in
both cases.
2008-08-28 14:24:39 -07:00
Ben Pfaff e9ab3dbf6d Make -P or --pidfile keep programs from running if already running. 2008-08-28 13:17:16 -07:00
Ben Pfaff 1a41889356 vlog: Implement rate-limiting. 2008-08-26 13:25:19 -07:00
Ben Pfaff 2667dfda01 New functions ds_put_strftime(), ds_chomp(). 2008-08-26 13:25:17 -07:00
Ben Pfaff 394270a0e5 New header for saturating arithmetic. 2008-08-26 12:04:41 -07:00
Ben Pfaff e3d722e73b Implement new OpenFlow "switch statistics" feature.
This should be useful for reporting the status of a switch on its
front-panel display (for those switches that have one) or in the
controller UI.
2008-08-26 11:53:51 -07:00
Ben Pfaff b057b10a74 rconn: Add functions for reporting connection statistics. 2008-08-26 11:51:17 -07:00
Ben Pfaff 3e464f2c68 Add functions for reporting dhcp client statistics. 2008-08-26 11:51:17 -07:00
Ben Pfaff 12e6e0e2dd New functions ds_truncate(), ds_last(). 2008-08-26 11:51:17 -07:00
Ben Pfaff 0415ee1ac9 New function ds_put_printable().
Use the function in dhcp_option_to_string().
2008-08-26 11:51:17 -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
Ben Pfaff 15938f6d22 Don't compare wildcards, nw_src_mask, nw_dst_mask fields in hash table.
They should always compare equal, so there's no point in wasting the
time.
2008-08-18 14:26:50 -07:00