use of org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecordBuilder in project lispflowmapping by opendaylight.
the class MultiSiteScenario method storeNorthMappingIpPrefix.
void storeNorthMappingIpPrefix(final Site... dstSite) {
final MappingRecordBuilder mrb = prepareMappingRecord(EidType.EID_WITH_PREFIX, null, dstSite);
mapService.addMapping(MappingOrigin.Northbound, mrb.getEid(), new SiteId(DEFAULT_SITE_ID), new MappingData(mrb.build()));
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecordBuilder in project lispflowmapping by opendaylight.
the class MultiSiteScenario method prepareMappingRecordGeneral.
private MappingRecordBuilder prepareMappingRecordGeneral(final EidType eidType, final Site srcSite, final Site dstSite) {
final MappingRecordBuilder mrb = provideCommonMapRecordBuilder();
mrb.setXtrId(dstSite.getXtrId());
Eid eid = null;
if (EidType.EID_SRC_DST.equals(eidType)) {
if (srcSite != null && dstSite != null && srcSite.getEidPrefix() != null && dstSite.getEidPrefix() != null) {
eid = LispAddressUtil.asSrcDstEid(srcSite.getEidPrefix(), dstSite.getEidPrefix(), DEFAULT_NETWORK_MASK, DEFAULT_NETWORK_MASK, dstSite.getVNI().getValue().intValue());
}
}
mrb.setEid(eid == null ? toEid(dstSite.getEidPrefix(), dstSite.getVNI(), DEFAULT_NETWORK_MASK) : eid);
return mrb;
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecordBuilder in project lispflowmapping by opendaylight.
the class MultiSiteScenario method storeNorthMappingNegative.
void storeNorthMappingNegative(final Site dstSite, final MappingRecord.Action action) {
final Eid eidAsIpv4Prefix = LispAddressUtil.asIpv4PrefixBinaryEid(dstSite.getEidPrefix() + "/" + DEFAULT_NETWORK_MASK, dstSite.getVNI());
final MappingRecordBuilder mrbNegative = prepareMappingRecord(EidType.EID_WITH_PREFIX, null, dstSite);
mrbNegative.setEid(eidAsIpv4Prefix);
mrbNegative.setAction(action);
mapService.addMapping(MappingOrigin.Northbound, eidAsIpv4Prefix, new SiteId(DEFAULT_SITE_ID), new MappingData(mrbNegative.build()));
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecordBuilder in project lispflowmapping by opendaylight.
the class MapNotifySerializationTest method serialize__NoPrefixInEidToLocator.
@Test
public void serialize__NoPrefixInEidToLocator() throws Exception {
MapNotifyBuilder mnBuilder = new MapNotifyBuilder();
mnBuilder.setMappingRecordItem(new ArrayList<MappingRecordItem>());
mnBuilder.getMappingRecordItem().add(new MappingRecordItemBuilder().setMappingRecord(new MappingRecordBuilder().build()).build());
mnBuilder.getMappingRecordItem().add(new MappingRecordItemBuilder().setMappingRecord(new MappingRecordBuilder().setEid(null).build()).build());
mnBuilder.getMappingRecordItem().add(new MappingRecordItemBuilder().setMappingRecord(new MappingRecordBuilder().setEid(LispAddressUtil.getNoAddressEid()).build()).build());
ByteBuffer bb = MapNotifySerializer.getInstance().serialize(mnBuilder.build());
// jump to first record prefix AFI
bb.position(bb.position() + 16);
assertEquals(0, bb.getShort());
// jump to second record prefix AFI
bb.position(bb.position() + 10);
assertEquals(0, bb.getShort());
// jump to third record prefix AFI
bb.position(bb.position() + 10);
assertEquals(0, bb.getShort());
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecordBuilder in project lispflowmapping by opendaylight.
the class MapNotifySerializationTest method serialize__Fields.
@Test
public void serialize__Fields() throws Exception {
MapNotifyBuilder mnBuilder = new MapNotifyBuilder();
mnBuilder.setMappingRecordItem(new ArrayList<MappingRecordItem>());
mnBuilder.getMappingRecordItem().add(new MappingRecordItemBuilder().setMappingRecord(new MappingRecordBuilder().setEid(LispAddressUtil.asIpv4PrefixEid("0.0.0.1/32")).build()).build());
mnBuilder.getMappingRecordItem().add(new MappingRecordItemBuilder().setMappingRecord(new MappingRecordBuilder().setEid(LispAddressUtil.asIpv4PrefixEid("0.0.0.73/32")).build()).build());
mnBuilder.setNonce(6161616161L);
mnBuilder.setKeyId((short) 0x0001);
byte[] authenticationData = new byte[] { (byte) 0x16, (byte) 0x98, (byte) 0x96, (byte) 0xeb, (byte) 0x88, (byte) 0x2d, (byte) 0x4d, (byte) 0x22, (byte) 0xe5, (byte) 0x8f, (byte) 0xe6, (byte) 0x89, (byte) 0x64, (byte) 0xb9, (byte) 0x17, (byte) 0xa4, (byte) 0xba, (byte) 0x4e, (byte) 0x8c, (byte) 0x41 };
mnBuilder.setAuthenticationData(authenticationData);
ByteBuffer bb = MapNotifySerializer.getInstance().serialize(mnBuilder.build());
// Type + MSByte of reserved
assertHexEquals((byte) 0x40, bb.get());
// Rest of reserved
assertEquals(0, bb.getShort());
// Record Count
assertEquals(2, bb.get());
// Nonce
assertEquals(6161616161L, bb.getLong());
// Key ID
assertHexEquals((short) 0x0001, bb.getShort());
assertEquals(authenticationData.length, bb.getShort());
byte[] actualAuthenticationData = new byte[20];
bb.get(actualAuthenticationData);
ArrayAssert.assertEquals(authenticationData, actualAuthenticationData);
bb.position(bb.position() + 12);
/* EID in first record */
assertEquals(0x1, bb.getInt());
bb.position(bb.position() + 12);
/* EID in second record */
assertEquals(73, bb.getInt());
assertEquals(bb.position(), bb.capacity());
}
Aggregations