summaryrefslogtreecommitdiffstats
path: root/framework/src/onos/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngResource.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngResource.java')
-rw-r--r--framework/src/onos/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngResource.java141
1 files changed, 0 insertions, 141 deletions
diff --git a/framework/src/onos/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngResource.java b/framework/src/onos/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngResource.java
deleted file mode 100644
index c6a9c9b3..00000000
--- a/framework/src/onos/apps/virtualbng/src/main/java/org/onosproject/virtualbng/VbngResource.java
+++ /dev/null
@@ -1,141 +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.virtualbng;
-
-import static org.slf4j.LoggerFactory.getLogger;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-import java.util.Map;
-
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.onlab.packet.IpAddress;
-import org.onlab.packet.MacAddress;
-import org.onosproject.rest.AbstractWebResource;
-import org.slf4j.Logger;
-
-/**
- * REST services to interact with the virtual BNG.
- */
-@Path("privateip")
-public class VbngResource extends AbstractWebResource {
-
- private final Logger log = getLogger(getClass());
-
- /**
- * Create a new virtual BNG connection.
- *
- * @param privateIp IP Address for the BNG private network
- * @param mac MAC address for the host
- * @param hostName name of the host
- * @return public IP address for the new connection
- */
- @POST
- @Path("{privateip}/{mac}/{hostname}")
- public String privateIpAddNotification(@PathParam("privateip")
- String privateIp, @PathParam("mac") String mac,
- @PathParam("hostname") String hostName) {
-
- log.info("Received creating vBNG request, "
- + "privateIp= {}, mac={}, hostName= {}",
- privateIp, mac, hostName);
-
- if (privateIp == null || mac == null || hostName == null) {
- log.info("Parameters can not be null");
- return "0";
- }
-
- IpAddress privateIpAddress = IpAddress.valueOf(privateIp);
- MacAddress hostMacAddress = MacAddress.valueOf(mac);
-
- VbngService vbngService = get(VbngService.class);
-
- IpAddress publicIpAddress = null;
- // Create a virtual BNG
- publicIpAddress = vbngService.createVbng(privateIpAddress,
- hostMacAddress,
- hostName);
-
- if (publicIpAddress != null) {
- return publicIpAddress.toString();
- } else {
- return "0";
- }
- }
-
- /**
- * Delete a virtual BNG connection.
- *
- * @param privateIp IP Address for the BNG private network
- * @return public IP address for the new connection
- */
- @DELETE
- @Path("{privateip}")
- public String privateIpDeleteNotification(@PathParam("privateip")
- String privateIp) {
- if (privateIp == null) {
- log.info("Private IP address to delete is null");
- return "0";
- }
- log.info("Received a private IP address : {} to delete", privateIp);
- IpAddress privateIpAddress = IpAddress.valueOf(privateIp);
-
- VbngService vbngService = get(VbngService.class);
-
- IpAddress assignedPublicIpAddress = null;
- // Delete a virtual BNG
- assignedPublicIpAddress = vbngService.deleteVbng(privateIpAddress);
-
- if (assignedPublicIpAddress != null) {
- return assignedPublicIpAddress.toString();
- } else {
- return "0";
- }
- }
-
- /**
- * Query virtual BNG map.
- *
- * @return IP Address map
- */
- @GET
- @Path("map")
- @Produces(MediaType.APPLICATION_JSON)
- public Response privateIpDeleteNotification() {
-
- log.info("Received vBNG IP address map request");
-
- VbngConfigurationService vbngConfigurationService =
- get(VbngConfigurationService.class);
-
- Map<IpAddress, IpAddress> map =
- vbngConfigurationService.getIpAddressMappings();
- ObjectNode result = new ObjectMapper().createObjectNode();
-
- result.set("map", new IpAddressMapEntryCodec().encode(map.entrySet(), this));
-
- return ok(result.toString()).build();
- }
-}