CORD-537 Added public IP gateways for ARP proxy
- Added public IP gateway and MAC pairs to network config for ARP proxy
- Added vSG as a ONOS host
Change-Id: Ia722ba3843297cec7134da5d64bbf188c22762f8
diff --git a/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2PortsWebResource.java b/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2PortsWebResource.java
index cd8f555..21bbda4 100644
--- a/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2PortsWebResource.java
+++ b/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2PortsWebResource.java
@@ -17,7 +17,7 @@
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.collect.Sets;
+import com.google.common.collect.Maps;
import org.onlab.packet.IpAddress;
import org.onlab.packet.MacAddress;
import org.onosproject.cordvtn.CordVtnService;
@@ -36,7 +36,7 @@
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.io.InputStream;
-import java.util.Set;
+import java.util.Map;
/**
@@ -88,16 +88,17 @@
// this is allowed address pairs updates
MacAddress mac = MacAddress.valueOf(jsonNode.path(MAC_ADDRESS).asText());
- Set<IpAddress> vSgIps = Sets.newHashSet();
+ Map<IpAddress, MacAddress> vSgs = Maps.newHashMap();
jsonNode.path(ADDRESS_PAIRS).forEach(addrPair -> {
- IpAddress ip = IpAddress.valueOf(addrPair.path(IP_ADDERSS).asText());
- vSgIps.add(ip);
+ IpAddress pairIp = IpAddress.valueOf(addrPair.path(IP_ADDERSS).asText());
+ MacAddress pairMac = MacAddress.valueOf(addrPair.path(MAC_ADDRESS).asText());
+ vSgs.put(pairIp, pairMac);
});
service.updateVirtualSubscriberGateways(
HostId.hostId(mac),
name.substring(STAG_BEGIN_INDEX),
- vSgIps);
+ vSgs);
} catch (Exception e) {
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
}