aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java')
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java270
1 files changed, 0 insertions, 270 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java
deleted file mode 100644
index 17557b9d..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/net/flow/criteria/Criterion.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*
- * Copyright 2014-2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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 License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.net.flow.criteria;
-
-
-/**
- * Representation of a single header field selection.
- */
-public interface Criterion {
-
- /**
- * Types of fields to which the selection criterion may apply.
- */
- // From page 75 of OpenFlow 1.5.0 spec
- enum Type {
- /** Switch input port. */
- IN_PORT,
-
- /** Switch physical input port. */
- IN_PHY_PORT,
-
- /** Metadata passed between tables. */
- METADATA,
-
- /** Ethernet destination address. */
- ETH_DST,
-
- /** Ethernet source address. */
- ETH_SRC,
-
- /** Ethernet frame type. */
- ETH_TYPE,
-
- /** VLAN id. */
- VLAN_VID,
-
- /** VLAN priority. */
- VLAN_PCP,
-
- /** IP DSCP (6 bits in ToS field). */
- IP_DSCP,
-
- /** IP ECN (2 bits in ToS field). */
- IP_ECN,
-
- /** IP protocol. */
- IP_PROTO,
-
- /** IPv4 source address. */
- IPV4_SRC,
-
- /** IPv4 destination address. */
- IPV4_DST,
-
- /** TCP source port. */
- TCP_SRC,
-
- /** TCP destination port. */
- TCP_DST,
-
- /** UDP source port. */
- UDP_SRC,
-
- /** UDP destination port. */
- UDP_DST,
-
- /** SCTP source port. */
- SCTP_SRC,
-
- /** SCTP destination port. */
- SCTP_DST,
-
- /** ICMP type. */
- ICMPV4_TYPE,
-
- /** ICMP code. */
- ICMPV4_CODE,
-
- /** ARP opcode. */
- ARP_OP,
-
- /** ARP source IPv4 address. */
- ARP_SPA,
-
- /** ARP target IPv4 address. */
- ARP_TPA,
-
- /** ARP source hardware address. */
- ARP_SHA,
-
- /** ARP target hardware address. */
- ARP_THA,
-
- /** IPv6 source address. */
- IPV6_SRC,
-
- /** IPv6 destination address. */
- IPV6_DST,
-
- /** IPv6 Flow Label. */
- IPV6_FLABEL,
-
- /** ICMPv6 type. */
- ICMPV6_TYPE,
-
- /** ICMPv6 code. */
- ICMPV6_CODE,
-
- /** Target address for ND. */
- IPV6_ND_TARGET,
-
- /** Source link-layer for ND. */
- IPV6_ND_SLL,
-
- /** Target link-layer for ND. */
- IPV6_ND_TLL,
-
- /** MPLS label. */
- MPLS_LABEL,
-
- /** MPLS TC. */
- MPLS_TC,
-
- /** MPLS BoS bit. */
- MPLS_BOS,
-
- /** PBB I-SID. */
- PBB_ISID,
-
- /** Logical Port Metadata. */
- TUNNEL_ID,
-
- /** IPv6 Extension Header pseudo-field. */
- IPV6_EXTHDR,
-
- /** Unassigned value: 40. */
- UNASSIGNED_40,
-
- /** PBB UCA header field. */
- PBB_UCA,
-
- /** TCP flags. */
- TCP_FLAGS,
-
- /** Output port from action set metadata. */
- ACTSET_OUTPUT,
-
- /** Packet type value. */
- PACKET_TYPE,
-
- //
- // NOTE: Everything below is defined elsewhere: ONOS-specific,
- // extensions, etc.
- //
- /** Optical channel signal ID (lambda). */
- OCH_SIGID,
-
- /** Optical channel signal type (fixed or flexible). */
- OCH_SIGTYPE,
-
- /** ODU (Optical channel Data Unit) signal ID. */
- ODU_SIGID,
-
- /** ODU (Optical channel Data Unit) signal type. */
- ODU_SIGTYPE,
-
- /** Extension criterion. */
- EXTENSION,
-
- /** An empty criterion. */
- DUMMY
- }
-
- /**
- * Returns the type of criterion.
- *
- * @return type of criterion
- */
- Type type();
-
- /**
- * Bit definitions for IPv6 Extension Header pseudo-field.
- * From page 79 of OpenFlow 1.5.0 spec.
- */
- enum IPv6ExthdrFlags {
- /** "No next header" encountered. */
- NONEXT((short) (1 << 0)),
- /** Encrypted Sec Payload header present. */
- ESP((short) (1 << 1)),
- /** Authentication header present. */
- AUTH((short) (1 << 2)),
- /** 1 or 2 dest headers present. */
- DEST((short) (1 << 3)),
- /** Fragment header present. */
- FRAG((short) (1 << 4)),
- /** Router header present. */
- ROUTER((short) (1 << 5)),
- /** Hop-by-hop header present. */
- HOP((short) (1 << 6)),
- /** Unexpected repeats encountered. */
- UNREP((short) (1 << 7)),
- /** Unexpected sequencing encountered. */
- UNSEQ((short) (1 << 8));
-
- private short value;
-
- IPv6ExthdrFlags(short value) {
- this.value = value;
- }
-
- /**
- * Gets the value as an integer.
- *
- * @return the value as an integer
- */
- public short getValue() {
- return this.value;
- }
- }
-
- enum TCPFlags {
-
- /** ECN-nonce concealment protection. */
- NS((short) (1 << 0)),
- /** Congestion Window Reduced. */
- CWR((short) (1 << 1)),
- /** ECN-Echo. **/
- ECE((short) (1 << 2)),
- /** Urgent pointer field is significant. */
- URG((short) (1 << 3)),
- /** Acknowledgment field is significant. */
- ACK((short) (1 << 4)),
- /** Push the buffered data to the receiving application. */
- PSH((short) (1 << 5)),
- /** Reset the connection. */
- RST((short) (1 << 6)),
- /** Synchronize sequence numbers. */
- SYN((short) (1 << 7)),
- /** No more data from sender. */
- FIN((short) (1 << 8));
-
- private short value;
-
- TCPFlags(short value) {
- this.value = value;
- }
-
- /**
- * Gets the value as an integer.
- *
- * @return the value as an integer
- */
- public short getValue() {
- return this.value;
- }
- }
-}