use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.detour.object.detour.object.ipv4.detour.object.Plr in project bgpcep by opendaylight.
the class DetourObjectIpv6Parser method localParseObject.
@Override
protected RsvpTeObject localParseObject(final ByteBuf byteBuf) {
final ByteBuf plrId = byteBuf.readSlice(byteBuf.capacity() / 2);
final Ipv6DetourObjectBuilder ipv6Case = new Ipv6DetourObjectBuilder();
final List<PlrId> plrIdList = new ArrayList<>();
while (plrId.isReadable()) {
final PlrIdBuilder plr = new PlrIdBuilder();
plr.setPlrId(Ipv6Util.addressForByteBuf(plrId));
plrIdList.add(plr.build());
}
final List<AvoidNode> avoidNodeList = new ArrayList<>();
while (byteBuf.isReadable()) {
final AvoidNodeBuilder plr = new AvoidNodeBuilder();
plr.setAvoidNode(Ipv6Util.addressForByteBuf(byteBuf));
avoidNodeList.add(plr.build());
}
return ipv6Case.setPlrId(plrIdList).setAvoidNode(avoidNodeList).build();
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.detour.object.detour.object.ipv4.detour.object.Plr in project bgpcep by opendaylight.
the class DetourObjectIpv4Parser method localSerializeObject.
@Override
public void localSerializeObject(final RsvpTeObject teLspObject, final ByteBuf byteAggregator) {
Preconditions.checkArgument(teLspObject instanceof Ipv4DetourObject, "DetourObject is mandatory.");
final Ipv4DetourObject detourObject = (Ipv4DetourObject) teLspObject;
final List<Plr> list = detourObject.getPlr();
serializeAttributeHeader(list.size() * 2 * Ipv4Util.IP4_LENGTH, CLASS_NUM, CTYPE, byteAggregator);
for (final Plr plr : list) {
ByteBufWriteUtil.writeIpv4Address(plr.getPlrId(), byteAggregator);
ByteBufWriteUtil.writeIpv4Address(plr.getAvoidNode(), byteAggregator);
}
}
use of org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.detour.object.detour.object.ipv4.detour.object.Plr in project bgpcep by opendaylight.
the class DetourObjectIpv4Parser method localParseObject.
@Override
protected RsvpTeObject localParseObject(final ByteBuf byteBuf) {
final Ipv4DetourObjectBuilder ipv4Case = new Ipv4DetourObjectBuilder();
final List<Plr> plrList = new ArrayList<>();
while (byteBuf.isReadable()) {
final PlrBuilder plr = new PlrBuilder();
plr.setPlrId(Ipv4Util.addressForByteBuf(byteBuf));
plr.setAvoidNode(Ipv4Util.addressForByteBuf(byteBuf));
plrList.add(plr.build());
}
return ipv4Case.setPlr(plrList).build();
}
Aggregations