X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Faction%2FActionType.java;h=8b6d3c4a1cd7fc98d6820562e73068be331e7372;hb=96e61c15761ca887620f53d6f20ac574d16287f8;hp=8582046fa99e1c186024617feeafad738e480ea7;hpb=42210c03b0a4c54706320ba9f55794c0abd4d201;p=controller.git diff --git a/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/action/ActionType.java b/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/action/ActionType.java index 8582046fa9..8b6d3c4a1c 100644 --- a/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/action/ActionType.java +++ b/opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/action/ActionType.java @@ -1,36 +1,41 @@ - /* - * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * Copyright (c) 2013-2014 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.controller.sal.action; /** * The enumeration of actions supported by the controller * Each entry has a unique id and the values range for the action element where applicable - * - * - * */ public enum ActionType { - DROP("drop", 0, 0), LOOPBACK("loopback", 0, 0), FLOOD("flood", 0, 0), // regular switching flood (obeys to stp port state) + DROP("drop", 0, 0), + LOOPBACK("loopback", 0, 0), + FLOOD("flood", 0, 0), // regular switching flood (obeys to stp port state) FLOOD_ALL("floodAll", 0, 0), // flood to all ports regardless of stp port state - CONTROLLER("controller", 0, 0), INTERFACE("interface", 0, 0), // Interface + CONTROLLER("controller", 0, 0), + INTERFACE("interface", 0, 0), // Interface SW_PATH("software path", 0, 0), // OF Local - HW_PATH("harware path", 0, 0), OUTPUT("output", 0, 0xffff), // physical port - ENQUEUE("enqueue", 0, 0xffff), SET_DL_SRC("setDlSrc", 0, 0), SET_DL_DST( - "setDlDst", 0, 0), SET_VLAN_ID("setVlan", 2, 0xfff), SET_VLAN_PCP( - "setVlanPcp", 0, 0x7), SET_VLAN_CFI("setVlanCif", 0, 0x1), POP_VLAN( - "stripVlan", 0, 0), // Pop + HW_PATH("harware path", 0, 0), + OUTPUT("output", 0, 0xffff), // physical port + ENQUEUE("enqueue", 0, 0xffff), + SET_DL_SRC("setDlSrc", 0, 0), + SET_DL_DST("setDlDst", 0, 0), + SET_VLAN_ID("setVlan", 1, 0xfff), + SET_VLAN_PCP("setVlanPcp", 0, 0x7), + SET_VLAN_CFI("setVlanCif", 0, 0x1), + POP_VLAN("stripVlan", 0, 0), // Pop PUSH_VLAN("pushVlan", 0, 0xffff), // Push (the max value only takes into account the TCI portion of the 802.1q header) SET_DL_TYPE("setDlType", 0, 0xffff), // Set ethertype/length field - SET_NW_SRC("setNwSrc", 0, 0), SET_NW_DST("setNwDst", 0, 0), SET_NW_TOS( - "setNwTos", 0, 0xff), SET_TP_SRC("setTpSrc", 0, 0xffff), SET_TP_DST( - "setTpDst", 0, 0xffff), SET_NEXT_HOP("setNextHop", 0, 0); + SET_NW_SRC("setNwSrc", 0, 0), + SET_NW_DST("setNwDst", 0, 0), + SET_NW_TOS("setNwTos", 0, 0x3f), + SET_TP_SRC("setTpSrc", 0, 0xffff), // Set transport source port + SET_TP_DST("setTpDst", 0, 0xffff), // Set transport destination port + SET_NEXT_HOP("setNextHop", 0, 0); private String id; private int minValue; @@ -51,8 +56,7 @@ public enum ActionType { } public String getRange() { - return "[0x" + Long.toHexString(minValue) + "-0x" - + Long.toHexString(maxValue) + "]"; + return "[0x" + Long.toHexString(minValue) + "-0x" + Long.toHexString(maxValue) + "]"; } public boolean takesParameter() { @@ -70,4 +74,12 @@ public enum ActionType { return true; } } -} \ No newline at end of file + + public int calculateConsistentHashCode() { + if (this.id != null) { + return this.id.hashCode(); + } else { + return 0; + } + } +}