Commit Graph
100 Commits
Author SHA1 Message Date
Brandon Heller 204366af96 regress: Fix package variable typo 2010-05-20 03:06:48 -07:00
Brandon Heller b70d37144f regress: Add install_deps support for Debian Lenny
Perl convert-binary-c is not in Lenny repos yet, so install from
source.
2010-04-30 15:38:44 -07:00
Brandon Heller dd8a8761ff Spec: add credits and move to end 2009-12-19 10:54:08 -08:00
Brandon Heller 06d7cff4ff Spec: note optional IP field for ARP packets
Also add the ARP case to the flow matching diagram.
2009-12-17 13:17:09 -08:00
Brandon Heller 6f48b21b90 Spec: update header parsing flowchart
Add IP ToS and VLAN PCP bits, plus fix eth type error.
2009-12-15 21:28:12 -08:00
Brandon Heller 0bfd742cbf Spec: now with extra tuple 2009-12-15 21:28:12 -08:00
Brandon Heller 56d76b87f0 Spec: consistent formatting for desc_stats 2009-12-15 21:28:12 -08:00
Brandon Heller 4a79c66d4e Spec: clarify 0 bytes ambiguity 2009-12-15 21:28:12 -08:00
Brandon Heller 6c9c9b1b80 Spec: reword port stats description 2009-12-15 21:28:12 -08:00
Brandon Heller 58cf3b78b3 Spec: include port mod failed errors 2009-12-11 18:16:08 -08:00
Brandon Heller bb697af959 Spec: remove multi_phy_tx spec text and capability bit
This flag was added on March 3, 2008 to comply with a specific vendor's
hardware limitations.  This vendor is out of business, and with the
assumption of a software datapath backup, it is unlikely that a switch
would be unable to support sending to a physical port and the controller
simultaneously.

This commmit removes the corresponding spec text and replaces the
capability bit with a reserved one.

Thanks to Justin Pettit for the history.
2009-12-11 18:14:38 -08:00
Brandon Heller d7707dc0af Spec: clarify execution order of actions 2009-12-11 18:14:38 -08:00
Brandon Heller fde98c8df4 Spec: replace SSL refs with TLS
Thanks to Peter Balland for pointing this one out.
2009-12-11 18:14:38 -08:00
Brandon Heller 49b5bf40bd Spec: resolve overlap ambiguity 2009-12-11 18:14:38 -08:00
Brandon Heller f83e2eb56f Spec: clarify flow mod to non-existing port 2009-12-11 18:14:38 -08:00
Brandon Heller 63eaba865e Spec: minor formatting errors 2009-12-11 18:14:38 -08:00
Brandon Heller 672440ae10 Spec: clarify port definition 2009-12-11 18:14:38 -08:00
Brandon Heller fa0740cdc4 Spec: update packet flow diagram 2009-12-11 18:14:38 -08:00
Brandon Heller 85668dffc8 Spec: update header parsing diagram for ICMP
Add both OmniGraffle source file and PDF export for inclusion in spec.
2009-12-11 18:14:38 -08:00
Brandon Heller cc6ee6b5de Spec: fix English ambiguity for flow-removed messages 2009-12-11 18:14:37 -08:00
Brandon Heller d3e68dfcf0 Spec: fix async message English ambiguity 2009-12-11 18:14:37 -08:00
Brandon Heller 744c1600f2 Spec: note that multiple controller support is undefined 2009-12-11 18:14:37 -08:00
Brandon Heller f8f578f919 Fix minor typo in comment 2009-12-11 18:14:37 -08:00
Brandon Heller 45a108d086 Spec: clarify that byte equals octet 2009-12-11 18:14:37 -08:00
Brandon Heller e5546e790e Spec: note counter wrap-around 2009-12-11 18:14:37 -08:00
Brandon Heller 45e7855e46 Spec: Fix build (unescaped underscore) 2009-07-16 09:55:17 -07:00
Brandon Heller fcb27f377b Spec: Zero-size action outputs
Note interpretation of a zero-size max_len field in an action_output.
2009-07-15 12:56:14 -07:00
Brandon Heller 6b3c54675b Spec: Clarify emergency mode behavior to match implementation
Add requirement to break TCP connection when disconnecting.
Note that when entering normal mode, emergency entries remain.
Also define startup flow entries as outside of the OFP scope.
2009-07-15 09:43:18 -07:00
Brandon Heller b23d253928 Spec: Don't send flow removed messages for emergency deletions
Bring spec in line with reference implementation: don't send flow
removed messages when an emergency flow entry is deleted.
2009-07-15 09:43:03 -07:00
Brandon Heller 0bd33bf82e Spec: Define meaning of a zero-size miss_send_len
Clarify that when the miss_send_len switch config value is set to 0, an
empty packet-in message should be sent, rather than no packet-in at all.
2009-07-15 09:42:53 -07:00
Brandon Heller 3087ecedcf Spec: Make datapath ID 64 bits, up from 48
This commit allows multiple virtual switch instances to share a single
physical switch.
2009-07-15 09:42:37 -07:00
Brandon Heller 7e640ed0b4 Spec: Note that emergency flow mods must have zeroed timerouts 2009-07-15 09:42:17 -07:00
Brandon Heller b008eb8126 Fix typo
DSCP, not DCSP
2009-06-30 23:24:30 -07:00
Brandon Heller b1e7cc00bc Spec: Add IP ToS rewrite action
Enable additional basic QoS support, without requiring a full QoS
framework.  This commit defines a flow action to rewrite the DiffServ
CodePoint bits of the IP ToS field in the IP header.
2009-06-30 22:07:13 -07:00
Brandon Heller 0f73f42fa6 Spec: Define failover behavior
Add notes about emergency vs normal flows, and define an expectation
for the switch to support multiple controller strings.
2009-06-30 18:02:54 -07:00
Brandon Heller 25d7c2ecd2 Spec: Fix typo in diagram
In the flow table matching picture, Ethernet type was compared to 0x8000
when 0x0800 was intended.
2009-06-29 22:42:40 -07:00
Brandon Heller 1e12e0771e Spec: Fix build error
Removed extra line
2009-06-29 22:31:08 -07:00
Brandon Heller 98ee054722 Spec: Minor change to CHECK_OVERLAP text 2009-06-29 11:37:28 -07:00
Brandon Heller 1a5762fbd2 Spec: Fix ambiguity regarding the duration field in Flow Expirations
Before this spec change, flow expiration messages included a duration
field for the time the flow was active.  To find out the amount of time
the flow received traffic would have been much harder - the controller
would need to store a record of all flow mods it has sent, to know the
idle_timeout of this flow.  Additionally, both phrases, 'time flow was
active' and 'time traffic was received' were used in the spec for the
duration field.

Now we return the idle timeout in the flow expiration message, and ensure
duration is the time the entry was present in the flow table.  The hard
timeout will be obvious if it is the reason for the deletion, since the
reason field will be OFPER_HARD_TIMEOUT, and the duration will be the hard
timeout value.  From the duration and the idle_timeout, we can also
compute the time the flow received traffic.
2009-06-29 11:37:28 -07:00
Brandon Heller 4f0da65910 Spec: Define behavior for conflicting flow mods
Define a CHECK_OVERLAP flag for flow mods which requires the switch to
check for conflicting entries with the same priority, i.e., those for
which at least one packet could match multiple entries.

This flags is intended to be used for debugging purposes; in the worst
case, it may require a linear check through the flow table.
2009-06-29 11:37:28 -07:00
Brandon Heller 91617a4690 Spec: Add VLAN priority bits
The OpenFlow 10-tuple is now officially an 11-tuple, with the addition of
the VLAN priority (PCP) field.
2009-06-29 11:37:28 -07:00
Brandon Heller 90bdc8626b Spec: Add barrier commands
Add barrier request message, which ensures that all previously received
commands are complete before executing ones past the barrier message.  A
barrier reply must be sent for each barrier request.

We expect this command to be useful for testing and wireless handover
purposes.
2009-06-29 11:37:28 -07:00
Brandon Heller f874420531 Spec: Start port enumeration at 1
A number of protocols such as SNMP and STP start counting ports at one. To
increase compatibility, this commit adds a requirement that OpenFlow
ingress port values start at one.
2009-06-29 11:37:28 -07:00
Brandon Heller e9353ae079 Spec: Add _EPERM error codes
An OpenFlow hypervisor might choose to reject an OpenFlow request, but
currently has no message type defined for this error. It is not a
vendor-specific error, thus we define an _EPERM error code for each error
type.

Also remove unused, commented-out text.
2009-06-29 11:37:14 -07:00
Brandon Heller c249b48f83 Spec: Replace hardcoded constant for MISS_SEND_LEN 2009-06-29 11:36:33 -07:00
Brandon Heller 31955e3ea4 Spec: Clarify buffer behavior 2009-06-29 11:36:33 -07:00
Brandon Heller cec522cd66 Spec: Clarify format for Strip VLAN action
Clarify that the OFPAT_STRIP_VLAN action takes no argument and strips the
VLAN tag if one is present. The header is the generic action header.
2009-06-29 11:36:33 -07:00
Brandon Heller 16e2b8ba6d Spec: Clarify transaction ID for error messages
Note that if an error is in response to a specific message from the
controller, the transaction ID should match that from the original
request.
2009-06-29 11:36:32 -07:00
Brandon Heller 4b969c68f3 Spec: Clarify matching for disabled STP ports
Packets received on ports that are disabled by spanning tree must follow
the normal flow table processing path.
2009-06-29 11:36:32 -07:00
Brandon Heller 3a7d98b612 Spec: Clarify matching behavior for flow mods and stats
The spec does not currently define how wildcard matching should behave for
flow modification (specifically DELETE and MODIFY commands) and stats.
This commit adds text to define behavior when some fields are wildcarded
and others are left exact.
2009-06-29 11:36:32 -07:00
Brandon Heller 1592042b19 Spec: Minor rearrangement of flow add text 2009-06-29 11:36:32 -07:00
Brandon Heller 0c370a5ef9 Spec: Remove distinction between Type 0 and Type 1
People tend to get confused about "Type 0" and "Type 1" vs "Version 1.0" and
"Version 2.0".  To simplify, we'll drop the reference to types.
2009-06-29 11:36:32 -07:00
Brandon Heller b5525791b5 Spec: Notify controller of flows that are forcefully deleted
Previously, a switch would only notify the controller when flows expired.
Now, when a switch is told to delete flows, it sends a flow expiration
message, enabling the controller to get packet and byte counts from
deleted flows. Without this, the controller must retrieve flow statistics
and then delete the flow, during which time the counts could change. This
could also aid in debugging if multiple applications or programs
controlling the same switch are deleting each others' flows.

This commit adds a OFPER_DELETE as a choice for the reason field of a flow
expiration.
2009-06-29 07:07:29 -07:00
Brandon Heller a00b917457 Spec: Selective flow expirations
Make flow expirations per-flow-entry, rather than per-switch.

This commit should give controllers extra flexibility to decide when they
want expirations, will simplify the job of an OpenFlow hypervisor, and may
reduce CPU load at the switch.
2009-06-29 07:02:44 -07:00
Brandon Heller 15779c982c Update HP test script calls to be more tolerant of variation in TCP ACK times, plus make SNMP community string a parameter 2008-12-14 18:31:14 -08:00
Brandon Heller 38e1351fb5 Add new tests and update old ones to use non-buffered socket IO
Thanks Jean @ HP
2008-12-02 20:17:14 -08:00
Brandon Heller 8de094bb70 update HP test-calling scripts
Thanks Jean @ HP
2008-12-02 16:24:57 -08:00
Brandon Heller adbdb20916 Revert change to regress.txt 2008-12-09 19:34:49 -08:00
Brandon Heller 240ae86a17 Fix compilation on newer CentOS 5.2 kernels with backported features.
Credit goes to Glen for this one.
2008-12-02 07:23:04 -08:00
Brandon Heller 6d7026b138 Merge commit 'nicira-private/master' into experimental 2008-12-02 04:07:28 -08:00
Brandon Heller d24896f815 merged nicira-private/master 2008-12-02 02:29:05 -08:00
Brandon Heller c5242793ba Spec: update for delete+out_port changes, plus remove action interleaving restrictions text (not implemented yet). 2008-12-02 02:13:08 -08:00
Brandon Heller 3679dc69c7 Update tests and dissector to work with the delete+out_port changes.
Now we set out_port in flow_mods to OFPP_NONE by default.
2008-12-02 00:48:28 -08:00
Brandon Heller bf35d7b0b9 update version for tagging 2008-12-01 13:30:26 -08:00
Brandon Heller 87a101788e Pull OpenFlow TCP port, version number, and miss send len default in tests and dissector 2008-12-01 05:12:44 -08:00
Brandon Heller 7da34aa10c reformat spec openflow.h parser 2008-12-01 04:14:54 -08:00
Brandon Heller 84d3f43c7b Change test_ip_offset to new spec behavior, where the L4 ports are set to zero for purposes of matching fragment packets. 2008-12-01 01:34:30 -08:00
Brandon Heller d1847933ca fix flow mod display in dissector 2008-12-01 01:34:01 -08:00
Brandon Heller 2eab287131 Spec: define behavior for fragment packets 2008-12-01 01:21:53 -08:00
Brandon Heller 0d33244fac update dissector doc to mention where to change the port 2008-11-30 23:15:16 -08:00
Brandon Heller 676eae5942 Merge commit 'nicira-private/master' into experimental 2008-11-30 22:50:45 -08:00
Brandon Heller 30e2882169 fix path to openflow.h in dissector
Thanks Rob and Glen for identifying this.
2008-11-25 19:46:50 -08:00
Brandon Heller 030327999b temporarily maintain OpenFlow TCP port as 975; this will need to change in docs too, once a final port is decided. 2008-11-25 07:53:39 -08:00
Brandon Heller 36ec367d2c fix paths referencing include/openflow.h, which was moved to include/openflow/openflow.h 2008-11-25 07:51:51 -08:00
Brandon Heller 6e342edace Merge commit 'nicira-public/master' into experimental 2008-11-25 07:00:40 -08:00
Brandon Heller df72be572c properly display wildcards for table stats replies 2008-11-25 06:36:30 -08:00
Brandon Heller 20d59f2f6c properly display no buffer for flow mods 2008-11-25 06:22:21 -08:00
Brandon Heller f106c7636d fix stats display 2008-11-25 06:13:28 -08:00
Brandon Heller bbf1ee1f77 fix IP fragment bits in switch_config 2008-11-25 05:58:29 -08:00
Brandon Heller f803b47de2 display tp src and dst wildcard bits
display reason field of flow expirations
2008-11-25 04:17:23 -08:00
Brandon Heller f54b6a1dc4 Bunch of Wireshark dissector changes:
all: header now selected as 8 bytes, not whole thing
packet_out: actions now selected, not whole thing
actions len field now just a number
ip frag fields displayed in switch_config reply messages
2008-11-24 17:26:37 -08:00
Brandon Heller f72505b063 Spec: added ICMP type and code matching 2008-11-23 23:36:39 -08:00
Brandon Heller e5d46ef08b added regression tests install scripts for debian-based systems 2008-11-23 19:43:45 -08:00
Brandon Heller af57e4d051 place our libs first in path, plus remove errant slashes 2008-11-23 18:31:08 -08:00
Brandon Heller 8621f23762 Add space between packet sends in test_delete and test_delete_strict. Thanks to NEC for reporting this. 2008-11-23 18:27:01 -08:00
Brandon Heller d024842faa remove -v options from learning switch tests, no longer supported 2008-11-23 13:50:24 -08:00
Brandon Heller 26b907fb3a Spec: minor changes, plus version number set to 0.8.9 2008-11-22 19:14:14 -08:00
Brandon Heller 4b44cde095 Spec: redo flow mod section 2008-11-21 16:58:15 -08:00
Brandon Heller 99aa32b737 Spec: removed version number dependence from makefile (it's printed on the first page) and added each action struct 2008-11-21 16:58:15 -08:00
Brandon Heller f1918e584b Spec: minor formatting changes 2008-11-21 16:57:34 -08:00
Brandon Heller 4ed4553be5 Spec: clarified OFPPC_NO_RECV 2008-11-21 16:57:34 -08:00
Brandon Heller 0d2ec0a90a Spec: clarified errors fields in ofp_port_stats 2008-11-21 16:57:34 -08:00
Brandon Heller c04a3c082c Spec: renamed 2008-11-21 16:57:34 -08:00
Brandon Heller f0137e8bfa Spec: added IP netmask text from wiki 2008-11-21 16:57:33 -08:00
Brandon Heller fcd58296aa fixed minor spelling/grammar errors 2008-11-21 16:57:33 -08:00
Brandon Heller 1841cd3424 Spec: added details on STP from wiki 2008-11-21 16:57:33 -08:00
Brandon Heller ed9b91aa07 Spec: added vendor stats type and wiki info on Vendor message type 2008-11-21 16:57:33 -08:00
Brandon Heller 7e22df2cfb Spec: added line about IP fragment handling 2008-11-21 16:57:33 -08:00
Brandon Heller 0ba5844d12 Spec: added Hello message and handshake details 2008-11-21 16:57:33 -08:00
Brandon Heller cd8f6a194c Spec: updated VLAN actions 2008-11-21 16:57:33 -08:00