import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.segment.routing.ext.rev151014.binding.sub.tlvs.BindingSubTlv;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.segment.routing.ext.rev151014.binding.sub.tlvs.binding.sub.tlv.PrefixSidCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.segment.routing.ext.rev151014.binding.sub.tlvs.binding.sub.tlv.PrefixSidCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.segment.routing.ext.rev151014.binding.sub.tlvs.binding.sub.tlv.prefix.sid._case.PrefixSid;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.segment.routing.ext.rev151014.binding.sub.tlvs.binding.sub.tlv.prefix.sid._case.PrefixSidBuilder;
public final class Ipv4PrefixSidParser implements BindingSubTlvsParser, BindingSubTlvsSerializer {
public static final int PREFIX_SID = 1158;
@Override
public BindingSubTlv parseSubTlv(final ByteBuf slice, final ProtocolId protocolId) {
final SrPrefix prefix = SrPrefixAttributesParser.parseSrPrefix(slice, protocolId);
- return new PrefixSidCaseBuilder().setAlgorithm(prefix.getAlgorithm()).setFlags(prefix.getFlags())
- .setSidLabelIndex(prefix.getSidLabelIndex()).build();
+ return new PrefixSidCaseBuilder()
+ .setPrefixSid(new PrefixSidBuilder()
+ .setAlgorithm(prefix.getAlgorithm())
+ .setFlags(prefix.getFlags())
+ .setSidLabelIndex(prefix.getSidLabelIndex())
+ .build())
+ .build();
}
@Override
public void serializeSubTlv(final BindingSubTlv bindingSubTlv, final ByteBuf aggregator) {
checkArgument(bindingSubTlv instanceof PrefixSidCase, "Wrong BindingSubTlv instance expected",
bindingSubTlv);
- final PrefixSidCase prefix = (PrefixSidCase) bindingSubTlv;
+ final PrefixSid prefix = ((PrefixSidCase) bindingSubTlv).getPrefixSid();
final ByteBuf buffer = Unpooled.buffer();
SrPrefixAttributesParser.serializePrefixAttributes(prefix.getFlags(), prefix.getAlgorithm(),
prefix.getSidLabelIndex(), buffer);