499e95c5211ae9913b7e04d78dcc92ae0695fcc0
[openflowjava.git] / openflow-protocol-api / src / main / java / org / opendaylight / openflowjava / protocol / api / util / OxmMatchConstants.java
1 /*\r
2  * Copyright (c) 2013 Pantheon Technologies s.r.o. and others.  All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 package org.opendaylight.openflowjava.protocol.api.util;\r
9 \r
10 /**\r
11  * Stores oxm_match constants\r
12  * @author michal.polkorab\r
13  *\r
14  */\r
15 public abstract class OxmMatchConstants {\r
16 \r
17     /** Backward compatibility with NXM */\r
18     public static final int NXM_0_CLASS = 0x0000;\r
19     /** Backward compatibility with NXM */\r
20     public static final int NXM_1_CLASS = 0x0001;\r
21     /** Basic class for OpenFlow */\r
22     public static final int OPENFLOW_BASIC_CLASS = 0x8000;\r
23     /** Experimenter class */\r
24     public static final int EXPERIMENTER_CLASS = 0xFFFF;\r
25 \r
26     /** Switch input port */\r
27     public static final int IN_PORT = 0;\r
28     /** Switch physical input port */\r
29     public static final int IN_PHY_PORT = 1;\r
30     /** Metadata passed between tables */\r
31     public static final int METADATA = 2;\r
32     /** Ethernet destination address */\r
33     public static final int ETH_DST = 3;\r
34     /** Ethernet source address */\r
35     public static final int ETH_SRC = 4;\r
36     /** Ethernet frame type */\r
37     public static final int ETH_TYPE = 5;\r
38     /** VLAN id. */\r
39     public static final int VLAN_VID = 6;\r
40     /** VLAN priority. */\r
41     public static final int VLAN_PCP = 7;\r
42     /** IP DSCP (6 bits in ToS field). */\r
43     public static final int IP_DSCP = 8;\r
44     /** IP ECN (2 bits in ToS field). */\r
45     public static final int IP_ECN = 9;\r
46     /** IP protocol. */\r
47     public static final int IP_PROTO = 10;\r
48     /** IPv4 source address. */\r
49     public static final int IPV4_SRC = 11;\r
50     /** IPv4 destination address. */\r
51     public static final int IPV4_DST = 12;\r
52     /** TCP source port. */\r
53     public static final int TCP_SRC = 13;\r
54     /** TCP destination port. */\r
55     public static final int TCP_DST = 14;\r
56     /** UDP source port. */\r
57     public static final int UDP_SRC = 15;\r
58     /** UDP destination port. */\r
59     public static final int UDP_DST = 16;\r
60     /** SCTP source port. */\r
61     public static final int SCTP_SRC = 17;\r
62     /** SCTP destination port. */\r
63     public static final int SCTP_DST = 18;\r
64     /** ICMP type. */\r
65     public static final int ICMPV4_TYPE = 19;\r
66     /** ICMP code. */\r
67     public static final int ICMPV4_CODE = 20;\r
68     /** ARP opcode. */\r
69     public static final int ARP_OP = 21;\r
70     /** ARP source IPv4 address. */\r
71     public static final int ARP_SPA = 22;\r
72     /** ARP target IPv4 address. */\r
73     public static final int ARP_TPA = 23;\r
74     /** ARP source hardware address. */\r
75     public static final int ARP_SHA = 24;\r
76     /** ARP target hardware address. */\r
77     public static final int ARP_THA = 25;\r
78     /** IPv6 source address. */\r
79     public static final int IPV6_SRC = 26;\r
80     /** IPv6 destination address. */\r
81     public static final int IPV6_DST = 27;\r
82     /** IPv6 Flow Label */\r
83     public static final int IPV6_FLABEL = 28;\r
84     /** ICMPv6 type. */\r
85     public static final int ICMPV6_TYPE = 29;\r
86     /** ICMPv6 code. */\r
87     public static final int ICMPV6_CODE = 30;\r
88     /** Target address for ND. */\r
89     public static final int IPV6_ND_TARGET = 31;\r
90     /** Source link-layer for ND. */\r
91     public static final int IPV6_ND_SLL = 32;\r
92     /** Target link-layer for ND. */\r
93     public static final int IPV6_ND_TLL = 33;\r
94     /** MPLS label. */\r
95     public static final int MPLS_LABEL = 34;\r
96     /** MPLS TC. */\r
97     public static final int MPLS_TC = 35;\r
98     /** MPLS BoS bit. */\r
99     public static final int MPLS_BOS = 36;\r
100     /** PBB I-SID. */\r
101     public static final int PBB_ISID = 37;\r
102     /** Logical Port Metadata. */\r
103     public static final int TUNNEL_ID = 38;\r
104     /** IPv6 Extension Header pseudo-field */\r
105     public static final int IPV6_EXTHDR = 39;\r
106 \r
107     /**\r
108      * OFPXMC_NXM_1 class Constants\r
109      */\r
110 \r
111     /** NXM IPv4 Tunnel Endpoint Source */\r
112     public static final int NXM_NX_TUN_IPV4_SRC = 31;\r
113     /** NXM IPv4 Tunnel Endpoint Destination */\r
114     public static final int NXM_NX_TUN_IPV4_DST = 32;\r
115     /** NXM TCP_Flag value */\r
116     public static final int NXM_NX_TCP_FLAG = 34;\r
117 }