summaryrefslogtreecommitdiffstats
path: root/vpp-common/vpp-translate-utils/src/main/java/io/fd/honeycomb/translate/vpp/util/TagRewriteOperation.java
diff options
context:
space:
mode:
Diffstat (limited to 'vpp-common/vpp-translate-utils/src/main/java/io/fd/honeycomb/translate/vpp/util/TagRewriteOperation.java')
-rw-r--r--vpp-common/vpp-translate-utils/src/main/java/io/fd/honeycomb/translate/vpp/util/TagRewriteOperation.java88
1 files changed, 0 insertions, 88 deletions
diff --git a/vpp-common/vpp-translate-utils/src/main/java/io/fd/honeycomb/translate/vpp/util/TagRewriteOperation.java b/vpp-common/vpp-translate-utils/src/main/java/io/fd/honeycomb/translate/vpp/util/TagRewriteOperation.java
deleted file mode 100644
index 0bfd28587..000000000
--- a/vpp-common/vpp-translate-utils/src/main/java/io/fd/honeycomb/translate/vpp/util/TagRewriteOperation.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
- *
- * 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 io.fd.honeycomb.translate.vpp.util;
-
-import com.google.common.base.Preconditions;
-import com.google.common.primitives.UnsignedBytes;
-import javax.annotation.Nonnegative;
-import javax.annotation.Nullable;
-
-/**
- * Defines vlan tag rewrite config options for VPP.
- * <p/>
- * TODO HONEYCOMB-184 corresponding enum (defined in l2_vtr.h) should be defined in vpe.api
- * (does vpp's IDL support enum type definition?)
- * which would allow to generate this class in jvpp
- */
-public enum TagRewriteOperation {
- disabled(0),
- push_1(0),
- push_2(0),
- pop_1(1),
- pop_2(2),
- translate_1_to_1(1),
- translate_1_to_2(1),
- translate_2_to_1(2),
- translate_2_to_2(2);
-
- private static final int MAX_INDEX = 3;
- private static TagRewriteOperation[][] translation = new TagRewriteOperation[][]{
- {disabled, push_1, push_2},
- {pop_1, translate_1_to_1, translate_1_to_2},
- {pop_2, translate_2_to_1, translate_2_to_2}
- };
- private final int code;
- private final byte popTags;
-
- TagRewriteOperation(final int popTags) {
- this.code = this.ordinal();
- this.popTags = UnsignedBytes.checkedCast(popTags);
- }
-
- /**
- * Returns VPP tag rewrite operation for given number of tags to pop and tags to push.
- *
- * @param toPop number of tags to pop (0..2)
- * @param toPush number of tags to push (0..2)
- * @return vpp tag rewrite operation for given input parameters
- */
- public static TagRewriteOperation get(@Nonnegative final int toPop, @Nonnegative final int toPush) {
- Preconditions.checkElementIndex(toPop, MAX_INDEX, "Illegal number of tags to pop");
- Preconditions.checkElementIndex(toPush, MAX_INDEX, "Illegal number of tags to push");
- return translation[toPop][toPush];
- }
-
- /**
- * Returns VPP tag rewrite operation for given operation code.
- *
- * @param code VPP tag rewrite operation code
- * @return vpp tag rewrite operation for given input parameter
- */
- @Nullable
- public static TagRewriteOperation get(@Nonnegative final int code) {
- for (TagRewriteOperation operation : TagRewriteOperation.values()) {
- if (code == operation.code) {
- return operation;
- }
- }
- return null;
- }
-
- public byte getPopTags() {
- return popTags;
- }
-}