Search in sources :

Example 1 with SEROBasicProtectionSubobjectParser

use of org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.SEROBasicProtectionSubobjectParser in project bgpcep by opendaylight.

the class TEObjectTest method testSEROBasicProtectionSubobjectParser.

@Test
public void testSEROBasicProtectionSubobjectParser() throws RSVPParsingException {
    final SEROBasicProtectionSubobjectParser parser = new SEROBasicProtectionSubobjectParser();
    final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.list.SubobjectContainer sub = parser.parseSubobject(Unpooled.copiedBuffer(ByteArray.subByte(TEObjectUtil.TE_LSP_BASIC_SERO_PROTECTION, 2, TEObjectUtil.TE_LSP_BASIC_SERO_PROTECTION.length - 2)), true);
    final ByteBuf output = Unpooled.buffer();
    parser.serializeSubobject(sub, output);
    assertArrayEquals(TEObjectUtil.TE_LSP_BASIC_SERO_PROTECTION, ByteArray.getAllBytes(output));
}
Also used : SEROBasicProtectionSubobjectParser(org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.SEROBasicProtectionSubobjectParser) ByteBuf(io.netty.buffer.ByteBuf) Test(org.junit.Test)

Example 2 with SEROBasicProtectionSubobjectParser

use of org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.SEROBasicProtectionSubobjectParser in project bgpcep by opendaylight.

the class TEObjectTest method testWrongSerializeSERO.

@Test(expected = IllegalArgumentException.class)
public void testWrongSerializeSERO() throws RSVPParsingException {
    final SEROBasicProtectionSubobjectParser parser = new SEROBasicProtectionSubobjectParser();
    parser.serializeSubobject(new SubobjectContainerBuilder().setSubobjectType(new DynamicControlProtectionCaseBuilder().build()).build(), Unpooled.buffer());
}
Also used : SEROBasicProtectionSubobjectParser(org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.SEROBasicProtectionSubobjectParser) SubobjectContainerBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.list.SubobjectContainerBuilder) DynamicControlProtectionCaseBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.secondary.explicit.route.object.secondary.explicit.route.object.subobject.container.subobject.type.DynamicControlProtectionCaseBuilder) Test(org.junit.Test)

Example 3 with SEROBasicProtectionSubobjectParser

use of org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.SEROBasicProtectionSubobjectParser in project bgpcep by opendaylight.

the class TEObjectTest method testWrongParseSERO.

@Test(expected = IllegalArgumentException.class)
public void testWrongParseSERO() throws RSVPParsingException {
    final SEROBasicProtectionSubobjectParser parser = new SEROBasicProtectionSubobjectParser();
    parser.parseSubobject(null, false);
}
Also used : SEROBasicProtectionSubobjectParser(org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.SEROBasicProtectionSubobjectParser) Test(org.junit.Test)

Example 4 with SEROBasicProtectionSubobjectParser

use of org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.SEROBasicProtectionSubobjectParser in project bgpcep by opendaylight.

the class TEObjectTest method testSERODynamicProtectionSubobjectParser.

@Test
public void testSERODynamicProtectionSubobjectParser() throws RSVPParsingException {
    final SEROBasicProtectionSubobjectParser parser = new SEROBasicProtectionSubobjectParser();
    final SERODynamicProtectionSubobjectParser dynamicParser = new SERODynamicProtectionSubobjectParser();
    final org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.list.SubobjectContainer sub = parser.parseSubobject(Unpooled.copiedBuffer(ByteArray.subByte(TEObjectUtil.TE_LSP_DYNAMIC_SERO_PROTECTION, 2, TEObjectUtil.TE_LSP_DYNAMIC_SERO_PROTECTION.length - 2)), true);
    final ByteBuf output = Unpooled.buffer();
    dynamicParser.serializeSubobject(sub, output);
    assertArrayEquals(TEObjectUtil.TE_LSP_DYNAMIC_SERO_PROTECTION, ByteArray.getAllBytes(output));
}
Also used : SEROBasicProtectionSubobjectParser(org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.SEROBasicProtectionSubobjectParser) SERODynamicProtectionSubobjectParser(org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.SERODynamicProtectionSubobjectParser) ByteBuf(io.netty.buffer.ByteBuf) Test(org.junit.Test)

Example 5 with SEROBasicProtectionSubobjectParser

use of org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.SEROBasicProtectionSubobjectParser in project bgpcep by opendaylight.

the class RSVPActivator method registerEROParsers.

private static void registerEROParsers(final List<AutoCloseable> regs, final RSVPExtensionProviderContext context, final LabelRegistry labelReg) {
    final EROIpv4PrefixSubobjectParser ipv4prefixParser = new EROIpv4PrefixSubobjectParser();
    regs.add(context.registerEROSubobjectParser(EROIpv4PrefixSubobjectParser.TYPE, ipv4prefixParser));
    regs.add(context.registerEROSubobjectSerializer(IpPrefixCase.class, ipv4prefixParser));
    regs.add(context.registerEROSubobjectParser(EROIpv6PrefixSubobjectParser.TYPE, new EROIpv6PrefixSubobjectParser()));
    final EROAsNumberSubobjectParser asNumberParser = new EROAsNumberSubobjectParser();
    regs.add(context.registerEROSubobjectParser(EROAsNumberSubobjectParser.TYPE, asNumberParser));
    regs.add(context.registerEROSubobjectSerializer(AsNumberCase.class, asNumberParser));
    final EROUnnumberedInterfaceSubobjectParser unnumberedParser = new EROUnnumberedInterfaceSubobjectParser();
    regs.add(context.registerEROSubobjectParser(EROUnnumberedInterfaceSubobjectParser.TYPE, unnumberedParser));
    regs.add(context.registerEROSubobjectSerializer(UnnumberedCase.class, unnumberedParser));
    final EROPathKey32SubobjectParser pathKeyParser = new EROPathKey32SubobjectParser();
    regs.add(context.registerEROSubobjectParser(EROPathKey32SubobjectParser.TYPE, pathKeyParser));
    regs.add(context.registerEROSubobjectParser(EROPathKey128SubobjectParser.TYPE, new EROPathKey128SubobjectParser()));
    regs.add(context.registerEROSubobjectSerializer(PathKeyCase.class, pathKeyParser));
    final EROLabelSubobjectParser labelParser = new EROLabelSubobjectParser(labelReg);
    regs.add(context.registerEROSubobjectParser(EROLabelSubobjectParser.TYPE, labelParser));
    regs.add(context.registerEROSubobjectSerializer(LabelCase.class, labelParser));
    final SERODynamicProtectionSubobjectParser seroDynamicParser = new SERODynamicProtectionSubobjectParser();
    final SEROBasicProtectionSubobjectParser seroBasicParser = new SEROBasicProtectionSubobjectParser();
    regs.add(context.registerEROSubobjectParser(SERODynamicProtectionSubobjectParser.TYPE, seroBasicParser));
    regs.add(context.registerEROSubobjectSerializer(DynamicControlProtectionCase.class, seroDynamicParser));
    regs.add(context.registerEROSubobjectSerializer(BasicProtectionCase.class, seroBasicParser));
}
Also used : DynamicControlProtectionCase(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.secondary.explicit.route.object.secondary.explicit.route.object.subobject.container.subobject.type.DynamicControlProtectionCase) SEROBasicProtectionSubobjectParser(org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.SEROBasicProtectionSubobjectParser) EROUnnumberedInterfaceSubobjectParser(org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.EROUnnumberedInterfaceSubobjectParser) EROIpv6PrefixSubobjectParser(org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.EROIpv6PrefixSubobjectParser) SERODynamicProtectionSubobjectParser(org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.SERODynamicProtectionSubobjectParser) BasicProtectionCase(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.secondary.explicit.route.object.secondary.explicit.route.object.subobject.container.subobject.type.BasicProtectionCase) EROLabelSubobjectParser(org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.EROLabelSubobjectParser) AsNumberCase(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.AsNumberCase) UnnumberedCase(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.UnnumberedCase) EROPathKey32SubobjectParser(org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.EROPathKey32SubobjectParser) IpPrefixCase(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.IpPrefixCase) EROPathKey128SubobjectParser(org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.EROPathKey128SubobjectParser) PathKeyCase(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.subobject.type.PathKeyCase) GeneralizedLabelCase(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.label.subobject.label.type.GeneralizedLabelCase) Type1LabelCase(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.label.subobject.label.type.Type1LabelCase) LabelCase(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.LabelCase) WavebandSwitchingLabelCase(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.label.subobject.label.type.WavebandSwitchingLabelCase) EROIpv4PrefixSubobjectParser(org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.EROIpv4PrefixSubobjectParser) EROAsNumberSubobjectParser(org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.EROAsNumberSubobjectParser)

Aggregations

SEROBasicProtectionSubobjectParser (org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.SEROBasicProtectionSubobjectParser)5 Test (org.junit.Test)4 ByteBuf (io.netty.buffer.ByteBuf)2 SERODynamicProtectionSubobjectParser (org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.SERODynamicProtectionSubobjectParser)2 EROAsNumberSubobjectParser (org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.EROAsNumberSubobjectParser)1 EROIpv4PrefixSubobjectParser (org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.EROIpv4PrefixSubobjectParser)1 EROIpv6PrefixSubobjectParser (org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.EROIpv6PrefixSubobjectParser)1 EROLabelSubobjectParser (org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.EROLabelSubobjectParser)1 EROPathKey128SubobjectParser (org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.EROPathKey128SubobjectParser)1 EROPathKey32SubobjectParser (org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.EROPathKey32SubobjectParser)1 EROUnnumberedInterfaceSubobjectParser (org.opendaylight.protocol.rsvp.parser.impl.subobject.ero.EROUnnumberedInterfaceSubobjectParser)1 AsNumberCase (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.AsNumberCase)1 IpPrefixCase (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.IpPrefixCase)1 LabelCase (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.LabelCase)1 UnnumberedCase (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.UnnumberedCase)1 SubobjectContainerBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.list.SubobjectContainerBuilder)1 PathKeyCase (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.subobject.type.PathKeyCase)1 GeneralizedLabelCase (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.label.subobject.label.type.GeneralizedLabelCase)1 Type1LabelCase (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.label.subobject.label.type.Type1LabelCase)1 WavebandSwitchingLabelCase (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.label.subobject.label.type.WavebandSwitchingLabelCase)1