summaryrefslogtreecommitdiffstats
path: root/framework/src/onos/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/VpnAdjRibIn.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/VpnAdjRibIn.java')
-rw-r--r--framework/src/onos/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/VpnAdjRibIn.java209
1 files changed, 0 insertions, 209 deletions
diff --git a/framework/src/onos/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/VpnAdjRibIn.java b/framework/src/onos/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/VpnAdjRibIn.java
deleted file mode 100644
index 8a9ea91c..00000000
--- a/framework/src/onos/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/VpnAdjRibIn.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * Copyright 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.bgp.controller.impl;
-
-import java.util.Map;
-import java.util.TreeMap;
-
-import org.onosproject.bgpio.protocol.BgpLSNlri;
-import org.onosproject.bgpio.protocol.linkstate.BgpLinkLSIdentifier;
-import org.onosproject.bgpio.protocol.linkstate.BgpLinkLsNlriVer4;
-import org.onosproject.bgpio.protocol.linkstate.BgpNodeLSIdentifier;
-import org.onosproject.bgpio.protocol.linkstate.BgpNodeLSNlriVer4;
-import org.onosproject.bgpio.protocol.linkstate.BgpPrefixIPv4LSNlriVer4;
-import org.onosproject.bgpio.protocol.linkstate.BgpPrefixLSIdentifier;
-import org.onosproject.bgpio.protocol.linkstate.PathAttrNlriDetails;
-import org.onosproject.bgpio.types.RouteDistinguisher;
-
-import com.google.common.base.MoreObjects;
-
-/**
- * Implementation of Adj-RIB-In with VPN for each peer.
- */
-public class VpnAdjRibIn {
- private Map<BgpNodeLSIdentifier, PathAttrNlriDetails> nodeTree = new TreeMap<>();
- private Map<BgpLinkLSIdentifier, PathAttrNlriDetails> linkTree = new TreeMap<>();
- private Map<BgpPrefixLSIdentifier, PathAttrNlriDetails> prefixTree = new TreeMap<>();
-
- private Map<RouteDistinguisher, Map<BgpNodeLSIdentifier, PathAttrNlriDetails>> vpnNodeTree
- = new TreeMap<>();
- private Map<RouteDistinguisher, Map<BgpLinkLSIdentifier, PathAttrNlriDetails>> vpnLinkTree
- = new TreeMap<>();
- private Map<RouteDistinguisher, Map<BgpPrefixLSIdentifier, PathAttrNlriDetails>> vpnPrefixTree
- = new TreeMap<>();
- /**
- * Returns the adjacency node.
- *
- * @return node adjacency RIB node
- */
- public Map<BgpNodeLSIdentifier, PathAttrNlriDetails> nodeTree() {
- return nodeTree;
- }
-
- /**
- * Returns the adjacency link.
- *
- * @return link adjacency RIB node
- */
- public Map<BgpLinkLSIdentifier, PathAttrNlriDetails> linkTree() {
- return linkTree;
- }
-
- /**
- * Returns the adjacency prefix.
- *
- * @return prefix adjacency RIB node
- */
- public Map<BgpPrefixLSIdentifier, PathAttrNlriDetails> prefixTree() {
- return prefixTree;
- }
-
- /**
- * Returns the adjacency vpnNode.
- *
- * @return vpnNode adjacency RIB node
- */
- public Map<RouteDistinguisher, Map<BgpNodeLSIdentifier, PathAttrNlriDetails>> vpnNodeTree() {
- return vpnNodeTree;
- }
-
- /**
- * Returns the adjacency vpnLink.
- *
- * @return vpnLink adjacency RIB node
- */
- public Map<RouteDistinguisher, Map<BgpLinkLSIdentifier, PathAttrNlriDetails>> vpnLinkTree() {
- return vpnLinkTree;
- }
-
- /**
- * Returns the adjacency vpnPrefix.
- *
- * @return vpnPrefix adjacency RIB node
- */
- public Map<RouteDistinguisher, Map<BgpPrefixLSIdentifier, PathAttrNlriDetails>> vpnPrefixTree() {
- return vpnPrefixTree;
- }
-
- /**
- * Update vpn nlri identifier into the tree if nlri identifier exists in tree otherwise add this to the tree.
- *
- * @param nlri NLRI info
- * @param details has pathattribute , protocolID and identifier
- */
- public void add(BgpLSNlri nlri, PathAttrNlriDetails details) {
- if (nlri instanceof BgpNodeLSNlriVer4) {
- BgpNodeLSIdentifier nodeLSIdentifier = ((BgpNodeLSNlriVer4) nlri).getLocalNodeDescriptors();
- if (nodeTree.containsKey(nodeLSIdentifier)) {
- nodeTree.replace(nodeLSIdentifier, details);
- } else {
- nodeTree.put(nodeLSIdentifier, details);
- }
- } else if (nlri instanceof BgpLinkLsNlriVer4) {
- BgpLinkLSIdentifier linkLSIdentifier = ((BgpLinkLsNlriVer4) nlri).getLinkIdentifier();
- if (linkTree.containsKey(linkLSIdentifier)) {
- linkTree.replace(linkLSIdentifier, details);
- } else {
- linkTree.put(linkLSIdentifier, details);
- }
- } else if (nlri instanceof BgpPrefixIPv4LSNlriVer4) {
- BgpPrefixLSIdentifier prefixIdentifier = ((BgpPrefixIPv4LSNlriVer4) nlri).getPrefixIdentifier();
- if (prefixTree.containsKey(prefixIdentifier)) {
- prefixTree.replace(prefixIdentifier, details);
- } else {
- prefixTree.put(prefixIdentifier, details);
- }
- }
- }
-
- /**
- * Update nlri identifier mapped with route distinguisher if it exists in tree otherwise add nlri infomation mapped
- * to respective route distinguisher in tree.
- *
- * @param nlri NLRI info
- * @param details has pathattribute , protocolID and identifier
- * @param routeDistinguisher unique for for each vpn
- */
- public void addVpn(BgpLSNlri nlri, PathAttrNlriDetails details, RouteDistinguisher routeDistinguisher) {
- add(nlri, details);
- if (nlri instanceof BgpNodeLSNlriVer4) {
- if (!vpnNodeTree.containsKey(routeDistinguisher)) {
- vpnNodeTree.put(routeDistinguisher, nodeTree);
- }
- } else if (nlri instanceof BgpLinkLsNlriVer4) {
- if (!vpnLinkTree.containsKey(routeDistinguisher)) {
- vpnLinkTree.put(routeDistinguisher, linkTree);
- }
- } else if (nlri instanceof BgpPrefixIPv4LSNlriVer4) {
- if (!vpnPrefixTree.containsKey(routeDistinguisher)) {
- vpnPrefixTree.put(routeDistinguisher, prefixTree);
- }
- }
- }
-
- /**
- * Removes vpn nlri identifier mapped to route distinguisher if it exists in tree.
- *
- * @param nlri NLRI Info
- * @param routeDistinguisher unique for for each vpn
- */
- public void removeVpn(BgpLSNlri nlri, RouteDistinguisher routeDistinguisher) {
- if (nlri instanceof BgpNodeLSNlriVer4) {
- if (vpnNodeTree.containsKey(routeDistinguisher)) {
- BgpNodeLSIdentifier nodeLSIdentifier = ((BgpNodeLSNlriVer4) nlri).getLocalNodeDescriptors();
- if (nodeTree.containsKey(nodeLSIdentifier)) {
- nodeTree.remove(nodeLSIdentifier);
- }
- if ((vpnNodeTree.get(routeDistinguisher)).isEmpty()) {
- vpnNodeTree.remove(routeDistinguisher);
- }
- }
- } else if (nlri instanceof BgpLinkLsNlriVer4) {
- if (vpnLinkTree.containsKey(routeDistinguisher)) {
- BgpLinkLSIdentifier linkLSIdentifier = ((BgpLinkLsNlriVer4) nlri).getLinkIdentifier();
- if (linkTree.containsKey(linkLSIdentifier)) {
- linkTree.remove(linkLSIdentifier);
- }
- if ((vpnLinkTree.get(routeDistinguisher)).isEmpty()) {
- vpnLinkTree.remove(routeDistinguisher);
- }
- }
- } else if (nlri instanceof BgpPrefixIPv4LSNlriVer4) {
- if (vpnPrefixTree.containsKey(routeDistinguisher)) {
- BgpPrefixLSIdentifier prefixIdentifier = ((BgpPrefixIPv4LSNlriVer4) nlri).getPrefixIdentifier();
- if (prefixTree.containsKey(prefixIdentifier)) {
- prefixTree.remove(prefixIdentifier);
- }
- if ((vpnPrefixTree.get(routeDistinguisher)).isEmpty()) {
- vpnPrefixTree.remove(routeDistinguisher);
- }
- }
- }
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(getClass())
- .omitNullValues().add("nodeTree", nodeTree)
- .add("linkTree", linkTree)
- .add("prefixTree", prefixTree)
- .add("vpnNodeTree", vpnNodeTree)
- .add("vpnLinkTree", vpnLinkTree)
- .add("vpnPrefixTree", vpnPrefixTree)
- .toString();
- }
-} \ No newline at end of file