2 * Copyright (c) 2013 Pantheon Technologies s.r.o. and others. All rights reserved.
\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
9 package org.opendaylight.openflowjava.protocol.impl.util;
\r
12 * @author michal.polkorab
\r
15 public final class ActionConstants {
\r
17 /** Openflow v1.0 & v1.3 OFPAT_OUTPUT code */
\r
18 public static final byte OUTPUT_CODE = 0;
\r
19 /** Openflow v1.0 OFPAT_SET_VLAN_VID code */
\r
20 public static final byte SET_VLAN_VID_CODE = 1;
\r
21 /** Openflow v1.0 OFPAT_SET_VLAN_PCP code */
\r
22 public static final byte SET_VLAN_PCP_CODE = 2;
\r
23 /** Openflow v1.0 OFPAT_STRIP_VLAN code */
\r
24 public static final byte STRIP_VLAN_CODE = 3;
\r
25 /** Openflow v1.0 OFPAT_SET_DL_SRC code */
\r
26 public static final byte SET_DL_SRC_CODE = 4;
\r
27 /** Openflow v1.0 OFPAT_SET_DL_DST code */
\r
28 public static final byte SET_DL_DST_CODE = 5;
\r
29 /** Openflow v1.0 OFPAT_SET_NW_SRC code */
\r
30 public static final byte SET_NW_SRC_CODE = 6;
\r
31 /** Openflow v1.0 OFPAT_SET_NW_DST code */
\r
32 public static final byte SET_NW_DST_CODE = 7;
\r
33 /** Openflow v1.0 OFPAT_SET_NW_TOS code */
\r
34 public static final byte SET_NW_TOS_CODE = 8;
\r
35 /** Openflow v1.0 OFPAT_SET_TP_SRC code */
\r
36 public static final byte SET_TP_SRC_CODE = 9;
\r
37 /** Openflow v1.0 OFPAT_SET_TP_DST code */
\r
38 public static final byte SET_TP_DST_CODE = 10;
\r
39 /** Openflow v1.0 OFPAT_ENQUEUE code */
\r
40 public static final byte ENQUEUE_CODE = 11;
\r
41 /** Openflow v1.3 OFPAT_COPY_TTL_OUT code */
\r
42 public static final byte COPY_TTL_OUT_CODE = 11;
\r
43 /** Openflow v1.3 OFPAT_COPY_TTL_IN code */
\r
44 public static final byte COPY_TTL_IN_CODE = 12;
\r
45 /** Openflow v1.3 OFPAT_SET_MPLS_TTL code */
\r
46 public static final byte SET_MPLS_TTL_CODE = 15;
\r
47 /** Openflow v1.3 OFPAT_DEC_MPLS_TTL code */
\r
48 public static final byte DEC_MPLS_TTL_CODE = 16;
\r
49 /** Openflow v1.3 OFPAT_PUSH_VLAN code */
\r
50 public static final byte PUSH_VLAN_CODE = 17;
\r
51 /** Openflow v1.3 OFPAT_POP_VLAN code */
\r
52 public static final byte POP_VLAN_CODE = 18;
\r
53 /** Openflow v1.3 OFPAT_PUSH_MPLS code */
\r
54 public static final byte PUSH_MPLS_CODE = 19;
\r
55 /** Openflow v1.3 OFPAT_POP_MPLS code */
\r
56 public static final byte POP_MPLS_CODE = 20;
\r
57 /** Openflow v1.3 OFPAT_SET_QUEUE code */
\r
58 public static final byte SET_QUEUE_CODE = 21;
\r
59 /** Openflow v1.3 OFPAT_GROUP code */
\r
60 public static final byte GROUP_CODE = 22;
\r
61 /** Openflow v1.3 OFPAT_SET_NW_TTL code */
\r
62 public static final byte SET_NW_TTL_CODE = 23;
\r
63 /** Openflow v1.3 OFPAT_DEC_NW_TTL code */
\r
64 public static final byte DEC_NW_TTL_CODE = 24;
\r
65 /** Openflow v1.3 OFPAT_SET_FIELD code */
\r
66 public static final int SET_FIELD_CODE = 25;
\r
67 /** Openflow v1.3 OFPAT_PUSH_PBB code */
\r
68 public static final byte PUSH_PBB_CODE = 26;
\r
69 /** Openflow v1.3 OFPAT_POP_PBB code */
\r
70 public static final byte POP_PBB_CODE = 27;
\r
72 /** Padding in OFPAT_OUTPUT (OF v1.3) */
\r
73 public static final byte OUTPUT_PADDING = 6;
\r
74 /** Padding in OFPAT_SET_VLAN_VID (OF v1.3) */
\r
75 public static final byte PADDING_IN_SET_VLAN_VID_ACTION = 2;
\r
76 /** Padding in OFPAT_SET_VLAN_PCP (OF v1.3) */
\r
77 public static final byte PADDING_IN_SET_VLAN_PCP_ACTION = 3;
\r
78 /** Padding in OFPAT_SET_NW_TOS (OF v1.3) */
\r
79 public static final byte PADDING_IN_SET_NW_TOS_ACTION = 3;
\r
80 /** Padding in OFPAT_ENQUEUE (OF v1.3) */
\r
81 public static final int PADDING_IN_ENQUEUE_ACTION = 6;
\r
82 /** Padding in OFPAT_SET_MPLS_TTL (OF v1.3) */
\r
83 public static final byte SET_MPLS_TTL_PADDING = 3;
\r
84 /** Padding in OFPAT_SET_NW_TTL (OF v1.3) */
\r
85 public static final byte SET_NW_TTL_PADDING = 3;
\r
86 /** Padding in OFPAT_SET_DL_SRC and OFPAT_SET_DL_DST (OF v1.3) */
\r
87 public static final byte PADDING_IN_DL_ADDRESS_ACTION = 6;
\r
88 /** Padding in OFPAT_SET_TP_SRC and OFPAT_SET_TP_DST (OF v1.3) */
\r
89 public static final byte PADDING_IN_TP_PORT_ACTION = 2;
\r
90 /** Padding in action header (OF v1.3) */
\r
91 public static final byte PADDING_IN_ACTION_HEADER = 4;
\r
92 /** Padding in OFPAT_PUSH_VLAN, OFPAT_PUSH_MPLS, OFPAT_POP_MPLS
\r
93 * and OFPAT_PUSH_PBB (OF v1.3) */
\r
94 public static final byte ETHERTYPE_ACTION_PADDING = 2;
\r
96 /** Most common action length */
\r
97 public static final byte GENERAL_ACTION_LENGTH = 8;
\r
98 /** Action larger than GENERAL_ACTION_LENGTH - currently
\r
99 * only 16 bytes long actions for both OF v1.0 & v1.3*/
\r
100 public static final byte LARGER_ACTION_LENGTH = 16;
\r
101 /** Action header size */
\r
102 public static final byte ACTION_IDS_LENGTH = 4;
\r
104 private ActionConstants() {
\r
105 throw new UnsupportedOperationException("Utility class shouldn't be instantiated");
\r