Commit Graph
100 Commits
Author SHA1 Message Date
Glen Gibb 5de70b8a4f docs: updated README with dropped kernel info
Updated information in README to reflect decision to include only the
user-space switch in the reference implementation. The README notes that
the kenel and NetFPGA implementations will be distributed separately.
2009-12-14 17:12:04 -08:00
Glen Gibb ba8ca45217 spec: update version/title
Created a command to output the version number.
Changed the title on each page to "OpenFlow Switch Specification" and
"Version \ofversion"
2009-12-14 16:10:10 -08:00
Glen Gibb abe6db25f7 spec: Rename to reflect version 1.0.0 2009-12-14 13:27:54 -08:00
Glen Gibb b26a2e60c7 ChangeLog: document 1.0.0 changes 2009-12-14 13:22:24 -08:00
Glen Gibb f557a21416 Version: bump openflow wire version number 2009-12-11 18:16:21 -08:00
Glen Gibb 47a0ed66bc Merge branch 'devel/yiannisy/slicing'
Conflicts:
	include/openflow/openflow.h
	regress/lib/Perl5/OF/OFUtil.pm
	regress/projects/black_box/regress/tests.txt
	udatapath/datapath.c
	utilities/wireshark_dissectors/openflow/packet-openflow.c
2009-12-11 18:11:16 -08:00
Glen Gibb b2ea92008e Updated spec for selective port stats 2009-12-11 15:43:37 -08:00
Glen Gibb 22924bbfe9 Flow cookie regression tests
New regression tests based on existing tests:
 - test_flow_stats -> test_cookie_flow_stats
 - test_flow_expired -> test_cookie_flow_expired

New tests verify that the cookie value returned matches the cookie value
specified.
2009-12-11 15:43:37 -08:00
Glen Gibb a1e70c1bd1 Enable setting of cookies in forward_simple
forward_simple is a test function to forward a packet after setting up a
flow table entry. Allow a cookie to be specified.
2009-12-11 15:43:37 -08:00
Glen Gibb 00864063dc Support matching of cookies in flow expired
Flow cookies can be matched in flow expired messages. If the cookie is
not specified then no matching takes place.
2009-12-11 15:43:37 -08:00
Glen Gibb 80c577684f Ability to specify cookie when creating flow mods 2009-12-11 15:43:36 -08:00
Glen Gibb c1ad5c0a9c Wireshark disector changes for flow cookies
Added flow cookie processing for:
 - flow mod
 - flow removed
 - flow stats
2009-12-11 15:43:36 -08:00
Glen Gibb f506a0305c Updated spec for IP ToS matching
Note: Not sure that I like the current IP ToS matching where the lower
two bits are zero'd.
2009-12-11 15:43:36 -08:00
Glen Gibb a3a79e21e8 ARP matching support in Wireshark plugin
Added the ability to disect matches for ARP packets in Wireshark.
(Previously only the Ethertype was matched, not the ARP opcode or the IP
src/dest.)
2009-12-11 15:43:36 -08:00
Glen Gibb a75f9d48be Regression tests for ARP matching 2009-12-11 15:43:35 -08:00
Glen Gibb 77f0c84381 ARP functions in test libraries
Added the ability to test on ARP packets in the test libraries.
2009-12-11 15:43:35 -08:00
Glen Gibb 3da6276b55 ARP header len calc bug in test lib
ARP header length was incorrect, resulting in packets being incorrect lengths.
2009-12-11 15:43:35 -08:00
Glen Gibb 63c3a0e289 Copy necessary fields into flow for ARP matches
Previously missed the code to handle ARP matches in flow mods.
2009-12-11 15:43:35 -08:00
Glen Gibb bc2026689b Safety checks for ARP packets
Verify that ARP packets are for IP and that the protocol length is 4
before extracting source/destination IP addresses.
2009-12-11 15:43:35 -08:00
Glen Gibb cb0c5d2101 Whatespace consistency fix in README
Replaced tabs with spaces. (Note: Adding a separate commit since the
original commmit was pushed to master.)
2009-12-11 15:43:35 -08:00
Glen Gibb 39baa4058f Ensure flow_stats test returns an ofp_flow_stats
Fix the test_flow_stats test:
 - update the wildcard
 - specify valid IP addresses for src/dst
 - set the ethertype
 - verify that 1 ofp_flow_stats body is returned
2009-11-20 18:19:24 -08:00
Glen Gibb 13e6a2e26b Wireshark fix for flow_stats_request (out_port)
The wireshark dissector had not been updated to reflect the out_port
field in the flow_stats_request message. Added the out_port field.
2009-11-20 18:19:17 -08:00
Glen Gibb 9f15ba2113 Remove remote command execution support 2009-10-15 14:14:47 -07:00
Glen Gibb 0d2a787f01 Remove Nicira extension printing code 2009-10-15 14:14:47 -07:00
Glen Gibb f492a9d519 Remove tcp_flags/ip_tos tracking used by NetFlow 2009-10-15 14:14:47 -07:00
Glen Gibb 17af341ffe Don't perform 64-bit division in kernel
Replace 64-bit division (using '/') to call to do_div. This function is
designed for use in the kernel.
2009-10-15 14:14:47 -07:00
Glen Gibb ea288488c8 Replace ns_flow_end with ofp_flow_removed
datapath/udatapath now sends ofp_flow_removed messages instead of
nx_flow_end. This allows for the removal of secchan/flow-end.* as
flow-end message now no longer need to be translated.
2009-10-14 15:56:37 -07:00
Glen Gibb add3e639a9 Replace NXFER_* with OFPRR_* constants 2009-10-14 15:56:36 -07:00
Glen Gibb d1957f2054 s/nx_flow_end_reason/ofp_flow_removed_reason/g
Replaced references to custom Nicira flow end reason and replaced with
OpenFlow flow removed reason.
2009-10-14 15:56:36 -07:00
Glen Gibb d1f4c793fa Remove Nicira vendor action print code 2009-10-14 15:56:36 -07:00
Glen Gibb 2b1c086060 Remove Nicira action processing
No custom Nicira actions in reference code so remove handlers from codebase.
2009-10-14 15:56:36 -07:00
Glen Gibb 5f171ff224 Remove unused Nicira message processing code
No longer sending NXT_FLOW_END_CONFIG messages so remove code associated
with this message.
2009-10-14 15:56:36 -07:00
Glen Gibb ec0c97d6a1 Removed send_flow_end field from datapath struct
send_flow_end was a hold-over from 0.8.x releases. Version 0.9 removed the
datapath-wide send flow mod expire flag and replaced it by a per-flow flag.
This field was used by the NetFlow code to force notification of expires.
2009-10-14 15:56:36 -07:00
Glen Gibb 8c2e2dd667 Remove unused udp_open function
udp_open was used by NetLink code. Remove this function as the NetLink
code has been removed.
2009-10-14 15:56:36 -07:00
Glen Gibb cf13ab2dd9 Remove NetFlow from reference switch
Remove NetFlow code from reference switch, except in nicira-ext.h
2009-10-14 15:56:36 -07:00
Glen Gibb dcfbabe695 Unify big/little endian for PRIVATE vendor ext
Private vendor extension file had separate handling for big/little
endian. All places in the code where these values are put on/removed
from the wire are wrapped by hton* and ntoh* function calls, eliminating
the need for separate constants.
2009-10-14 15:56:36 -07:00
Glen Gibb 89941e139b Suport pretty-print for OFPRR_DELETE flow removed
If a flow is removed via a DELETE flow mod then print "delete" instead
of it's numerical value when an ofp_flow_removed is received.
2009-10-12 15:50:07 -07:00
Glen Gibb 875412fefd Flow expiry: Correct function proto for vendor_stats_init 2009-06-29 07:26:36 -07:00
Glen Gibb fcfd27a96d Flow expiry: Test that flow expires are sent on flow delete 2009-06-29 07:08:30 -07:00
Glen Gibb 463abf9568 Flow expiry: Added OFPER_DELETE to known expire reasons 2009-06-29 07:08:17 -07:00
Glen Gibb fddc939b07 Flow expiry: Send flow expires on delete
Set the reason to OFPER_DELETE
2009-06-29 07:08:01 -07:00
Glen Gibb 33905ad47a Flow expiry: Added test to verify OFPFF_SEND_FLOW_EXP flag 2009-06-29 07:07:19 -07:00
Glen Gibb 039dc27cd3 Flow expiry: Remove enable_flow_expirations from everything 2009-06-29 07:06:56 -07:00
Glen Gibb ef82985afe Flow expiry: Set flags when creating flow mods
Each flow mod now has a send_flow_expiry flag indicating whether an
expiry message should be generated. The global config setting no longer
applies.
2009-06-29 07:06:28 -07:00
Glen Gibb 77a367ecd4 Flow expiry: Dissector now uses per-flow expiry 2009-06-29 07:06:07 -07:00
Glen Gibb b2b952792e Flow expiry: Replace refernces to OFPC_SEND_FLOW_EXP refs
Replaced references to OFPC_SEND_FLOW_EXP in dpinst with flow->send_flow_exp
2009-06-29 07:05:27 -07:00
Glen Gibb b7e8127132 Flow expiry: Remove send_ofp_exp references 2009-06-29 07:05:11 -07:00
Glen Gibb 500fb599be Flow expiry: Send flow exp if the flow's send_exp flag is set 2009-06-29 07:04:48 -07:00
Glen Gibb 0b96028bea Flow expiry: Send flow exp only if flow's send expiry flag set 2009-06-29 07:04:34 -07:00
Glen Gibb b6309b3236 Flow expiry: Record the OFPFF_SEND_FLOW_EXP flag 2009-06-29 07:04:19 -07:00
Glen Gibb 44d43c2988 Flow expiry: Add send_flow_exp to nx_flow_end msg
Need to pass message that indicates whether to send flow expiry message
to the controller.
2009-06-29 07:04:02 -07:00
Glen Gibb 1f535b5443 Flow expiry: Add a send_flow_exp flag to the sw_flow struct
This flag is used to indicate whether a flow expiry should be sent to
the controller.
2009-06-29 07:03:31 -07:00
Glen Gibb c6f1379fff Flow expiry: Remove all references to OFPC_SEND_FLOW_EXP 2009-06-29 07:03:06 -07:00
Glen Gibb 34a0ecdf64 Flow expiry: Verify the idle_timeout in a flow expiry message 2009-06-29 07:00:54 -07:00
Glen Gibb f209f3a9be Flow expiry: Add ability to test idle_timout in flow expire
Can check the idle_timeout value in ofp_flow_expire messages by
specifying an idle_timeout when calling the various wait_for_flow
functions.
2009-06-29 07:00:28 -07:00
Glen Gibb 11dab620bd Flow expiry: Populate idle_timeout field of ofp_flow_expire
Copy value from the nx_flow_end struct passed into the function.
2009-06-29 07:00:11 -07:00
Glen Gibb 0947229ada Flow expiry: Pretty-print idle_timeout for nx_flow_end msg 2009-06-29 06:59:30 -07:00
Glen Gibb ad42ba0b93 Flow expiry: Added idle_timout to nx_flow_end struct
Extra field added to struct
Padding field split
Populate idle_timeout in dp_send_flow_end funcs
2009-06-29 06:59:05 -07:00
Glen e1e828de32 Flow expiry: Pretty-printing of idle timeout in flow expire msg 2009-06-29 06:58:48 -07:00
Glen d1a10670fd Flow expiry: Dissect idle timeout in ofp_flow_expire message 2009-06-29 06:58:28 -07:00
Glen feb1764b43 Flow expiry: Add idle timeout to ofp_flow_expire struct 2009-06-29 06:58:07 -07:00
Glen Gibb 15100770cc Clarify text string for OFPFC_DELETE_STRICT 2009-01-25 23:23:09 -08:00
Glen Gibb d9d0b6e44a Set datapath ID in feature reply to HEX 2009-01-02 11:36:50 -08:00
Glen Gibb e6ac93f4d6 Fix up dissection of get/set config
Get/Set config messages were not being dissected correctly -- flags
were displayed always as they should be.
2008-12-19 17:32:39 -08:00
Glen Gibb 08e29db090 Code cleanup to remove some warnings
Warnings were for unused variables
2008-12-17 19:41:39 -08:00
Glen Gibb 221a9c9502 Fix dissection of flow stats
- Incorrect pad amount specified (spec specifies 3 x 16
  bit words -- code had 3 bytes).
- Update offset at after dissecting actions
2008-12-17 19:39:28 -08:00
Glen Gibb e3a2f219dd Created dissect_port_mod and called
Added function to dissect port_mod messages. Call this when dissecting
a port_mod instead of dissect_phy_port.
2008-12-17 19:10:39 -08:00
Glen Gibb a75b9e968b Add port mod fields to field array
Added fields to the field array and initialized values
to zero where necessary.
2008-12-17 19:09:09 -08:00
Glen Gibb 54f98c6168 Correct consts for port_mod fields
The port_mod fileds used the wrong constants when
specifying their size.
2008-12-17 19:07:47 -08:00
Glen Gibb 6eaaebec12 Fix number of port config flags
Number of port config flags was incorrectly specified (4).
Adjusted to correct value (7).
2008-12-17 19:06:46 -08:00
Glen Gibb bdbd57b546 Add missing codes in Error Message section
Error Messages section was missing the codes for:
 - OFPET_BAD_ACTION
 - OFPET_FLOW_MOD_FAILED
2008-12-09 13:37:45 -08:00
Glen Gibb a3f6caf703 Clarified Error Message section
Clarified the wording in the Error Message section slightly:
 - currently defined error types
 - data field for OFPET_HELLO_FAILED
 - codes for OFPET_BAD_REQUEST
2008-12-09 13:37:45 -08:00
Glen Gibb 52644f1894 Matches print differently for flows vs table stats
For flow, matches printed as either exact or wildcard.
For table stats, matches printed either as exact only or wildcard
allowed.
2008-12-08 17:56:07 -08:00
Glen Gibb 3c19cf4db4 Fix length of ofp_table_stats_lookup_count
Had incorrect length of 32. Corrected to 64.
2008-12-08 17:24:44 -08:00
Glen Gibb 582d7c4509 Enhanced dissection of netmasks in wildcards
When dissecting wildcards, dissect netmasks in the match subtree.
2008-12-08 17:16:00 -08:00
Glen Gibb 05b45d1ba8 Dissect name in table stats reply 2008-12-08 16:48:53 -08:00
Glen Gibb 118a4bafae Shortened the stats descriptions 2008-12-08 16:25:06 -08:00
Glen Gibb 8072c1fa90 Update offset in OFPT_ERROR dissection
Forgot to update the offset after dissecting the data field in
OFPT_ERROR.
2008-12-08 16:03:05 -08:00
Glen Gibb 6520134cf3 Display OFPET_HELLO_FAILED data as string
The data field for an OFPET_HELLO_FAILED message should be a string so
display it as a string.
2008-12-08 16:01:54 -08:00
Glen Gibb debccc6aae Added correct subtree type for error data 2008-12-08 15:43:49 -08:00
Glen Gibb 12cbe4647a Only dissect error packets we know
Only dissect the packet types we know about.
2008-12-08 12:41:32 -08:00
Glen Gibb 1b445c2f92 Added ability to dissect data segment of errors
Calls the open flow dissector on the data segment of errors for the
appropriate types.
2008-12-08 12:35:17 -08:00
Glen Gibb d75a58b607 Enhanced dissection of error codes
Dissect error codes and print a string description
2008-12-06 16:29:59 -08:00
Glen Gibb 28fbb2af57 Disect error type as string 2008-12-05 20:39:55 -08:00
Glen Gibb 5326352ea0 Fixed some warnings in dissector 2008-12-05 11:48:22 -08:00
Glen Gibb c2624cf8c0 Display port manes when printing match 2008-12-05 11:42:25 -08:00
Glen Gibb ed29a5bb6e Fix comment in dissect_nw_proto 2008-12-04 22:38:01 -08:00
Glen Gibb b13815acb5 Display datalink type as string in match 2008-12-04 22:37:21 -08:00
Glen Gibb 70db548498 Fix bug with start/len match for ICMP type/code
Copy/paste bug -- forgot to adjust the start and length of the data
corresponding to the ICMP type and code. Strings displayed correctly but
highlight positions in packet data were wrong.
2008-12-04 22:11:50 -08:00
Glen Gibb c08158f3d5 Display NW proto as string in match
Display the network protocol as a string in dissect_match
2008-12-04 22:10:39 -08:00
Glen Gibb 20ec7183a2 Honor wildcards when showing ICMP details
Only show the type/code if the corresponding wildcard flag is not set.
2008-12-04 21:56:16 -08:00
Glen Gibb cd4d55c494 Make ICMP type/code human readable
Reused code from Wireshark to make ICMP type/code values human
understandable. (Convert to strings.)
2008-12-04 18:47:28 -08:00
Glen Gibb ff02be8eea Better support for ICMP matches
When disecting a match, print ICMP Type/ICMP Code if the packet type is
ICMP.
2008-12-04 17:57:51 -08:00
Glen Gibb aef5f54e8c Need data to have a child in OFPT_ECHO*
Only add a child if there is additional data
2008-12-04 11:39:28 -08:00
Glen Gibb a6e29dfc79 Indentation fix 2008-12-04 11:02:58 -08:00
Glen Gibb 8f1d8e8c30 Fixes for non-curses systems 2008-09-23 15:20:12 -07:00
Glen Gibb 0c3ebf64e5 Compatibility fixes for CentOS 5.2 2008-09-23 12:53:32 -07:00
Glen Gibb 3a4778684b Fixed var name in lib/Makefile.am
curses section of lib/Makefile.am referred to old variable name. This
variable was updated when doing a merge.
2008-09-22 16:11:55 -07:00
Glen Gibb 1feb499bf3 Merge commit '7b3017805866b2bb36a092a3ea25ff0ec9b6fd9e' into experimental
Conflicts:

	datapath/hwtable-dummy/hwtable-dummy.c
	datapath/hwtable_dummy/Modules.mk
	datapath/hwtable_dummy/hwtable_dummy.c
	datapath/hwtable_nf2/hwtable_nf2.c
	utilities/dpctl.c

Resolved above conflicts
2008-09-22 16:02:39 -07:00
Glen Gibb e0dfe54851 Updated for version 0x85 2008-08-13 12:26:08 -07:00