+ final AddressFamilyRegistry afiReg = context.getAddressFamilyRegistry();
+ final SubsequentAddressFamilyRegistry safiReg = context.getSubsequentAddressFamilyRegistry();
+ final BGPRouteRefreshMessageParser rrmp = new BGPRouteRefreshMessageParser(afiReg, safiReg);
+ regs.add(context.registerMessageParser(BGPRouteRefreshMessageParser.TYPE, rrmp));
+ regs.add(context.registerMessageSerializer(RouteRefresh.class, rrmp));
+ }
+
+ private static void registerExtendedCommunities(final List<Registration> regs,
+ final BGPExtensionProviderContext context) {
+ final AsTwoOctetSpecificEcHandler twoOctetSpecificEcHandler = new AsTwoOctetSpecificEcHandler();
+ regs.add(context.registerExtendedCommunityParser(twoOctetSpecificEcHandler.getType(true),
+ twoOctetSpecificEcHandler.getSubType(), twoOctetSpecificEcHandler));
+ regs.add(context.registerExtendedCommunityParser(twoOctetSpecificEcHandler.getType(false),
+ twoOctetSpecificEcHandler.getSubType(), twoOctetSpecificEcHandler));
+ regs.add(context.registerExtendedCommunitySerializer(AsSpecificExtendedCommunityCase.class,
+ twoOctetSpecificEcHandler));
+
+ final Ipv4SpecificEcHandler ipv4SpecificEcHandler = new Ipv4SpecificEcHandler();
+ regs.add(context.registerExtendedCommunityParser(ipv4SpecificEcHandler.getType(true),
+ ipv4SpecificEcHandler.getSubType(), ipv4SpecificEcHandler));
+ regs.add(context.registerExtendedCommunityParser(ipv4SpecificEcHandler.getType(false),
+ ipv4SpecificEcHandler.getSubType(), ipv4SpecificEcHandler));
+ regs.add(context.registerExtendedCommunitySerializer(Inet4SpecificExtendedCommunityCase.class,
+ ipv4SpecificEcHandler));
+
+ final OpaqueEcHandler opaqueEcHandler = new OpaqueEcHandler();
+ regs.add(context.registerExtendedCommunityParser(opaqueEcHandler.getType(true),
+ opaqueEcHandler.getSubType(), opaqueEcHandler));
+ regs.add(context.registerExtendedCommunityParser(opaqueEcHandler.getType(false),
+ opaqueEcHandler.getSubType(), opaqueEcHandler));
+ regs.add(context.registerExtendedCommunitySerializer(OpaqueExtendedCommunityCase.class, opaqueEcHandler));
+
+ final RouteOriginAsTwoOctetEcHandler routeOriginAS2bEcHandler = new RouteOriginAsTwoOctetEcHandler();
+ regs.add(context.registerExtendedCommunityParser(routeOriginAS2bEcHandler.getType(true),
+ routeOriginAS2bEcHandler.getSubType(), routeOriginAS2bEcHandler));
+ regs.add(context.registerExtendedCommunityParser(routeOriginAS2bEcHandler.getType(false),
+ routeOriginAS2bEcHandler.getSubType(), routeOriginAS2bEcHandler));
+ regs.add(context.registerExtendedCommunitySerializer(RouteOriginExtendedCommunityCase.class,
+ routeOriginAS2bEcHandler));
+
+ final RouteTargetAsTwoOctetEcHandler routeTargetAS2bEcHandler = new RouteTargetAsTwoOctetEcHandler();
+ regs.add(context.registerExtendedCommunityParser(routeTargetAS2bEcHandler.getType(true),
+ routeTargetAS2bEcHandler.getSubType(), routeTargetAS2bEcHandler));
+ regs.add(context.registerExtendedCommunityParser(routeTargetAS2bEcHandler.getType(false),
+ routeTargetAS2bEcHandler.getSubType(), routeTargetAS2bEcHandler));
+ regs.add(context.registerExtendedCommunitySerializer(RouteTargetExtendedCommunityCase.class,
+ routeTargetAS2bEcHandler));
+
+ final RouteOriginIpv4EcHandler routeOriginIpv4EcHandler = new RouteOriginIpv4EcHandler();
+ regs.add(context.registerExtendedCommunityParser(routeOriginIpv4EcHandler.getType(true),
+ routeOriginIpv4EcHandler.getSubType(), routeOriginIpv4EcHandler));
+ regs.add(context.registerExtendedCommunityParser(routeOriginIpv4EcHandler.getType(false),
+ routeOriginIpv4EcHandler.getSubType(), routeOriginIpv4EcHandler));
+ regs.add(context.registerExtendedCommunitySerializer(RouteOriginIpv4Case.class, routeOriginIpv4EcHandler));
+
+ final RouteTargetIpv4EcHandler routeTargetIpv4EcHandler = new RouteTargetIpv4EcHandler();
+ regs.add(context.registerExtendedCommunityParser(routeTargetIpv4EcHandler.getType(true),
+ routeTargetIpv4EcHandler.getSubType(), routeTargetIpv4EcHandler));
+ regs.add(context.registerExtendedCommunityParser(routeTargetIpv4EcHandler.getType(false),
+ routeTargetIpv4EcHandler.getSubType(), routeTargetIpv4EcHandler));
+ regs.add(context.registerExtendedCommunitySerializer(RouteTargetIpv4Case.class, routeTargetIpv4EcHandler));
+
+ final LinkBandwidthEC linkBandwidthECHandler = new LinkBandwidthEC();
+ regs.add(context.registerExtendedCommunityParser(linkBandwidthECHandler.getType(false),
+ linkBandwidthECHandler.getSubType(), linkBandwidthECHandler));
+ regs.add(context.registerExtendedCommunitySerializer(LinkBandwidthCase.class, linkBandwidthECHandler));
+
+ final Generic4OctASEcHandler gen4OctASEcHandler = new Generic4OctASEcHandler();
+ regs.add(context.registerExtendedCommunityParser(gen4OctASEcHandler.getType(true),
+ gen4OctASEcHandler.getSubType(), gen4OctASEcHandler));
+ regs.add(context.registerExtendedCommunityParser(gen4OctASEcHandler.getType(false),
+ gen4OctASEcHandler.getSubType(), gen4OctASEcHandler));
+ regs.add(context.registerExtendedCommunitySerializer(As4GenericSpecExtendedCommunityCase.class,
+ gen4OctASEcHandler));
+
+ final RouteTarget4OctectASEcHandler rt4ASHandler = new RouteTarget4OctectASEcHandler();
+ regs.add(context.registerExtendedCommunityParser(rt4ASHandler.getType(true),
+ rt4ASHandler.getSubType(), rt4ASHandler));
+ regs.add(context.registerExtendedCommunitySerializer(As4RouteTargetExtendedCommunityCase.class, rt4ASHandler));
+
+ final RouteOrigin4OctectASEcHandler rOrig4Oct = new RouteOrigin4OctectASEcHandler();
+ regs.add(context.registerExtendedCommunityParser(rOrig4Oct.getType(true), rOrig4Oct.getSubType(), rOrig4Oct));
+ regs.add(context.registerExtendedCommunitySerializer(As4RouteOriginExtendedCommunityCase.class, rOrig4Oct));
+
+ final EncapsulationEC encapsulationECHandler = new EncapsulationEC();
+ regs.add(context.registerExtendedCommunityParser(encapsulationECHandler.getType(true),
+ encapsulationECHandler.getSubType(), encapsulationECHandler));
+ regs.add(context.registerExtendedCommunitySerializer(EncapsulationCase.class, encapsulationECHandler));
+
+ final VrfRouteImportHandler vrfRouteImportHandler = new VrfRouteImportHandler();
+ regs.add(context.registerExtendedCommunityParser(vrfRouteImportHandler.getType(true),
+ vrfRouteImportHandler.getSubType(), vrfRouteImportHandler));
+ regs.add(context.registerExtendedCommunitySerializer(VrfRouteImportExtendedCommunityCase.class,
+ vrfRouteImportHandler));
+
+ final SourceAS4OctectHandler source4ASHandler = new SourceAS4OctectHandler();
+ regs.add(context.registerExtendedCommunityParser(source4ASHandler.getType(true),
+ source4ASHandler.getSubType(), source4ASHandler));
+ regs.add(context.registerExtendedCommunitySerializer(SourceAs4ExtendedCommunityCase.class, source4ASHandler));
+
+ final SourceASHandler sourceASHandler = new SourceASHandler();
+ regs.add(context.registerExtendedCommunityParser(sourceASHandler.getType(true),
+ sourceASHandler.getSubType(), sourceASHandler));
+ regs.add(context.registerExtendedCommunitySerializer(SourceAsExtendedCommunityCase.class, sourceASHandler));