[ONOS-5750] Improve MappingEntryBuilder to convert LCAF to ext addr
Change-Id: I0353575633bbe1073413b61ad134634716ad75b4
diff --git a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/addresses/ExtensionMappingAddressWrapper.java b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/addresses/ExtensionMappingAddressWrapper.java
index a3a539a..474af5a 100644
--- a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/addresses/ExtensionMappingAddressWrapper.java
+++ b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/addresses/ExtensionMappingAddressWrapper.java
@@ -16,7 +16,6 @@
package org.onosproject.mapping.addresses;
import org.onosproject.net.DeviceId;
-import org.onosproject.net.flow.criteria.ExtensionSelector;
import java.util.Objects;
@@ -25,17 +24,18 @@
*/
public final class ExtensionMappingAddressWrapper implements MappingAddress {
- private final ExtensionSelector extensionSelector;
+ private final ExtensionMappingAddress extensionMappingAddress;
private final DeviceId deviceId;
/**
* Default constructor of ExtensionMappingAddressWrapper.
*
- * @param extensionSelector extension selector
- * @param deviceId device identifier
+ * @param extensionMappingAddress extension mapping address
+ * @param deviceId device identifier
*/
- public ExtensionMappingAddressWrapper(ExtensionSelector extensionSelector, DeviceId deviceId) {
- this.extensionSelector = extensionSelector;
+ public ExtensionMappingAddressWrapper(ExtensionMappingAddress extensionMappingAddress,
+ DeviceId deviceId) {
+ this.extensionMappingAddress = extensionMappingAddress;
this.deviceId = deviceId;
}
@@ -45,12 +45,12 @@
}
/**
- * Returns the extension selector.
+ * Returns the extension mapping address.
*
- * @return extension selector
+ * @return extension mapping address
*/
- public ExtensionSelector extensionSelector() {
- return extensionSelector;
+ public ExtensionMappingAddress extensionMappingAddress() {
+ return extensionMappingAddress;
}
/**
@@ -64,12 +64,12 @@
@Override
public String toString() {
- return type().toString() + TYPE_SEPARATOR + deviceId + "/" + extensionSelector;
+ return type().toString() + TYPE_SEPARATOR + extensionMappingAddress;
}
@Override
public int hashCode() {
- return Objects.hash(type().ordinal(), extensionSelector, deviceId);
+ return Objects.hash(type().ordinal(), extensionMappingAddress);
}
@Override
@@ -79,7 +79,7 @@
}
if (obj instanceof ExtensionMappingAddressWrapper) {
ExtensionMappingAddressWrapper that = (ExtensionMappingAddressWrapper) obj;
- return Objects.equals(extensionSelector, that.extensionSelector) &&
+ return Objects.equals(extensionMappingAddress, that.extensionMappingAddress) &&
Objects.equals(deviceId, that.deviceId);
}
return false;
diff --git a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/addresses/MappingAddresses.java b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/addresses/MappingAddresses.java
index a47dae0..1a3cafe 100644
--- a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/addresses/MappingAddresses.java
+++ b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/addresses/MappingAddresses.java
@@ -17,6 +17,7 @@
import org.onlab.packet.IpPrefix;
import org.onlab.packet.MacAddress;
+import org.onosproject.net.DeviceId;
/**
* Factory class for creating various mapping addresses.
@@ -77,4 +78,16 @@
public static IPMappingAddress ipv6MappingAddress(IpPrefix ip) {
return new IPMappingAddress(ip, MappingAddress.Type.IPV6);
}
+
+ /**
+ * Creates an extension mapping address wrapper.
+ *
+ * @param address extension mapping address
+ * @param deviceId device identifier
+ * @return extension mapping address wrapper
+ */
+ public static ExtensionMappingAddressWrapper
+ extensionMappingAddressWrapper(ExtensionMappingAddress address, DeviceId deviceId) {
+ return new ExtensionMappingAddressWrapper(address, deviceId);
+ }
}