aboutsummaryrefslogtreecommitdiff
path: root/lib/ofp-msgs.h
AgeCommit message (Collapse)Author
2013-09-07openflow-1.1+: OFPT_TABLE_MOD (part 1)Andy Zhou
Added infrastructure to support Openflow OFPT_TABLE_MOD message. This patch does not include the flexible table miss handling code that is necessary to support the semantics specified in OFPT_TABLE_MOD messages. Current flow miss behavior continues to conform to Openflow 1.0. Future commits to add more flexible table miss support are needed to fully support OPFT_TABLE_MOD for Openflow-1.1+. Signed-off-by: Andy Zhou <azhou@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-09-02Implement OpenFlow 1.1+ "groups" protocol.Neil Zhu
This doesn't include a dpif implementation of groups functionality. In its current form, it is untested. Signed-off-by: Neil Zhu <zhuj@centecnetworks.com> Co-authored-by: Ben Pfaff <blp@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Co-authored-by: Simon Horman <horms@verge.net.au> Signed-off-by: Simon Horman <horms@verge.net.au> Co-authored-by: Jarno Rajahalme <jrajahalme@nicira.com> Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
2013-07-18ofp-msgs: Consistently include "STATS" in the names of stats messages.Ben Pfaff
This is the convention that I've meant to maintain, but missed a number of messages. This corrects them. Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-06-25ofp-util: Support for OpenFlow 1.3 meters.Jarno Rajahalme
Signed-off-by: Jarno Rajahalme <jarno.rajahalme@nsn.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2013-02-11ofp-msgs: New function ofpraw_decode_assert().Ben Pfaff
This will acquire a caller in an upcoming patch. Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-12-28Add Openflow 1.2 role request/reply processing, update OF 1.2 tests. Add ↵Jarno Rajahalme
struct ofputil_role_request and encode/decode functions for role request/reply. Signed-off-by: Jarno Rajahalme <jarno.rajahalme@nsn.com> [blp@nicira.com made ofp-print print any error, renamed a function, added a comment] Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-12-10Openflow 1.1 queue set/get config placeholders.Jarno Rajahalme
Signed-off-by: Jarno Rajahalme <jarno.rajahalme@nsn.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-12-03include/openflow: Moved remaining common definitions from openflow-1.0.hJarno Rajahalme
Moved remaining common definitions from openflow-1.0.h to openflow-common.h and renamed 1.0 specific definitions with the "10" infix. Added hstamp rules for new headers, fixed non-ASCII characters in openflow-1.3.h, Commented out trailing zero-length data members. Signed-off-by: Jarno Rajahalme <jarno.rajahalme@nsn.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-11-27Initial OpenFlow 1.3 supportJarno Rajahalme
Initial OpenFlow 1.3 support with new include/openflow/openflow-1.3.h. Most of the messages that differ from 1.2 are implemented. OFPT_SET_ASYNC is implemented via NX_SET_ASYNC_CONFIG, other new message types are yet to be implemented. Stats replies that add duration fields are implemented at encode/decode level only. Test cases for implemented features are included. Remaining FIXME:s should not cause runtime aborts. Make check comes out clean. Signed-off-by: Jarno Rajahalme <jarno.rajahalme@nsn.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-11-16nicira-ext: Remove NXFF_OPENFLOW12.Ben Pfaff
This was meant to splice OXM support into OpenFlow 1.0, in place of NXM, but I no longer see any value in it. Signed-off-by: Ben Pfaff <blp@nicira.com> Reviewed-by: Simon Horman <horms@verge.net.au>
2012-11-09ofp-msgs: Accept all versions of OpenFlow "hello" messages.Ben Pfaff
Since the ofp-msgs code was introduced, only "hello" messages for versions of OpenFlow actually understood (to some extent) by Open vSwitch could be decoded correctly. This commit corrects that, by making every version of OpenFlow immutable messages acceptable. Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-10-12ofp-msgs: Open Flow 1.1 and 1.2 Queue Status MessagesSimon Horman
This allows for encoding and decoding Open Flow 1.1 and 1.2 Queue Stats Request and Reply messages. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-10-12ofp-msgs: Update for OpenFlow 1.1 & 1.2 Port Desc StatsSimon Horman
* Split OFPRAW_OFPST_PORT_DESC_REPLY into OpenFlow 1.0 and OpenFlow 1.1+ versions. * Allow OFPRAW_OFPST_PORT_DESC_REQUEST to be used for OpenFlow 1.0+ instead of only OpenFlow 1.0. This appears to be necessary and sufficient to allow encoding of Port Desc Stats reply messages and decoding of Port Desc Stats request messages. Or in other words both the client and server side of ovs-ofctl dump-ports-desc Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-10-10ofp-msgs: Open Flow 1.1 and 1.2 Port Status MessagesSimon Horman
This allows for encoding and decoding Open Flow 1.1 and 1.2 Port Stats Request and Reply message Signed-off-by: Simon Horman <horms@verge.net.au> [blp@nicira.com added ofputil_count_port_stas(), simplified interface of ofputil_decode_port_stats(), style changes] Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-08-29ofp-msgs: Allow encoding and decoding of Open Flow 1.1 & 1.2 Barrier MessagesSimon Horman
Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-08-29ofp-msgs: Split OFPRAW_OFPST_AGGREGATE_REQUESTSimon Horman
Split OFPRAW_OFPST_AGGREGATE_REQUEST into OpenFlow 1.0 and 1.1+ versions. This should be sufficient to allow adding encoding and decoding of Open Flow 1.1 and 1.2 Aggregate Stats Request messages. Encoding and decoding of Open Flow 1.1 and 1.2 Aggregate Stats Response messages works using the existing code without modification. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-08-10ofp-msgs: Split OFPRAW_OFPST_TABLE_REPLYSimon Horman
Split OFPRAW_OFPST_TABLE_REPLY into OpenFlow 1.0, 1.1 and 1.2 versions. This is preparation for allowing encoding and decoding of Open Flow 1.1 and 1.2 Table Stats Reply messages. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-08-10ofp-msgs: Split OFPRAW_OFPST_FLOW_{REQUEST,REPLY}Simon Horman
Split OFPRAW_OFPST_FLOW_{REQUEST,REPLY} into OpenFlow 1.0 and 1.1+ versions. This is in preparation for adding encoding and decoding of Open Flow 1.1 & 1.2 messages. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-08-09ofp-util: Allow decoding of Open Flow 1.2 Port Mod MessageSimon Horman
Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-08-08ofp-util: Allow encoding of Open Flow 1.2 Flow Removed messagesSimon Horman
Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-08-08ofp-msgs: Update OFPRAW_OFPT_SET_CONFIG for OpenFlow 1.2Simon Horman
This is sufficient to allow encoding and decoding of OpenFlow 1.2 Set Config messages as the format is the same as OpenFlow 1.0 and OpenFlow 1.2. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-08-08ofp-util: Allow encoding of Open Flow 1.2 Packet In MessagesSimon Horman
Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Ben Pfaff <blp@nicira.com>
2012-07-30openflow: Separate OF1.0, OF1.1 flow_mod constants and types.Ben Pfaff
Signed-off-by: Ben Pfaff <blp@nicira.com> Tested-by: Simon Horman <horms@verge.net.au> Reviewed-by: Simon Horman <horms@verge.net.au>
2012-07-30openflow: Rename OpenFlow 1.0 statistics messages with "10" infix.Ben Pfaff
Signed-off-by: Ben Pfaff <blp@nicira.com> Tested-by: Simon Horman <horms@verge.net.au> Reviewed-by: Simon Horman <horms@verge.net.au>
2012-07-30nicira-ext: Drop nx_aggregate_stats_reply structure.Ben Pfaff
It now duplicates ofp_aggregate_stats_reply except for alignment issues, so we might as well unify the code. Signed-off-by: Ben Pfaff <blp@nicira.com> Tested-by: Simon Horman <horms@verge.net.au> Reviewed-by: Simon Horman <horms@verge.net.au>
2012-07-30ofp-msgs: New approach to encoding and decoding OpenFlow headers.Ben Pfaff
OpenFlow headers are not as uniform as they could be, with size, alignment, and numbering changes from one version to another and across varieties (e.g. ordinary messages vs. "stats" messages). Until now the Open vSwitch internal APIs haven't done a good job of abstracting those differences in header formats. This commit changes that; from this commit forward very little code actually needs to understand the header format or numbering. Instead, it can just encode or decode, or pull or put, the header using a more abstract API using the ofpraw_, ofptype_, and other APIs in the new ofp-msgs module. Signed-off-by: Ben Pfaff <blp@nicira.com> Tested-by: Simon Horman <horms@verge.net.au> Reviewed-by: Simon Horman <horms@verge.net.au>