Commit Graph
290 Commits
Author SHA1 Message Date
Justin Pettit 77c8eed5b4 First cut of pretty printer of ofp_port_mod messages. 2008-09-22 17:59:50 -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 cade93d46d Slight improvement to printing of ofp_port_status messages. 2008-09-19 02:00:06 -07:00
Justin Pettit 034f125955 Added lookup count to ofp_table_stats. 2008-09-18 19:47:27 -07:00
Ben Pfaff 03a3cc1e3d Fix failure to back off when vconn_open() fails immediately.
This typically would happen only with an entirely local vconn,
e.g. connecting to a Unix domain socket vconn.
2008-09-18 09:48:37 -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 331f82fd49 Change STP parameters to the minimum values allowed by 802.1D.
This makes the secchan start up much faster.
2008-09-16 16:06:43 -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 c2eb869bdb Use vconn_init() instead of explicit initialization in one last place.
Commit b5e16b0723, "Respin "Make vconns keep track of their names and
include them in log messages,"" was supposed to do this everywhere, but
this instance was evidently missed.
2008-09-11 11:40:01 -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
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 9bf3d9301e Zero out otherwise uninitialized padding in make_unbuffered_packet_out().
Found with valgrind.
2008-09-09 14:12: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 c907aae9f1 Use make_openflow() function to simplify send_features_request(). 2008-09-04 14:24:45 -07:00
Ben Pfaff c572b9a572 Fix typo in comment. 2008-09-04 14:24:45 -07:00
Ben Pfaff c5e61793e9 Drop unneeded inclusions of ofp-print.h. 2008-09-04 13:53:27 -07:00
Ben Pfaff 66f51290ba Don't use designated struct member initializers in code compiled outside of Linux.
Needed for partner builds.
2008-09-04 13:53:27 -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 2c775287e2 Rename struct queue to struct ofp_queue.
Fixes namespace conflict for partner development.
2008-09-04 13:53:26 -07:00
Ben Pfaff eda1328578 Avoid pointer arithmetic on void*.
This is a GCC extension not supported by other compilers.
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 bb93ad418c Also disable atexit hooks in fatal_signal_fork().
This fixes a problem in ofp-discover, where it would daemonize itself
after setting an IP address on one of its interfaces.  The daemonize
function would call fatal_signal_fork() then exit(0), which would in turn
cause the netdev code to disable the interface and thereby remove the IP
address.

The bug that this fixes was introduced in commit 3cc1ae6a3, "Add ability
to run fatal signal hooks upon normal termination too."
2008-09-03 10:10:39 -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 3059085830 Fix test for fcntl return value.
POSIX only says that -1 is an error; other return values have unspecified
meanings.
2008-08-28 13:15:32 -07:00
Ben Pfaff ab43666b20 vlog: Apply rate-limiting everywhere it seems warranted. 2008-08-26 13:25:21 -07:00
Ben Pfaff 1a41889356 vlog: Implement rate-limiting. 2008-08-26 13:25:19 -07:00
Ben Pfaff c1d17df989 vlog: Simplify vlog() by using dynamic-string functions. 2008-08-26 13:25:17 -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