summaryrefslogtreecommitdiff
path: root/include/openflow/openflow-1.2.h
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2014-10-07 15:24:11 -0700
committerBen Pfaff <blp@nicira.com>2014-10-07 15:25:26 -0700
commita4ce8b2582e79e16c9ea4ef4565a125620826848 (patch)
tree8449cc8f6e9d36b4b95094a76f5e6b55242b954d /include/openflow/openflow-1.2.h
parent795b3288aa5cb869da4fd50f5ebd09cdcc6d0c5c (diff)
downloadopenvswitch-a4ce8b2582e79e16c9ea4ef4565a125620826848.tar.gz
meta-flow: Autogenerate mf_field data structures.
This is a first step toward improving the abstraction of OXM and NXM in the tree. As an immediate improvement, this commit removes all of the definitions of the OXM and NXM constants from the top-level header files, because they are no longer used anywhere. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
Diffstat (limited to 'include/openflow/openflow-1.2.h')
-rw-r--r--include/openflow/openflow-1.2.h123
1 files changed, 0 insertions, 123 deletions
diff --git a/include/openflow/openflow-1.2.h b/include/openflow/openflow-1.2.h
index 58be0b57b..ef1d340ec 100644
--- a/include/openflow/openflow-1.2.h
+++ b/include/openflow/openflow-1.2.h
@@ -72,131 +72,8 @@ enum ofp12_oxm_class {
OFPXMC12_EXPERIMENTER = 0xffff, /* Experimenter class */
};
-/* OXM Flow match field types for OpenFlow basic class. */
-enum oxm12_ofb_match_fields {
- OFPXMT12_OFB_IN_PORT, /* Switch input port. */
- OFPXMT12_OFB_IN_PHY_PORT, /* Switch physical input port. */
- OFPXMT12_OFB_METADATA, /* Metadata passed between tables. */
- OFPXMT12_OFB_ETH_DST, /* Ethernet destination address. */
- OFPXMT12_OFB_ETH_SRC, /* Ethernet source address. */
- OFPXMT12_OFB_ETH_TYPE, /* Ethernet frame type. */
- OFPXMT12_OFB_VLAN_VID, /* VLAN id. */
- OFPXMT12_OFB_VLAN_PCP, /* VLAN priority. */
- OFPXMT12_OFB_IP_DSCP, /* IP DSCP (6 bits in ToS field). */
- OFPXMT12_OFB_IP_ECN, /* IP ECN (2 bits in ToS field). */
- OFPXMT12_OFB_IP_PROTO, /* IP protocol. */
- OFPXMT12_OFB_IPV4_SRC, /* IPv4 source address. */
- OFPXMT12_OFB_IPV4_DST, /* IPv4 destination address. */
- OFPXMT12_OFB_TCP_SRC, /* TCP source port. */
- OFPXMT12_OFB_TCP_DST, /* TCP destination port. */
- OFPXMT12_OFB_UDP_SRC, /* UDP source port. */
- OFPXMT12_OFB_UDP_DST, /* UDP destination port. */
- OFPXMT12_OFB_SCTP_SRC, /* SCTP source port. */
- OFPXMT12_OFB_SCTP_DST, /* SCTP destination port. */
- OFPXMT12_OFB_ICMPV4_TYPE, /* ICMP type. */
- OFPXMT12_OFB_ICMPV4_CODE, /* ICMP code. */
- OFPXMT12_OFB_ARP_OP, /* ARP opcode. */
- OFPXMT12_OFB_ARP_SPA, /* ARP source IPv4 address. */
- OFPXMT12_OFB_ARP_TPA, /* ARP target IPv4 address. */
- OFPXMT12_OFB_ARP_SHA, /* ARP source hardware address. */
- OFPXMT12_OFB_ARP_THA, /* ARP target hardware address. */
- OFPXMT12_OFB_IPV6_SRC, /* IPv6 source address. */
- OFPXMT12_OFB_IPV6_DST, /* IPv6 destination address. */
- OFPXMT12_OFB_IPV6_FLABEL, /* IPv6 Flow Label */
- OFPXMT12_OFB_ICMPV6_TYPE, /* ICMPv6 type. */
- OFPXMT12_OFB_ICMPV6_CODE, /* ICMPv6 code. */
- OFPXMT12_OFB_IPV6_ND_TARGET, /* Target address for ND. */
- OFPXMT12_OFB_IPV6_ND_SLL, /* Source link-layer for ND. */
- OFPXMT12_OFB_IPV6_ND_TLL, /* Target link-layer for ND. */
- OFPXMT12_OFB_MPLS_LABEL, /* MPLS label. */
- OFPXMT12_OFB_MPLS_TC, /* MPLS TC. */
-
- /* Following added in OpenFlow 1.3 */
- OFPXMT13_OFB_MPLS_BOS, /* MPLS BoS bit. */
- OFPXMT13_OFB_PBB_ISID, /* PBB I-SID. */
- OFPXMT13_OFB_TUNNEL_ID, /* Logical Port Metadata */
- OFPXMT13_OFB_IPV6_EXTHDR, /* IPv6 Extension Header pseudo-field */
-
- /* Following added in OpenFlow 1.4. */
- OFPXMT14_OFB_PBB_UCA = 41, /* PBB UCA header field. */
-
- /* Following added in OpenFlow 1.5. */
- OFPXMT15_OFB_TCP_FLAGS = 42, /* TCP flags. */
- };
-
-/* OXM implementation makes use of NXM as they are the same format
- * with different field definitions
- */
-
-#define OXM_HEADER(FIELD, LENGTH) \
- NXM_HEADER(OFPXMC12_OPENFLOW_BASIC, FIELD, LENGTH)
-#define OXM_HEADER_W(FIELD, LENGTH) \
- NXM_HEADER_W(OFPXMC12_OPENFLOW_BASIC, FIELD, LENGTH)
-
#define IS_OXM_HEADER(header) (NXM_VENDOR(header) == OFPXMC12_OPENFLOW_BASIC)
-#define OXM_OF_IN_PORT OXM_HEADER (OFPXMT12_OFB_IN_PORT, 4)
-#define OXM_OF_IN_PHY_PORT OXM_HEADER (OFPXMT12_OFB_IN_PHY_PORT, 4)
-#define OXM_OF_METADATA OXM_HEADER (OFPXMT12_OFB_METADATA, 8)
-#define OXM_OF_ETH_DST OXM_HEADER (OFPXMT12_OFB_ETH_DST, 6)
-#define OXM_OF_ETH_DST_W OXM_HEADER_W (OFPXMT12_OFB_ETH_DST, 6)
-#define OXM_OF_ETH_SRC OXM_HEADER (OFPXMT12_OFB_ETH_SRC, 6)
-#define OXM_OF_ETH_SRC_W OXM_HEADER_W (OFPXMT12_OFB_ETH_SRC, 6)
-#define OXM_OF_ETH_TYPE OXM_HEADER (OFPXMT12_OFB_ETH_TYPE, 2)
-#define OXM_OF_VLAN_VID OXM_HEADER (OFPXMT12_OFB_VLAN_VID, 2)
-#define OXM_OF_VLAN_VID_W OXM_HEADER_W (OFPXMT12_OFB_VLAN_VID, 2)
-#define OXM_OF_VLAN_PCP OXM_HEADER (OFPXMT12_OFB_VLAN_PCP, 1)
-#define OXM_OF_IP_DSCP OXM_HEADER (OFPXMT12_OFB_IP_DSCP, 1)
-#define OXM_OF_IP_ECN OXM_HEADER (OFPXMT12_OFB_IP_ECN, 1)
-#define OXM_OF_IP_PROTO OXM_HEADER (OFPXMT12_OFB_IP_PROTO, 1)
-#define OXM_OF_IPV4_SRC OXM_HEADER (OFPXMT12_OFB_IPV4_SRC, 4)
-#define OXM_OF_IPV4_SRC_W OXM_HEADER_W (OFPXMT12_OFB_IPV4_SRC, 4)
-#define OXM_OF_IPV4_DST OXM_HEADER (OFPXMT12_OFB_IPV4_DST, 4)
-#define OXM_OF_IPV4_DST_W OXM_HEADER_W (OFPXMT12_OFB_IPV4_DST, 4)
-#define OXM_OF_TCP_SRC OXM_HEADER (OFPXMT12_OFB_TCP_SRC, 2)
-#define OXM_OF_TCP_DST OXM_HEADER (OFPXMT12_OFB_TCP_DST, 2)
-#define OXM_OF_UDP_SRC OXM_HEADER (OFPXMT12_OFB_UDP_SRC, 2)
-#define OXM_OF_UDP_DST OXM_HEADER (OFPXMT12_OFB_UDP_DST, 2)
-#define OXM_OF_SCTP_SRC OXM_HEADER (OFPXMT12_OFB_SCTP_SRC, 2)
-#define OXM_OF_SCTP_DST OXM_HEADER (OFPXMT12_OFB_SCTP_DST, 2)
-#define OXM_OF_ICMPV4_TYPE OXM_HEADER (OFPXMT12_OFB_ICMPV4_TYPE, 1)
-#define OXM_OF_ICMPV4_CODE OXM_HEADER (OFPXMT12_OFB_ICMPV4_CODE, 1)
-#define OXM_OF_ARP_OP OXM_HEADER (OFPXMT12_OFB_ARP_OP, 2)
-#define OXM_OF_ARP_SPA OXM_HEADER (OFPXMT12_OFB_ARP_SPA, 4)
-#define OXM_OF_ARP_SPA_W OXM_HEADER_W (OFPXMT12_OFB_ARP_SPA, 4)
-#define OXM_OF_ARP_TPA OXM_HEADER (OFPXMT12_OFB_ARP_TPA, 4)
-#define OXM_OF_ARP_TPA_W OXM_HEADER_W (OFPXMT12_OFB_ARP_TPA, 4)
-#define OXM_OF_ARP_SHA OXM_HEADER (OFPXMT12_OFB_ARP_SHA, 6)
-#define OXM_OF_ARP_SHA_W OXM_HEADER_W (OFPXMT12_OFB_ARP_SHA, 6)
-#define OXM_OF_ARP_THA OXM_HEADER (OFPXMT12_OFB_ARP_THA, 6)
-#define OXM_OF_ARP_THA_W OXM_HEADER_W (OFPXMT12_OFB_ARP_THA, 6)
-#define OXM_OF_IPV6_SRC OXM_HEADER (OFPXMT12_OFB_IPV6_SRC, 16)
-#define OXM_OF_IPV6_SRC_W OXM_HEADER_W (OFPXMT12_OFB_IPV6_SRC, 16)
-#define OXM_OF_IPV6_DST OXM_HEADER (OFPXMT12_OFB_IPV6_DST, 16)
-#define OXM_OF_IPV6_DST_W OXM_HEADER_W (OFPXMT12_OFB_IPV6_DST, 16)
-#define OXM_OF_IPV6_FLABEL OXM_HEADER (OFPXMT12_OFB_IPV6_FLABEL, 4)
-#define OXM_OF_IPV6_FLABEL_W OXM_HEADER_W (OFPXMT12_OFB_IPV6_FLABEL, 4)
-#define OXM_OF_ICMPV6_TYPE OXM_HEADER (OFPXMT12_OFB_ICMPV6_TYPE, 1)
-#define OXM_OF_ICMPV6_CODE OXM_HEADER (OFPXMT12_OFB_ICMPV6_CODE, 1)
-#define OXM_OF_IPV6_ND_TARGET OXM_HEADER (OFPXMT12_OFB_IPV6_ND_TARGET, 16)
-#define OXM_OF_IPV6_ND_SLL OXM_HEADER (OFPXMT12_OFB_IPV6_ND_SLL, 6)
-#define OXM_OF_IPV6_ND_TLL OXM_HEADER (OFPXMT12_OFB_IPV6_ND_TLL, 6)
-#define OXM_OF_MPLS_LABEL OXM_HEADER (OFPXMT12_OFB_MPLS_LABEL, 4)
-#define OXM_OF_MPLS_TC OXM_HEADER (OFPXMT12_OFB_MPLS_TC, 1)
-#define OXM_OF_MPLS_BOS OXM_HEADER (OFPXMT13_OFB_MPLS_BOS, 1)
-#define OXM_OF_PBB_ISID OXM_HEADER (OFPXMT12_OFB_PBB_ISID, 3)
-#define OXM_OF_PBB_ISID_W OXM_HEADER_W (OFPXMT12_OFB_PBB_ISID, 3)
-#define OXM_OF_TUNNEL_ID OXM_HEADER (OFPXMT13_OFB_TUNNEL_ID, 8)
-#define OXM_OF_TUNNEL_ID_W OXM_HEADER_W (OFPXMT13_OFB_TUNNEL_ID, 8)
-#define OXM_OF_IPV6_EXTHDR OXM_HEADER (OFPXMT13_OFB_IPV6_EXTHDR, 2)
-#define OXM_OF_IPV6_EXTHDR_W OXM_HEADER_W (OFPXMT13_OFB_IPV6_EXTHDR, 2)
-#define OXM_OF_PBB_UCA OXM_HEADER (OFPXMT14_OFB_PBB_UCA, 1)
-#define OXM_OF_TCP_FLAGS OXM_HEADER (OFPXMT15_OFB_TCP_FLAGS, 2)
-#define OXM_OF_TCP_FLAGS_W OXM_HEADER_W (OFPXMT15_OFB_TCP_FLAGS, 2)
-
-#define OXM_OF_PKT_REG(N) (NXM_HEADER (OFPXMC15_PACKET_REGS, N, 8))
-#define OXM_OF_PKT_REG_W(N) (NXM_HEADER_W(OFPXMC15_PACKET_REGS, N, 8))
-
/* The VLAN id is 12-bits, so we can use the entire 16 bits to indicate
* special conditions.
*/