import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecordBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.list.MappingRecordItem;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.list.MappingRecordItemBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.list.MappingRecordItemKey;
/**
* This class deals with serializing map notify from the java object to udp.
SiteId siteId = new SiteId(siteIdBuf);
builder.setXtrId(xtrId);
builder.setSiteId(siteId);
+ int idx = 0;
for (MappingRecordBuilder mrb : mrbs) {
mrb.setXtrId(xtrId);
mrb.setSiteId(siteId);
- builder.getMappingRecordItem().add(new MappingRecordItemBuilder().setMappingRecord(
- mrb.build()).build());
+ builder.getMappingRecordItem().add(new MappingRecordItemBuilder()
+ .withKey(new MappingRecordItemKey(Integer.toString(idx)))
+ .setMappingRecord(mrb.build()).build());
+ idx++;
}
} else {
for (int i = 0; i < recordCount; i++) {
- builder.getMappingRecordItem().add(new MappingRecordItemBuilder().setMappingRecord(
- MappingRecordSerializer.getInstance().deserialize(notifyBuffer)).build());
+ builder.getMappingRecordItem().add(new MappingRecordItemBuilder()
+ .withKey(new MappingRecordItemKey(Integer.toString(i)))
+ .setMappingRecord(MappingRecordSerializer.getInstance().deserialize(notifyBuffer))
+ .build());
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecordBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.list.MappingRecordItem;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.list.MappingRecordItemBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.list.MappingRecordItemKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapregisternotification.MapRegisterBuilder;
/**
SiteId siteId = new SiteId(siteIdBuf);
builder.setXtrId(xtrId);
builder.setSiteId(siteId);
+ int idx = 0;
for (MappingRecordBuilder mrb : mrbs) {
mrb.setXtrId(xtrId);
mrb.setSiteId(siteId);
mrb.setSourceRloc(LispAddressUtil.addressBinaryFromInet(sourceRloc));
- builder.getMappingRecordItem().add(new MappingRecordItemBuilder().setMappingRecord(
- mrb.build()).build());
+ builder.getMappingRecordItem().add(new MappingRecordItemBuilder()
+ .withKey(new MappingRecordItemKey(Integer.toString(idx)))
+ .setMappingRecord(mrb.build()).build());
+ idx++;
}
} else {
for (int i = 0; i < recordCount; i++) {
- builder.getMappingRecordItem().add(new MappingRecordItemBuilder().setMappingRecord(
- MappingRecordSerializer.getInstance().deserialize(registerBuffer)).build());
+ builder.getMappingRecordItem().add(new MappingRecordItemBuilder()
+ .withKey(new MappingRecordItemKey(Integer.toString(i)))
+ .setMappingRecord(MappingRecordSerializer.getInstance().deserialize(registerBuffer))
+ .build());
}
}
import org.opendaylight.lispflowmapping.lisp.serializer.address.LispAddressSerializerContext;
import org.opendaylight.lispflowmapping.lisp.serializer.exception.LispSerializationException;
import org.opendaylight.lispflowmapping.lisp.util.ByteUtil;
+import org.opendaylight.lispflowmapping.lisp.util.LispAddressStringifier;
import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
import org.opendaylight.lispflowmapping.lisp.util.MaskUtil;
import org.opendaylight.lispflowmapping.lisp.util.NumberUtil;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.MapRequest;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.MessageType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.list.EidItem;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.list.EidItemBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.list.EidItemKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.maprequest.ItrRloc;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.maprequest.ItrRlocBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.maprequest.ItrRlocKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.maprequest.SourceEidBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.maprequestnotification.MapRequestBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.rloc.container.Rloc;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
builder.setItrRloc(new ArrayList<ItrRloc>());
}
for (int i = 0; i < itrCount; i++) {
- builder.getItrRloc().add(new ItrRlocBuilder().setRloc(
- LispAddressSerializer.getInstance().deserializeRloc(requestBuffer)).build());
+ Rloc rloc = LispAddressSerializer.getInstance().deserializeRloc(requestBuffer);
+ builder.getItrRloc().add(new ItrRlocBuilder()
+ .withKey(new ItrRlocKey(LispAddressStringifier.getString(rloc)))
+ .setRloc(rloc).build());
}
if (builder.getEidItem() == null) {
builder.setEidItem(new ArrayList<EidItem>());
}
for (int i = 0; i < recordCount; i++) {
- builder.getEidItem().add(new EidItemBuilder().setEid(
- EidRecordSerializer.getInstance().deserialize(requestBuffer)).build());
+ Eid eid = EidRecordSerializer.getInstance().deserialize(requestBuffer);
+ builder.getEidItem().add(new EidItemBuilder()
+ .withKey(new EidItemKey(LispAddressStringifier.getString(eid)))
+ .setEid(eid).build());
}
if (builder.isMapDataPresent() && requestBuffer.hasRemaining()) {
try {
import org.mockito.ArgumentCaptor;
import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;
+import org.opendaylight.lispflowmapping.lisp.util.LispAddressStringifier;
import org.opendaylight.lispflowmapping.lisp.util.LispAddressUtil;
import org.opendaylight.lispflowmapping.southbound.LispSouthboundPlugin;
import org.opendaylight.lispflowmapping.southbound.lisp.exception.LispMalformedPacketException;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.augmented.lisp.address.address.Ipv4BinaryBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.XtrReplyMapping;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.XtrRequestMapping;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.list.EidItem;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.list.EidItemBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.list.EidItemKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.maprequest.ItrRloc;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.maprequest.ItrRlocBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.maprequest.ItrRlocKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.maprequest.SourceEidBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.maprequestnotification.MapRequest;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.maprequestnotification.MapRequestBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.rloc.container.Rloc;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.rloc.container.RlocBuilder;
@RunWith(MockitoJUnitRunner.class)
}
private static MapRequestBuilder getDefaultMapRequestBuilder() {
- final ItrRloc itrRloc = new ItrRlocBuilder()
- .setRloc(new RlocBuilder()
- .setAddressType(Ipv4BinaryAfi.class)
- .setAddress(new Ipv4BinaryBuilder()
- .setIpv4Binary(new Ipv4AddressBinary(new byte[]{127, 0, 0, 2})).build())
- .build())
+ final Rloc rloc = new RlocBuilder()
+ .setAddressType(Ipv4BinaryAfi.class)
+ .setAddress(new Ipv4BinaryBuilder()
+ .setIpv4Binary(new Ipv4AddressBinary(new byte[]{127, 0, 0, 2})).build())
.build();
+ final ItrRloc itrRloc = new ItrRlocBuilder()
+ .withKey(new ItrRlocKey(LispAddressStringifier.getString(rloc)))
+ .setRloc(rloc).build();
+ final Eid eid = LispAddressUtil.asIpv4PrefixBinaryEid(IPV4_STRING_2 + IPV4_STRING_PREFIX);
final EidItem eidItem = new EidItemBuilder()
- .setEid(LispAddressUtil.asIpv4PrefixBinaryEid(IPV4_STRING_2 + IPV4_STRING_PREFIX)).build();
+ .withKey(new EidItemKey(IPV4_STRING_2 + IPV4_STRING_PREFIX))
+ .setEid(eid).build();
return new MapRequestBuilder()
.setItrRloc(Lists.newArrayList(itrRloc))