Commit Graph

553 Commits

Author SHA1 Message Date
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
Ben Pfaff cb91e6efc1 Avoid assertion failure connecting to unsupported remove OpenFlow host.
After increasing the length of an OpenFlow buffer, we need to update the
length in the OpenFlow header.
2008-09-24 09:44:08 -07:00
Ben Pfaff e24bd9bcb7 Disable STP in secchan by default (but let --stp enable it). 2008-09-23 15:47:33 -07:00
Justin Pettit edf6b85346 Initial checkin of OpenFlow specification LaTeX source.
This version of the specification does not reflect the current checked in
version of OpenFlow.  Checkins that follow should bring them in-line.  The
TeX version of the spec was produced by Brandon Heller.
2008-09-23 15:35:00 -07:00
Ben Pfaff 6a774239db stp: Turn off STP on ports that are disabled or have no link.
Fixes a problem that a port that is disabled via "ifconfig down" does
not come back up properly when it is brought back up again with "ifconfig
up", if STP is enabled.
2008-09-23 11:24:53 -07:00
Justin Pettit a52b6f66fd Cleanup printing of ofp_port_mod a bit. 2008-09-23 11:22:03 -07:00
Ben Pfaff a846b3519b stp: Increase hello time to 2 seconds.
An STP advertisement is sent after every expiry of the hello timer, so
this reduces STP advertisements to once every 2 seconds.

Once a second seemed like too often.

Suggested by Justin.
2008-09-23 09:51:00 -07:00
Justin Pettit 666a53b7f7 Make sure to set 'port_no' in ofp_port_mod messages. 2008-09-22 18:01:39 -07:00
Justin Pettit 77c8eed5b4 First cut of pretty printer of ofp_port_mod messages. 2008-09-22 17:59:50 -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 35e701d77a Drop port_watcher support for editing ports.
This was only needed for STP, which doesn't need it anymore.
2008-09-19 17:07:47 -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 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
Ben Pfaff 55ecbead39 Add the ability to disable the STP implementation. 2008-09-19 15:37:53 -07:00
Ben Pfaff 63791ba081 Fix boot.sh for the case where the extensions repository is not available.
Reported by Justin.
2008-09-19 14:57:19 -07:00
Ben Pfaff 9598fdaaec vlogconf: Don't abort when given unknown option. 2008-09-19 14:46:18 -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
Justin Pettit 801b972cf2 Use "~" in designating beta versions to make version comparisons work. Also delete "ext" submodule. 2008-09-18 14:38:17 -07:00
Justin Pettit 48a061053a Update pointer to "ext" to contain latest changes. 2008-09-18 14:26:15 -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 080cfa5bab Update the ChangeLog with the changes since v0.8.1 and designate this v0.9.0-b1. 2008-09-17 23:53:13 -07:00
Ben Pfaff ab35942184 Suppress Automake warning about overriding distdir.
Reported by Martin.
2008-09-17 13:29:00 -07:00
Ben Pfaff 912997a9d2 Ignore generated files in debian/. 2008-09-17 11:08:27 -07:00
Ben Pfaff b9bb68d935 Put "+ext" in the distribution filename if OpenFlow extensions are included. 2008-09-17 10:50:27 -07:00
Ben Pfaff 4ac81cc17a Test Debian packaging at "make distcheck" time. 2008-09-17 10:47:11 -07:00
Ben Pfaff 245218f84a Also distribute Debian packaging. 2008-09-17 10:46:41 -07:00
Ben Pfaff 4da0bed334 Make "controller nl:0" work again, by fixing a layering violation.
The kernel datapath was claiming that it implements STP, which is untrue.
In fact, the secchan implements STP, so if the secchan was not running
the STP support did not work.  Thus, "controller nl:0" would do the
wrong thing.

This makes the secchan edit the responses from the datapath to claim
STP support.
2008-09-16 16:56:37 -07:00
Ben Pfaff f6a8527eb2 Update ext submodule to make it build with latest OpenFlow. 2008-09-16 16:21:43 -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 d012fea24b Use RSA instead of DSA by default for the OpenFlow PKI. 2008-09-16 16:06:45 -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 5c794030b3 ofp-pki: Give controller and switch CA distinctive names.
This makes it possible to tell them apart by looking at the certificates,
instead of having to just know which is which.
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 a6198be5d0 Add -Wdeclaration-after-statement to CFLAGS.
This should help us avoid writing non-portable code.
2008-09-15 16:43:40 -07:00
Ben Pfaff 08cd0bc83c Fix "make distcheck". 2008-09-15 16:32:12 -07:00
Ben Pfaff 480bc9dae6 Ignore some more generated files. 2008-09-15 16:32:12 -07:00
Ben Pfaff c705304441 Fix OpenFlow extensions submodule to build again. 2008-09-15 16:05:07 -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
Justin Pettit 4f546834ac Ignore hwtable_dummy.c symlink in kernel build directories. 2008-09-15 14:54:37 -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 51ab8ae072 Fix handling of port flags.
The "port watcher" in secchan was not keeping track of updates to port
flags by the controller, which caused some combinations of secchan
and controller to not turn on ports when the STP state otherwise should
have done so.

Thanks to Justin for reporting the problem.
2008-09-15 14:25:09 -07:00
Justin Pettit 6026cfb7ab Fix broken stat requests over netlink.
A recent change (696db2) modified the way stats were being sent over the
netlink socket.  Unfortunately, the responder set the transaction id to the
type, which caused the requestor to ignore the repsone.
2008-09-14 23:05:37 -07:00
Justin Pettit 5f9d831715 Keep old stats when a Flow Add replaces an existing entry. 2008-09-12 18:57:21 -07:00