blob: b18c6fb9e412d54899942027371479558b715485 [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.
//
// Also derived from the OpenFlow header files which have these copyrights:
// Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
// Copyright (c) 2011, 2012 Open Networking Foundation
#version 3
#version 4
/* TODO fix the C backend to not require this */
struct of_oxm {
uint32_t type_len;
};
struct of_oxm_arp_op {
uint32_t type_len == 0x80002a02;
uint16_t value;
};
struct of_oxm_arp_op_masked {
uint32_t type_len == 0x80002b04;
uint16_t value;
uint16_t value_mask;
};
struct of_oxm_arp_sha {
uint32_t type_len == 0x80003006;
of_mac_addr_t value;
};
struct of_oxm_arp_sha_masked {
uint32_t type_len == 0x8000310c;
of_mac_addr_t value;
of_mac_addr_t value_mask;
};
struct of_oxm_arp_spa {
uint32_t type_len == 0x80002c04;
uint32_t value;
};
struct of_oxm_arp_spa_masked {
uint32_t type_len == 0x80002d08;
uint32_t value;
uint32_t value_mask;
};
struct of_oxm_arp_tha {
uint32_t type_len == 0x80003206;
of_mac_addr_t value;
};
struct of_oxm_arp_tha_masked {
uint32_t type_len == 0x8000330c;
of_mac_addr_t value;
of_mac_addr_t value_mask;
};
struct of_oxm_arp_tpa {
uint32_t type_len == 0x80002e04;
uint32_t value;
};
struct of_oxm_arp_tpa_masked {
uint32_t type_len == 0x80002f08;
uint32_t value;
uint32_t value_mask;
};
struct of_oxm_eth_dst {
uint32_t type_len == 0x80000606;
of_mac_addr_t value;
};
struct of_oxm_eth_dst_masked {
uint32_t type_len == 0x8000070c;
of_mac_addr_t value;
of_mac_addr_t value_mask;
};
struct of_oxm_eth_src {
uint32_t type_len == 0x80000806;
of_mac_addr_t value;
};
struct of_oxm_eth_src_masked {
uint32_t type_len == 0x8000090c;
of_mac_addr_t value;
of_mac_addr_t value_mask;
};
struct of_oxm_eth_type {
uint32_t type_len == 0x80000a02;
uint16_t value;
};
struct of_oxm_eth_type_masked {
uint32_t type_len == 0x80000b04;
uint16_t value;
uint16_t value_mask;
};
struct of_oxm_icmpv4_code {
uint32_t type_len == 0x80002801;
uint8_t value;
};
struct of_oxm_icmpv4_code_masked {
uint32_t type_len == 0x80002902;
uint8_t value;
uint8_t value_mask;
};
struct of_oxm_icmpv4_type {
uint32_t type_len == 0x80002601;
uint8_t value;
};
struct of_oxm_icmpv4_type_masked {
uint32_t type_len == 0x80002702;
uint8_t value;
uint8_t value_mask;
};
struct of_oxm_icmpv6_code {
uint32_t type_len == 0x80003c01;
uint8_t value;
};
struct of_oxm_icmpv6_code_masked {
uint32_t type_len == 0x80003d02;
uint8_t value;
uint8_t value_mask;
};
struct of_oxm_icmpv6_type {
uint32_t type_len == 0x80003a01;
uint8_t value;
};
struct of_oxm_icmpv6_type_masked {
uint32_t type_len == 0x80003b02;
uint8_t value;
uint8_t value_mask;
};
struct of_oxm_in_phy_port {
uint32_t type_len == 0x80000204;
of_port_no_t value;
};
struct of_oxm_in_phy_port_masked {
uint32_t type_len == 0x80000308;
of_port_no_t value;
of_port_no_t value_mask;
};
struct of_oxm_in_port {
uint32_t type_len == 0x80000004;
of_port_no_t value;
};
struct of_oxm_in_port_masked {
uint32_t type_len == 0x80000108;
of_port_no_t value;
of_port_no_t value_mask;
};
struct of_oxm_ip_dscp {
uint32_t type_len == 0x80001001;
uint8_t value;
};
struct of_oxm_ip_dscp_masked {
uint32_t type_len == 0x80001102;
uint8_t value;
uint8_t value_mask;
};
struct of_oxm_ip_ecn {
uint32_t type_len == 0x80001201;
uint8_t value;
};
struct of_oxm_ip_ecn_masked {
uint32_t type_len == 0x80001302;
uint8_t value;
uint8_t value_mask;
};
struct of_oxm_ip_proto {
uint32_t type_len == 0x80001401;
uint8_t value;
};
struct of_oxm_ip_proto_masked {
uint32_t type_len == 0x80001502;
uint8_t value;
uint8_t value_mask;
};
struct of_oxm_ipv4_dst {
uint32_t type_len == 0x80001804;
uint32_t value;
};
struct of_oxm_ipv4_dst_masked {
uint32_t type_len == 0x80001908;
uint32_t value;
uint32_t value_mask;
};
struct of_oxm_ipv4_src {
uint32_t type_len == 0x80001604;
uint32_t value;
};
struct of_oxm_ipv4_src_masked {
uint32_t type_len == 0x80001708;
uint32_t value;
uint32_t value_mask;
};
struct of_oxm_ipv6_dst {
uint32_t type_len == 0x80003610;
of_ipv6_t value;
};
struct of_oxm_ipv6_dst_masked {
uint32_t type_len == 0x80003720;
of_ipv6_t value;
of_ipv6_t value_mask;
};
struct of_oxm_ipv6_flabel {
uint32_t type_len == 0x80003804;
uint32_t value;
};
struct of_oxm_ipv6_flabel_masked {
uint32_t type_len == 0x80003908;
uint32_t value;
uint32_t value_mask;
};
struct of_oxm_ipv6_nd_sll {
uint32_t type_len == 0x80004006;
of_mac_addr_t value;
};
struct of_oxm_ipv6_nd_sll_masked {
uint32_t type_len == 0x8000410c;
of_mac_addr_t value;
of_mac_addr_t value_mask;
};
struct of_oxm_ipv6_nd_target {
uint32_t type_len == 0x80003e10;
of_ipv6_t value;
};
struct of_oxm_ipv6_nd_target_masked {
uint32_t type_len == 0x80003f20;
of_ipv6_t value;
of_ipv6_t value_mask;
};
struct of_oxm_ipv6_nd_tll {
uint32_t type_len == 0x80004206;
of_mac_addr_t value;
};
struct of_oxm_ipv6_nd_tll_masked {
uint32_t type_len == 0x8000430c;
of_mac_addr_t value;
of_mac_addr_t value_mask;
};
struct of_oxm_ipv6_src {
uint32_t type_len == 0x80003410;
of_ipv6_t value;
};
struct of_oxm_ipv6_src_masked {
uint32_t type_len == 0x80003520;
of_ipv6_t value;
of_ipv6_t value_mask;
};
struct of_oxm_metadata {
uint32_t type_len == 0x80000408;
uint64_t value;
};
struct of_oxm_metadata_masked {
uint32_t type_len == 0x80000510;
uint64_t value;
uint64_t value_mask;
};
struct of_oxm_mpls_label {
uint32_t type_len == 0x80004404;
uint32_t value;
};
struct of_oxm_mpls_label_masked {
uint32_t type_len == 0x80004508;
uint32_t value;
uint32_t value_mask;
};
struct of_oxm_mpls_tc {
uint32_t type_len == 0x80004601;
uint8_t value;
};
struct of_oxm_mpls_tc_masked {
uint32_t type_len == 0x80004702;
uint8_t value;
uint8_t value_mask;
};
struct of_oxm_sctp_dst {
uint32_t type_len == 0x80002402;
uint16_t value;
};
struct of_oxm_sctp_dst_masked {
uint32_t type_len == 0x80002504;
uint16_t value;
uint16_t value_mask;
};
struct of_oxm_sctp_src {
uint32_t type_len == 0x80002202;
uint16_t value;
};
struct of_oxm_sctp_src_masked {
uint32_t type_len == 0x80002304;
uint16_t value;
uint16_t value_mask;
};
struct of_oxm_tcp_dst {
uint32_t type_len == 0x80001c02;
uint16_t value;
};
struct of_oxm_tcp_dst_masked {
uint32_t type_len == 0x80001d04;
uint16_t value;
uint16_t value_mask;
};
struct of_oxm_tcp_src {
uint32_t type_len == 0x80001a02;
uint16_t value;
};
struct of_oxm_tcp_src_masked {
uint32_t type_len == 0x80001b04;
uint16_t value;
uint16_t value_mask;
};
struct of_oxm_udp_dst {
uint32_t type_len == 0x80002002;
uint16_t value;
};
struct of_oxm_udp_dst_masked {
uint32_t type_len == 0x80002104;
uint16_t value;
uint16_t value_mask;
};
struct of_oxm_udp_src {
uint32_t type_len == 0x80001e02;
uint16_t value;
};
struct of_oxm_udp_src_masked {
uint32_t type_len == 0x80001f04;
uint16_t value;
uint16_t value_mask;
};
struct of_oxm_vlan_pcp {
uint32_t type_len == 0x80000e01;
uint8_t value;
};
struct of_oxm_vlan_pcp_masked {
uint32_t type_len == 0x80000f02;
uint8_t value;
uint8_t value_mask;
};
struct of_oxm_vlan_vid {
uint32_t type_len == 0x80000c02;
uint16_t value;
};
struct of_oxm_vlan_vid_masked {
uint32_t type_len == 0x80000d04;
uint16_t value;
uint16_t value_mask;
};