blob: 65a7fb1ba4b0d083ed63bf62422ec450e629e83f [file] [log] [blame]
// Copyright 2013, Big Switch Networks, Inc.
//
// LoxiGen is licensed under the Eclipse Public License,
// version 1.0 (EPL), with the following special exception:
//
// LOXI Exception
//
// As a special exception to the terms of the EPL, you may
// distribute libraries generated by LoxiGen (LoxiGen Libraries)
// under the terms of your choice, provided that copyright and
// licensing notices generated by LoxiGen are not altered or removed
// from the LoxiGen Libraries and the notice provided below is (i)
// included in the LoxiGen Libraries, if distributed in source code
// form and (ii) included in any documentation for the LoxiGen
// Libraries, if distributed in binary form.
//
// Notice: "Copyright 2013, Big Switch Networks, Inc.
// This library was generated by the LoxiGen Compiler."
//
// You may not use this file except in compliance with the EPL or
// LOXI Exception. You may obtain a copy of the EPL at:
//
// http://www.eclipse.org/legal/epl-v10.html
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an "AS
// IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the EPL for the specific language
// governing permissions and limitations under the EPL.
#version 4
#version 5
struct of_bsn_tlv_port : of_bsn_tlv {
uint16_t type == 0;
uint16_t length;
of_port_no_t value;
};
struct of_bsn_tlv_mac : of_bsn_tlv {
uint16_t type == 1;
uint16_t length;
of_mac_addr_t value;
};
struct of_bsn_tlv_rx_packets : of_bsn_tlv {
uint16_t type == 2;
uint16_t length;
uint64_t value;
};
struct of_bsn_tlv_tx_packets : of_bsn_tlv {
uint16_t type == 3;
uint16_t length;
uint64_t value;
};
struct of_bsn_tlv_ipv4 : of_bsn_tlv {
uint16_t type == 4;
uint16_t length;
of_ipv4_t value;
};
struct of_bsn_tlv_idle_time : of_bsn_tlv {
uint16_t type == 5;
uint16_t length;
uint64_t value; /* Milliseconds */
};
struct of_bsn_tlv_vlan_vid : of_bsn_tlv {
uint16_t type == 6;
uint16_t length;
uint16_t value;
};
struct of_bsn_tlv_idle_notification : of_bsn_tlv {
uint16_t type == 7;
uint16_t length;
};
struct of_bsn_tlv_idle_timeout : of_bsn_tlv {
uint16_t type == 8;
uint16_t length;
uint32_t value; /* Milliseconds */
};
struct of_bsn_tlv_unicast_query_timeout : of_bsn_tlv {
uint16_t type == 9;
uint16_t length;
uint32_t value; /* Milliseconds */
};
struct of_bsn_tlv_broadcast_query_timeout : of_bsn_tlv {
uint16_t type == 10;
uint16_t length;
uint32_t value; /* Milliseconds */
};
struct of_bsn_tlv_request_packets : of_bsn_tlv {
uint16_t type == 11;
uint16_t length;
uint64_t value;
};
struct of_bsn_tlv_reply_packets : of_bsn_tlv {
uint16_t type == 12;
uint16_t length;
uint64_t value;
};
struct of_bsn_tlv_miss_packets : of_bsn_tlv {
uint16_t type == 13;
uint16_t length;
uint64_t value;
};
struct of_bsn_tlv_circuit_id : of_bsn_tlv {
uint16_t type == 14;
uint16_t length;
of_octets_t value;
};
struct of_bsn_tlv_udf_id : of_bsn_tlv {
uint16_t type == 15;
uint16_t length;
uint16_t value;
};
enum ofp_bsn_udf_anchor(wire_type=uint16_t) {
OFP_BSN_UDF_ANCHOR_PACKET_START = 0,
OFP_BSN_UDF_ANCHOR_L3_HEADER_START = 1,
OFP_BSN_UDF_ANCHOR_L4_HEADER_START = 2,
};
struct of_bsn_tlv_udf_anchor : of_bsn_tlv {
uint16_t type == 16;
uint16_t length;
enum ofp_bsn_udf_anchor value;
};
struct of_bsn_tlv_udf_offset : of_bsn_tlv {
uint16_t type == 17;
uint16_t length;
uint16_t value;
};
struct of_bsn_tlv_udf_length : of_bsn_tlv {
uint16_t type == 18;
uint16_t length;
uint16_t value;
};
struct of_bsn_tlv_vrf : of_bsn_tlv {
uint16_t type == 19;
uint16_t length;
uint32_t value;
};
struct of_bsn_tlv_queue_id : of_bsn_tlv {
uint16_t type == 20;
uint16_t length;
uint32_t value;
};
struct of_bsn_tlv_queue_weight : of_bsn_tlv {
uint16_t type == 21;
uint16_t length;
uint32_t value;
};
struct of_bsn_tlv_crc_enabled : of_bsn_tlv {
uint16_t type == 22;
uint16_t length;
uint8_t value;
};
struct of_bsn_tlv_external_ip : of_bsn_tlv {
uint16_t type == 23;
uint16_t length;
of_ipv4_t value;
};
struct of_bsn_tlv_external_mac : of_bsn_tlv {
uint16_t type == 24;
uint16_t length;
of_mac_addr_t value;
};
struct of_bsn_tlv_external_netmask : of_bsn_tlv {
uint16_t type == 25;
uint16_t length;
of_ipv4_t value;
};
struct of_bsn_tlv_external_gateway_ip : of_bsn_tlv {
uint16_t type == 26;
uint16_t length;
of_ipv4_t value;
};
struct of_bsn_tlv_internal_mac : of_bsn_tlv {
uint16_t type == 27;
uint16_t length;
of_mac_addr_t value;
};
struct of_bsn_tlv_internal_gateway_mac : of_bsn_tlv {
uint16_t type == 28;
uint16_t length;
of_mac_addr_t value;
};
struct of_bsn_tlv_external_gateway_mac : of_bsn_tlv {
uint16_t type == 29;
uint16_t length;
of_mac_addr_t value;
};
struct of_bsn_tlv_sampling_rate : of_bsn_tlv {
uint16_t type == 30;
uint16_t length;
uint32_t value;
};
struct of_bsn_tlv_header_size : of_bsn_tlv {
uint16_t type == 31;
uint16_t length;
uint32_t value; /* bytes */
};
struct of_bsn_tlv_eth_src : of_bsn_tlv {
uint16_t type == 32;
uint16_t length;
of_mac_addr_t value;
};
struct of_bsn_tlv_eth_dst : of_bsn_tlv {
uint16_t type == 33;
uint16_t length;
of_mac_addr_t value;
};
struct of_bsn_tlv_ipv4_src : of_bsn_tlv {
uint16_t type == 34;
uint16_t length;
of_ipv4_t value;
};
struct of_bsn_tlv_ipv4_dst : of_bsn_tlv {
uint16_t type == 35;
uint16_t length;
of_ipv4_t value;
};
struct of_bsn_tlv_udp_src : of_bsn_tlv {
uint16_t type == 36;
uint16_t length;
uint16_t value;
};
struct of_bsn_tlv_udp_dst : of_bsn_tlv {
uint16_t type == 37;
uint16_t length;
uint16_t value;
};
struct of_bsn_tlv_sub_agent_id : of_bsn_tlv {
uint16_t type == 38;
uint16_t length;
uint32_t value;
};
struct of_bsn_tlv_tx_bytes : of_bsn_tlv {
uint16_t type == 39;
uint16_t length;
uint64_t value;
};
struct of_bsn_tlv_actor_system_priority: of_bsn_tlv {
uint16_t type == 40;
uint16_t length;
uint16_t value;
};
struct of_bsn_tlv_actor_system_mac: of_bsn_tlv {
uint16_t type == 41;
uint16_t length;
of_mac_addr_t value;
};
struct of_bsn_tlv_actor_port_priority: of_bsn_tlv {
uint16_t type == 42;
uint16_t length;
uint16_t value;
};
struct of_bsn_tlv_actor_port_num: of_bsn_tlv {
uint16_t type == 43;
uint16_t length;
uint16_t value;
};
struct of_bsn_tlv_actor_key: of_bsn_tlv {
uint16_t type == 44;
uint16_t length;
uint16_t value;
};
struct of_bsn_tlv_convergence_status: of_bsn_tlv {
uint16_t type == 45;
uint16_t length;
uint8_t value;
};
struct of_bsn_tlv_partner_system_priority: of_bsn_tlv {
uint16_t type == 47;
uint16_t length;
uint16_t value;
};
struct of_bsn_tlv_partner_system_mac: of_bsn_tlv {
uint16_t type == 48;
uint16_t length;
of_mac_addr_t value;
};
struct of_bsn_tlv_partner_port_priority: of_bsn_tlv {
uint16_t type == 49;
uint16_t length;
uint16_t value;
};
struct of_bsn_tlv_partner_port_num: of_bsn_tlv {
uint16_t type == 50;
uint16_t length;
uint16_t value;
};
struct of_bsn_tlv_partner_key: of_bsn_tlv {
uint16_t type == 51;
uint16_t length;
uint16_t value;
};
struct of_bsn_tlv_name : of_bsn_tlv {
uint16_t type == 52;
uint16_t length;
of_octets_t value; /* UTF-8 encoded. Not null terminated. */
};
enum ofp_bsn_lacp_state(wire_type=uint8_t, bitmask=True) {
OFP_BSN_LACP_STATE_ACTIVITY = 0x01,
OFP_BSN_LACP_STATE_TIMEOUT = 0x02,
OFP_BSN_LACP_STATE_AGGREGATION = 0x04,
OFP_BSN_LACP_STATE_SYNCHRONIZATION = 0x08,
OFP_BSN_LACP_STATE_COLLECTING = 0x10,
OFP_BSN_LACP_STATE_DISTRIBUTING = 0x20,
OFP_BSN_LACP_STATE_DEFAULTED = 0x40,
OFP_BSN_LACP_STATE_EXPIRED = 0x80,
};
struct of_bsn_tlv_actor_state: of_bsn_tlv {
uint16_t type == 53;
uint16_t length;
enum ofp_bsn_lacp_state value;
};
struct of_bsn_tlv_partner_state: of_bsn_tlv {
uint16_t type == 54;
uint16_t length;
enum ofp_bsn_lacp_state value;
};
struct of_bsn_tlv_data : of_bsn_tlv {
uint16_t type == 55;
uint16_t length;
of_octets_t value;
};
struct of_bsn_tlv_mac_mask : of_bsn_tlv {
uint16_t type == 56;
uint16_t length;
of_mac_addr_t value;
};
struct of_bsn_tlv_priority : of_bsn_tlv {
uint16_t type == 57;
uint16_t length;
uint32_t value;
};
struct of_bsn_tlv_interval : of_bsn_tlv {
uint16_t type == 58;
uint16_t length;
uint32_t value; /* Milliseconds */
};
/* A reference to an entry in another gentable */
struct of_bsn_tlv_reference : of_bsn_tlv {
uint16_t type == 59;
uint16_t length;
uint16_t table_id;
list(of_bsn_tlv_t) key;
};
struct of_bsn_tlv_ipv4_netmask : of_bsn_tlv {
uint16_t type == 60;
uint16_t length;
of_ipv4_t value;
};
struct of_bsn_tlv_mpls_label : of_bsn_tlv {
uint16_t type == 61;
uint16_t length;
uint32_t value;
};
struct of_bsn_tlv_mpls_control_word : of_bsn_tlv {
uint16_t type == 62;
uint16_t length;
uint8_t value;
};
struct of_bsn_tlv_mpls_sequenced : of_bsn_tlv {
uint16_t type == 63;
uint16_t length;
uint8_t value;
};
struct of_bsn_tlv_bucket : of_bsn_tlv {
uint16_t type == 64;
uint16_t length;
list(of_bsn_tlv_t) value;
};