blob: e544f77d4a481176d64097f72d224c939024cd12 [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
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_bsn_vrf : of_bsn_tlv {
uint16_t type == 19;
uint16_t length;
uint16_t value;
};