| // 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; |
| }; |
| |
| struct of_bsn_tlv_tcp_src : of_bsn_tlv { |
| uint16_t type == 65; |
| uint16_t length; |
| uint16_t value; |
| }; |
| |
| struct of_bsn_tlv_tcp_dst : of_bsn_tlv { |
| uint16_t type == 66; |
| uint16_t length; |
| uint16_t value; |
| }; |
| |
| struct of_bsn_tlv_ip_proto : of_bsn_tlv { |
| uint16_t type == 67; |
| uint16_t length; |
| uint8_t value; |
| }; |
| |
| struct of_bsn_tlv_icmp_type : of_bsn_tlv { |
| uint16_t type == 68; |
| uint16_t length; |
| uint8_t value; |
| }; |
| |
| struct of_bsn_tlv_icmp_code : of_bsn_tlv { |
| uint16_t type == 69; |
| uint16_t length; |
| uint8_t value; |
| }; |
| |
| struct of_bsn_tlv_icmp_id : of_bsn_tlv { |
| uint16_t type == 70; |
| uint16_t length; |
| uint16_t value; |
| }; |
| |
| struct of_bsn_tlv_rx_bytes : of_bsn_tlv { |
| uint16_t type == 71; |
| uint16_t length; |
| uint64_t value; |
| }; |
| |
| struct of_bsn_tlv_vlan_pcp : of_bsn_tlv { |
| uint16_t type == 72; |
| uint16_t length; |
| uint8_t value; |
| }; |
| |
| struct of_bsn_tlv_strip_vlan_on_egress : of_bsn_tlv { |
| uint16_t type == 73; |
| uint16_t length; |
| }; |
| |
| struct of_bsn_tlv_set_loopback_mode: of_bsn_tlv { |
| uint16_t type == 74; |
| uint16_t length; |
| }; |
| |
| struct of_bsn_tlv_strip_mpls_l2_on_ingress : of_bsn_tlv { |
| uint16_t type == 75; |
| uint16_t length; |
| }; |
| |
| struct of_bsn_tlv_strip_mpls_l3_on_ingress : of_bsn_tlv { |
| uint16_t type == 76; |
| uint16_t length; |
| }; |
| |
| struct of_bsn_tlv_vlan_vid_mask : of_bsn_tlv { |
| uint16_t type == 77; |
| uint16_t length; |
| uint16_t value; |
| }; |