5.3.1.1.5. vlcp.protocol.openflow.defs.openflow13

Note

This document is generated from the source file.

View Source on GitHub

/* Copyright (c) 2008 The Board of Trustees of The Leland Stanford * Junior University * Copyright (c) 2011, 2012 Open Networking Foundation * * We are making the OpenFlow specification and associated documentation * (Software) available for public use and benefit with the expectation * that others will use, modify and enhance the Software and contribute * those enhancements back to the community. However, since we would * like to make the Software available for broadest use, with as few * restrictions as possible permission is hereby granted, free of * charge, to any person obtaining a copy of this Software to deal in * the Software under the copyrights without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * * The name and trademarks of copyright holder(s) may NOT be used in * advertising or publicity pertaining to the Software or any * derivatives without specific, written prior permission. */ Created on 2015/7/14

author:hubo
vlcp.protocol.openflow.defs.openflow13.OFPM_MAX = 4294901760

/* Meter band types */

vlcp.protocol.openflow.defs.openflow13.OFPQ_MAX_RATE_UNCFG = 65535

/* Common description for a queue. */

vlcp.protocol.openflow.defs.openflow13.OFPQ_MIN_RATE_UNCFG = 65535

/* Max rate > 1000 means not configured. */

vlcp.protocol.openflow.defs.openflow13.OFPXMT_OFB_ALL = 1099511627775
/* The VLAN id is 12-bits, so we can use the entire 16 bits to indicate
  • special conditions.

*/

vlcp.protocol.openflow.defs.openflow13.OFP_FLOW_PERMANENT = 0

/* By default, choose a priority in the middle. */

vlcp.protocol.openflow.defs.openflow13.SERIAL_NUM_LEN = 32
/* Body of reply to OFPMP_DESC request. Each entry is a NULL-terminated
  • ASCII string. */
vlcp.protocol.openflow.defs.openflow13.nicira_header = nicira_header

/* Header for Nicira-defined actions. */

vlcp.protocol.openflow.defs.openflow13.ofp_action_experimenter = ofp_action_experimenter

/* ## ———————- ## / / ## OpenFlow Instructions. ## / / ## ———————- ## */

vlcp.protocol.openflow.defs.openflow13.ofp_action_experimenter_desc = ofp_action_experimenter_desc

/* Actions property */

vlcp.protocol.openflow.defs.openflow13.ofp_action_group = ofp_action_group

/* Action structure for OFPAT_SET_NW_TTL. */

vlcp.protocol.openflow.defs.openflow13.ofp_action_mpls_ttl = ofp_action_mpls_ttl

/* Action structure for OFPAT_PUSH_VLAN/MPLS/PBB. */

vlcp.protocol.openflow.defs.openflow13.ofp_action_nw_ttl = ofp_action_nw_ttl

/* Action structure for OFPAT_SET_FIELD. */

vlcp.protocol.openflow.defs.openflow13.ofp_action_output = ofp_action_output

/* Action structure for OFPAT_SET_MPLS_TTL. */

vlcp.protocol.openflow.defs.openflow13.ofp_action_pop_mpls = ofp_action_pop_mpls

/* Action structure for OFPAT_GROUP. */

vlcp.protocol.openflow.defs.openflow13.ofp_action_push = ofp_action_push

/* Action structure for OFPAT_POP_MPLS. */

vlcp.protocol.openflow.defs.openflow13.ofp_action_set_field = ofp_action_set_field
/* Action header for OFPAT_EXPERIMENTER.
  • The rest of the body is experimenter-defined. */
vlcp.protocol.openflow.defs.openflow13.ofp_action_type = ofp_action_type
/* Action header that is common to all actions. The length includes the
  • header and any padding used to make the action 64-bit aligned.
  • NB: The length of an action must always be a multiple of eight. */
vlcp.protocol.openflow.defs.openflow13.ofp_action_type_bitwise = ofp_action_type_bitwise

/* Body of reply to OFPMP_GROUP_FEATURES request. Group features. */

vlcp.protocol.openflow.defs.openflow13.ofp_aggregate_stats_reply = ofp_aggregate_stats_reply
/* Table Feature property types.
  • Low order bit cleared indicates a property for a regular Flow Entry.
  • Low order bit set indicates a property for the Table-Miss Flow Entry.

*/

vlcp.protocol.openflow.defs.openflow13.ofp_aggregate_stats_request = ofp_aggregate_stats_request

/* Body of reply to OFPMP_AGGREGATE request. */

vlcp.protocol.openflow.defs.openflow13.ofp_bad_instruction_code = ofp_bad_instruction_code
/* ofp_error_msg ‘code’ values for OFPET_BAD_MATCH. ‘data’ contains at least
  • the first 64 bytes of the failed request. */
vlcp.protocol.openflow.defs.openflow13.ofp_bad_match_code = ofp_bad_match_code
/* ofp_error_msg ‘code’ values for OFPET_FLOW_MOD_FAILED. ‘data’ contains
  • at least the first 64 bytes of the failed request. */
vlcp.protocol.openflow.defs.openflow13.ofp_bucket = ofp_bucket
/* Group types. Values in the range [128, 255] are reserved for experimental
  • use. */
vlcp.protocol.openflow.defs.openflow13.ofp_bucket_counter = ofp_bucket_counter

/* Body of reply to OFPMP_GROUP request. */

vlcp.protocol.openflow.defs.openflow13.ofp_buffer_id = ofp_buffer_id

/* Flow setup and teardown (controller -> datapath). */

vlcp.protocol.openflow.defs.openflow13.ofp_capabilities = ofp_capabilities
/* Current state of the physical port. These are not configurable from
  • the controller.

*/

vlcp.protocol.openflow.defs.openflow13.ofp_controller_max_len = ofp_controller_max_len
/* Action structure for OFPAT_OUTPUT, which sends packets out ‘port’.
  • When the ‘port’ is the OFPP_CONTROLLER, ‘max_len’ indicates the max
  • number of bytes to send. A ‘max_len’ of zero means no bytes of the
  • packet should be sent. A ‘max_len’ of OFPCML_NO_BUFFER means that
  • the packet is not buffered and the complete packet is to be sent to
  • the controller. */
vlcp.protocol.openflow.defs.openflow13.ofp_controller_role = ofp_controller_role

/* Role request and reply message. */

vlcp.protocol.openflow.defs.openflow13.ofp_desc_reply = ofp_desc_reply

/* Body for ofp_multipart_request of type OFPMP_FLOW. */

vlcp.protocol.openflow.defs.openflow13.ofp_experimenter = ofp_experimenter

/* All ones is used to indicate all queues in a port (for stats retrieval). */

vlcp.protocol.openflow.defs.openflow13.ofp_experimenter_multipart_reply = ofp_experimenter_multipart_reply

/* Experimenter extension. */

vlcp.protocol.openflow.defs.openflow13.ofp_flow_mod = ofp_flow_mod

/* Group commands */

vlcp.protocol.openflow.defs.openflow13.ofp_flow_mod_failed_code = ofp_flow_mod_failed_code
/* ofp_error_msg ‘code’ values for OFPET_GROUP_MOD_FAILED. ‘data’ contains
  • at least the first 64 bytes of the failed request. */
vlcp.protocol.openflow.defs.openflow13.ofp_flow_mod_flags = ofp_flow_mod_flags

/* Special buffer-id to indicate ‘no buffer’ */

vlcp.protocol.openflow.defs.openflow13.ofp_flow_removed = ofp_flow_removed

/* Meter numbering. Flow meters can use any number up to OFPM_MAX. */

vlcp.protocol.openflow.defs.openflow13.ofp_flow_removed_reason_bitwise = ofp_flow_removed_reason_bitwise

/* Asynchronous message configuration. */

vlcp.protocol.openflow.defs.openflow13.ofp_flow_stats_reply = ofp_flow_stats_reply

/* Body for ofp_multipart_request of type OFPMP_AGGREGATE. */

vlcp.protocol.openflow.defs.openflow13.ofp_flow_stats_request = ofp_flow_stats_request

/* Body of reply to OFPMP_FLOW request. */

vlcp.protocol.openflow.defs.openflow13.ofp_group_desc_reply = ofp_group_desc_reply

/* Backward compatibility with 1.3.1 - avoid breaking the API. */

vlcp.protocol.openflow.defs.openflow13.ofp_group_desc_stats = ofp_group_desc

/* Group configuration flags */

vlcp.protocol.openflow.defs.openflow13.ofp_group_features_reply = ofp_group_features_reply

/* Body of OFPMP_METER and OFPMP_METER_CONFIG requests. */

vlcp.protocol.openflow.defs.openflow13.ofp_group_mod = ofp_group_mod

/* Send packet (controller -> datapath). */

vlcp.protocol.openflow.defs.openflow13.ofp_group_mod_command = ofp_group_mod_command

/* Bucket for use in groups. */

vlcp.protocol.openflow.defs.openflow13.ofp_group_mod_failed_code = ofp_group_mod_failed_code
/* ofp_error_msg ‘code’ values for OFPET_PORT_MOD_FAILED. ‘data’ contains
  • at least the first 64 bytes of the failed request. */
vlcp.protocol.openflow.defs.openflow13.ofp_group_stats_reply = ofp_group_stats_reply

/* Body of reply to OFPMP_GROUP_DESC request. */

vlcp.protocol.openflow.defs.openflow13.ofp_group_stats_request = ofp_group_stats_request

/* Used in group stats replies. */

vlcp.protocol.openflow.defs.openflow13.ofp_group_type = ofp_group_type

/* Group setup and teardown (controller -> datapath). */

vlcp.protocol.openflow.defs.openflow13.ofp_instruction = ofp_instruction

/* Instruction structure for OFPIT_GOTO_TABLE */

vlcp.protocol.openflow.defs.openflow13.ofp_instruction_actions = ofp_instruction_actions

/* Instruction structure for OFPIT_METER */

vlcp.protocol.openflow.defs.openflow13.ofp_instruction_experimenter = ofp_instruction_experimenter
/* Value used in “idle_timeout” and “hard_timeout” to indicate that the entry
  • is permanent. */
vlcp.protocol.openflow.defs.openflow13.ofp_instruction_experimenter_feature = ofp_instruction_experimenter_feature

/* Instructions property */

vlcp.protocol.openflow.defs.openflow13.ofp_instruction_goto_table = ofp_instruction_goto_table

/* Instruction structure for OFPIT_WRITE_METADATA */

vlcp.protocol.openflow.defs.openflow13.ofp_instruction_meter = ofp_instruction_meter

/* Instruction structure for experimental instructions */

vlcp.protocol.openflow.defs.openflow13.ofp_instruction_type = ofp_instruction_type
/* Instruction header that is common to all instructions. The length includes
  • the header and any padding used to make the instruction 64-bit aligned.
  • NB: The length of an instruction must always be a multiple of eight. */
vlcp.protocol.openflow.defs.openflow13.ofp_instruction_write_metadata = ofp_instruction_write_metadata

/* Instruction structure for OFPIT_WRITE/APPLY/CLEAR_ACTIONS */

vlcp.protocol.openflow.defs.openflow13.ofp_match = ofp_match
/* Components of a OXM TLV header.
  • Those macros are not valid for the experimenter class, macros for the
  • experimenter class will depend on the experimenter header used. */
vlcp.protocol.openflow.defs.openflow13.ofp_meter_band = ofp_meter_band

/* OFPMBT_DROP band - drop packets */

vlcp.protocol.openflow.defs.openflow13.ofp_meter_band_drop = ofp_meter_band_drop

/* OFPMBT_DSCP_REMARK band - Remark DSCP in the IP header */

vlcp.protocol.openflow.defs.openflow13.ofp_meter_band_dscp_remark = ofp_meter_band_dscp_remark
/* OFPMBT_EXPERIMENTER band - Experimenter type.
  • The rest of the band is experimenter-defined. */
vlcp.protocol.openflow.defs.openflow13.ofp_meter_band_experimenter = ofp_meter_band_experimenter

/* Meter commands */

vlcp.protocol.openflow.defs.openflow13.ofp_meter_band_stats = ofp_meter_band_stats

/* Body of reply to OFPMP_METER request. Meter statistics. */

vlcp.protocol.openflow.defs.openflow13.ofp_meter_band_type = ofp_meter_band_type

/* Common header for all meter bands */

vlcp.protocol.openflow.defs.openflow13.ofp_meter_band_type_bitwise = ofp_meter_band_type_bitwise

/* Body of reply to OFPMP_METER_FEATURES request. Meter features. */

vlcp.protocol.openflow.defs.openflow13.ofp_meter_features_reply = ofp_meter_features_reply

/* Body for ofp_multipart_request/reply of type OFPMP_EXPERIMENTER. */

vlcp.protocol.openflow.defs.openflow13.ofp_meter_flags = ofp_meter_flags

/* Meter configuration. OFPT_METER_MOD. */

vlcp.protocol.openflow.defs.openflow13.ofp_meter_mod = ofp_meter_mod
/* ofp_error_msg ‘code’ values for OFPET_BAD_INSTRUCTION. ‘data’ contains at least
  • the first 64 bytes of the failed request. */
vlcp.protocol.openflow.defs.openflow13.ofp_meter_mod_command = ofp_meter_mod_command

/* Meter configuration flags */

vlcp.protocol.openflow.defs.openflow13.ofp_meter_mod_failed_code = ofp_meter_mod_failed_code
/* ofp_error_msg ‘code’ values for OFPET_TABLE_FEATURES_FAILED. ‘data’ contains
  • at least the first 64 bytes of the failed request. */
vlcp.protocol.openflow.defs.openflow13.ofp_meter_multipart_request = ofp_meter_multipart_request

/* Statistics for each meter band */

vlcp.protocol.openflow.defs.openflow13.ofp_meter_stats_reply = ofp_meter_stats_reply

/* Body of reply to OFPMP_METER_CONFIG request. Meter configuration. */

vlcp.protocol.openflow.defs.openflow13.ofp_msg = ofp_msg

/* Switch configuration. */

vlcp.protocol.openflow.defs.openflow13.ofp_multipart_type = ofp_multipart_type

/* Backward compatibility with 1.3.1 - avoid breaking the API. */

vlcp.protocol.openflow.defs.openflow13.ofp_oxm = ofp_oxm
/* Header for OXM experimenter match fields.
  • The experimenter class should not use OXM_HEADER() macros for defining
  • fields due to this extra header. */
vlcp.protocol.openflow.defs.openflow13.ofp_oxm_class = ofp_oxm_class

/* OXM Flow match field types for OpenFlow basic class. */

vlcp.protocol.openflow.defs.openflow13.ofp_oxm_header = ofp_oxm_header

/* Bit definitions for IPv6 Extension Header pseudo-field. */

vlcp.protocol.openflow.defs.openflow13.ofp_oxm_mask_ipv6 = ofp_oxm_mask_ipv6

/* ## —————– ## / / ## OpenFlow Actions. ## / / ## —————– ## */

vlcp.protocol.openflow.defs.openflow13.ofp_packet_out = ofp_packet_out

/* Packet received on port (datapath -> controller). */

vlcp.protocol.openflow.defs.openflow13.ofp_packet_queue = ofp_packet_queue

/* Query for port queue configuration. */

vlcp.protocol.openflow.defs.openflow13.ofp_port = ofp_port

/* Switch features. */

vlcp.protocol.openflow.defs.openflow13.ofp_port_desc_reply = ofp_port_desc_reply

/* Body of OFPMP_GROUP request. */

vlcp.protocol.openflow.defs.openflow13.ofp_port_features = ofp_port_features

/* Description of a port */

vlcp.protocol.openflow.defs.openflow13.ofp_port_mod = ofp_port_mod

/* ## ————————– ## / / ## OpenFlow Extensible Match. ## / / ## ————————– ## */

/* The match type indicates the match structure (set of fields that compose the
  • match) in use. The match type is placed in the type field at the beginning
  • of all match structures. The “OpenFlow Extensible Match” type corresponds
  • to OXM TLV format described below and must be supported by all OpenFlow
  • switches. Extensions that define other match types may be published on the
  • ONF wiki. Support for extensions is optional.

*/

/* Fields to match against flows */

vlcp.protocol.openflow.defs.openflow13.ofp_port_mod_failed_code = ofp_port_mod_failed_code
/* ofp_error_msg ‘code’ values for OFPET_TABLE_MOD_FAILED. ‘data’ contains
  • at least the first 64 bytes of the failed request. */
vlcp.protocol.openflow.defs.openflow13.ofp_port_state = ofp_port_state

/* Features of ports available in a datapath. */

vlcp.protocol.openflow.defs.openflow13.ofp_port_stats_request = ofp_port_stats_request
/* Body of reply to OFPMP_PORT request. If a counter is unsupported, set
  • the field to all ones. */
vlcp.protocol.openflow.defs.openflow13.ofp_port_status = ofp_port_status

/* Modify behavior of the physical port */

vlcp.protocol.openflow.defs.openflow13.ofp_queue = ofp_queue

/* Min rate > 1000 means not configured. */

vlcp.protocol.openflow.defs.openflow13.ofp_queue_get_config_reply = ofp_queue_get_config_reply

/* OFPAT_SET_QUEUE action struct: send packets to given queue on port. */

vlcp.protocol.openflow.defs.openflow13.ofp_queue_get_config_request = ofp_queue_get_config_request

/* Queue configuration for a given port. */

vlcp.protocol.openflow.defs.openflow13.ofp_queue_op_failed_code = ofp_queue_op_failed_code
/* ofp_error_msg ‘code’ values for OFPET_SWITCH_CONFIG_FAILED. ‘data’ contains
  • at least the first 64 bytes of the failed request. */
vlcp.protocol.openflow.defs.openflow13.ofp_queue_prop = ofp_queue_prop

/* Min-Rate queue property description. */

vlcp.protocol.openflow.defs.openflow13.ofp_queue_prop_experimenter = ofp_queue_prop_experimenter

/* Full description for a queue. */

vlcp.protocol.openflow.defs.openflow13.ofp_queue_prop_max_rate = ofp_queue_prop_max_rate

/* Experimenter queue property description. */

vlcp.protocol.openflow.defs.openflow13.ofp_queue_prop_min_rate = ofp_queue_prop_min_rate

/* Max-Rate queue property description. */

vlcp.protocol.openflow.defs.openflow13.ofp_queue_stats_reply = ofp_queue_stats_reply
/* Configures the “role” of the sending controller. The default role is:
    • Equal (OFPCR_ROLE_EQUAL), which allows the controller access to all
  • OpenFlow features. All controllers have equal responsibility.
  • The other possible roles are a related pair:
    • Master (OFPCR_ROLE_MASTER) is equivalent to Equal, except that there
  • may be at most one Master controller at a time: when a controller
  • configures itself as Master, any existing Master is demoted to the
  • Slave role.
    • Slave (OFPCR_ROLE_SLAVE) allows the controller read-only access to
  • OpenFlow features. In particular attempts to modify the flow table
  • will be rejected with an OFPBRC_EPERM error.
  • Slave controllers do not receive OFPT_PACKET_IN or OFPT_FLOW_REMOVED
  • messages, but they do receive OFPT_PORT_STATUS messages.

*/

vlcp.protocol.openflow.defs.openflow13.ofp_role_request_failed_code = ofp_role_request_failed_code
/* ofp_error_msg ‘code’ values for OFPET_METER_MOD_FAILED. ‘data’ contains
  • at least the first 64 bytes of the failed request. */
vlcp.protocol.openflow.defs.openflow13.ofp_switch_config = ofp_switch_config

/* Configure/Modify behavior of a flow table */

vlcp.protocol.openflow.defs.openflow13.ofp_switch_config_failed_code = ofp_switch_config_failed_code
/* ofp_error_msg ‘code’ values for OFPET_ROLE_REQUEST_FAILED. ‘data’ contains
  • at least the first 64 bytes of the failed request. */
vlcp.protocol.openflow.defs.openflow13.ofp_switch_features = ofp_switch_features

/* A physical port has changed in the datapath */

vlcp.protocol.openflow.defs.openflow13.ofp_table_feature_prop_actions = ofp_table_feature_prop_actions

/* Match, Wildcard or Set-Field property */

vlcp.protocol.openflow.defs.openflow13.ofp_table_feature_prop_experimenter = ofp_table_feature_prop_experimenter
/* Body for ofp_multipart_request of type OFPMP_TABLE_FEATURES./
  • Body of reply to OFPMP_TABLE_FEATURES request. */
vlcp.protocol.openflow.defs.openflow13.ofp_table_feature_prop_instructions = ofp_table_feature_prop_instructions

/* Next Tables property */

vlcp.protocol.openflow.defs.openflow13.ofp_table_feature_prop_oxm = ofp_table_feature_prop_oxm

/* Experimenter table feature property */

vlcp.protocol.openflow.defs.openflow13.ofp_table_feature_prop_type = ofp_table_feature_prop_type

/* Common header for all Table Feature Properties */

vlcp.protocol.openflow.defs.openflow13.ofp_table_features_reply = ofp_table_features_reply

/* Body of reply to OFPMP_TABLE request. */

vlcp.protocol.openflow.defs.openflow13.ofp_table_mod = ofp_table_mod

/* Capabilities supported by the datapath. */

vlcp.protocol.openflow.defs.openflow13.ofp_table_mod_failed_code = ofp_table_mod_failed_code
/* ofp_error msg ‘code’ values for OFPET_QUEUE_OP_FAILED. ‘data’ contains
  • at least the first 64 bytes of the failed request */
vlcp.protocol.openflow.defs.openflow13.ofp_table_stats_reply = ofp_table_stats_reply

/* Body for ofp_multipart_request of type OFPMP_PORT. */

vlcp.protocol.openflow.defs.openflow13.ofp_vlan_id = ofp_vlan_id

/* Define for compatibility */