import org.slf4j.LoggerFactory;
/**
+ * Helper methods for Source/Dest Key type LCAF addresses.
+ *
* @author Lorand Jakab
*
*/
-public class SourceDestKeyHelper {
- private final static Logger LOG = LoggerFactory.getLogger(SourceDestKeyHelper.class);
+public final class SourceDestKeyHelper {
+ // Utility class, should not be instantiated
+ private SourceDestKeyHelper() {
+ }
+
+ private static final Logger LOG = LoggerFactory.getLogger(SourceDestKeyHelper.class);
+
public static Eid getSrc(Eid eid) {
Address addr = eid.getAddress();
if (addr instanceof SourceDestKey) {
- return LispAddressUtil.toEid(eid, ((SourceDestKey)addr).getSourceDestKey().getSource());
+ return LispAddressUtil.asEid(((SourceDestKey) addr).getSourceDestKey().getSource(),
+ eid.getVirtualNetworkId());
} else {
return eid;
}
public static Eid getDst(Eid eid) {
Address addr = eid.getAddress();
if (addr instanceof SourceDestKey) {
- return LispAddressUtil.toEid(eid, ((SourceDestKey)addr).getSourceDestKey().getDest());
+ return LispAddressUtil.asEid(((SourceDestKey) addr).getSourceDestKey().getDest(),
+ eid.getVirtualNetworkId());
} else {
return eid;
}
}
+ public static Eid getSrcBinary(Eid eid) {
+ if (eid.getAddress() instanceof SourceDestKey) {
+ return LispAddressUtil.asBinaryEid(((SourceDestKey) eid.getAddress()).getSourceDestKey().getSource(),
+ eid.getVirtualNetworkId());
+ }
+ return eid;
+ }
+
+ public static Eid getDstBinary(Eid eid) {
+ if (eid.getAddress() instanceof SourceDestKey) {
+ return LispAddressUtil.asBinaryEid(((SourceDestKey) eid.getAddress()).getSourceDestKey().getDest(),
+ eid.getVirtualNetworkId());
+ }
+ return eid;
+ }
+
public static short getSrcMask(Eid eid) {
Address addr = eid.getAddress();
if (!isSrcDst(addr)) {
return 0;
}
- return MaskUtil.getMaskForIpPrefix(((SourceDestKey)addr).getSourceDestKey().getSource());
+ return MaskUtil.getMaskForAddress(((SourceDestKey)addr).getSourceDestKey().getSource());
}
public static short getDstMask(Eid eid) {
if (!isSrcDst(addr)) {
return 0;
}
- return MaskUtil.getMaskForIpPrefix(((SourceDestKey)addr).getSourceDestKey().getDest());
+ return MaskUtil.getMaskForAddress(((SourceDestKey)addr).getSourceDestKey().getDest());
}
private static boolean isSrcDst(Address addr) {