Search in sources :

Example 1 with PimSsmTreeParser

use of org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.PimSsmTreeParser in project bgpcep by opendaylight.

the class BGPActivator method start.

@Override
public List<Registration> start(final BGPExtensionProviderContext context) {
    final List<Registration> regs = new ArrayList<>();
    final SimpleTunnelIdentifierRegistry tunnelIdentifierReg = SimpleTunnelIdentifierRegistry.getInstance();
    final RsvpTeP2MpLspParser rsvpTeP2MpLspParser = new RsvpTeP2MpLspParser();
    regs.add(tunnelIdentifierReg.registerParser(rsvpTeP2MpLspParser));
    regs.add(tunnelIdentifierReg.registerSerializer(rsvpTeP2MpLspParser));
    final MldpP2mpLspParser mldpP2mpLspParser = new MldpP2mpLspParser(context.getAddressFamilyRegistry());
    regs.add(tunnelIdentifierReg.registerParser(mldpP2mpLspParser));
    regs.add(tunnelIdentifierReg.registerSerializer(mldpP2mpLspParser));
    final PimSsmTreeParser pimSsmTreeParser = new PimSsmTreeParser();
    regs.add(tunnelIdentifierReg.registerParser(pimSsmTreeParser));
    regs.add(tunnelIdentifierReg.registerSerializer(pimSsmTreeParser));
    final PimSmTreeParser pimSmTreeParser = new PimSmTreeParser();
    regs.add(tunnelIdentifierReg.registerParser(pimSmTreeParser));
    regs.add(tunnelIdentifierReg.registerSerializer(pimSmTreeParser));
    final BidirPimTreeParser bidirPimTreeParser = new BidirPimTreeParser();
    regs.add(tunnelIdentifierReg.registerParser(bidirPimTreeParser));
    regs.add(tunnelIdentifierReg.registerSerializer(bidirPimTreeParser));
    final IngressReplicationParser ingressReplicationParser = new IngressReplicationParser();
    regs.add(tunnelIdentifierReg.registerParser(ingressReplicationParser));
    regs.add(tunnelIdentifierReg.registerSerializer(ingressReplicationParser));
    final MldpMp2mpLspParser mldpMp2mpLspParser = new MldpMp2mpLspParser();
    regs.add(tunnelIdentifierReg.registerParser(mldpMp2mpLspParser));
    regs.add(tunnelIdentifierReg.registerSerializer(mldpMp2mpLspParser));
    regs.add(context.registerSubsequentAddressFamily(McastVpnSubsequentAddressFamily.class, MVPN_SAFI));
    final MvpnIpv4NlriHandler mvpnIpv4NlriHandler = new MvpnIpv4NlriHandler();
    final Ipv4NextHopParserSerializer ipv4NextHopParser = new Ipv4NextHopParserSerializer();
    regs.add(context.registerNlriParser(Ipv4AddressFamily.class, McastVpnSubsequentAddressFamily.class, mvpnIpv4NlriHandler, ipv4NextHopParser, Ipv4NextHopCase.class));
    regs.add(context.registerNlriSerializer(MvpnRoutesIpv4.class, mvpnIpv4NlriHandler));
    final MvpnIpv6NlriHandler mvpnIpv6NlriHandler = new MvpnIpv6NlriHandler();
    final Ipv6NextHopParserSerializer ipv6NextHopParser = new Ipv6NextHopParserSerializer();
    regs.add(context.registerNlriParser(Ipv6AddressFamily.class, McastVpnSubsequentAddressFamily.class, mvpnIpv6NlriHandler, ipv6NextHopParser, Ipv6NextHopCase.class));
    regs.add(context.registerNlriSerializer(MvpnRoutesIpv6.class, mvpnIpv6NlriHandler));
    final PEDistinguisherLabelsAttributeHandler peDistHandler = new PEDistinguisherLabelsAttributeHandler();
    regs.add(context.registerAttributeParser(peDistHandler.getType(), peDistHandler));
    regs.add(context.registerAttributeSerializer(peDistHandler.getClazz(), peDistHandler));
    final PMSITunnelAttributeHandler pmsiParser = new PMSITunnelAttributeHandler();
    regs.add(context.registerAttributeParser(pmsiParser.getType(), pmsiParser));
    regs.add(context.registerAttributeSerializer(pmsiParser.getClazz(), pmsiParser));
    return regs;
}
Also used : Ipv6AddressFamily(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.Ipv6AddressFamily) MvpnRoutesIpv4(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.ipv4.rev180417.mvpn.routes.ipv4.MvpnRoutesIpv4) Ipv6NextHopParserSerializer(org.opendaylight.protocol.bgp.inet.codec.nexthop.Ipv6NextHopParserSerializer) MldpMp2mpLspParser(org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.MldpMp2mpLspParser) Ipv4AddressFamily(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.Ipv4AddressFamily) ArrayList(java.util.ArrayList) BidirPimTreeParser(org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.BidirPimTreeParser) PimSsmTreeParser(org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.PimSsmTreeParser) Ipv4NextHopCase(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.next.hop.c.next.hop.Ipv4NextHopCase) Ipv6NextHopCase(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.next.hop.c.next.hop.Ipv6NextHopCase) MvpnRoutesIpv6(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.ipv6.rev180417.mvpn.routes.ipv6.MvpnRoutesIpv6) SimpleTunnelIdentifierRegistry(org.opendaylight.protocol.bgp.mvpn.spi.pojo.attributes.tunnel.identifier.SimpleTunnelIdentifierRegistry) PimSmTreeParser(org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.PimSmTreeParser) MvpnIpv6NlriHandler(org.opendaylight.protocol.bgp.mvpn.impl.nlri.MvpnIpv6NlriHandler) PMSITunnelAttributeHandler(org.opendaylight.protocol.bgp.mvpn.impl.attributes.PMSITunnelAttributeHandler) Registration(org.opendaylight.yangtools.concepts.Registration) McastVpnSubsequentAddressFamily(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev200120.McastVpnSubsequentAddressFamily) PEDistinguisherLabelsAttributeHandler(org.opendaylight.protocol.bgp.mvpn.impl.attributes.PEDistinguisherLabelsAttributeHandler) IngressReplicationParser(org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.IngressReplicationParser) MvpnIpv4NlriHandler(org.opendaylight.protocol.bgp.mvpn.impl.nlri.MvpnIpv4NlriHandler) RsvpTeP2MpLspParser(org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.RsvpTeP2MpLspParser) Ipv4NextHopParserSerializer(org.opendaylight.protocol.bgp.inet.codec.nexthop.Ipv4NextHopParserSerializer) MldpP2mpLspParser(org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.MldpP2mpLspParser)

Aggregations

ArrayList (java.util.ArrayList)1 Ipv4NextHopParserSerializer (org.opendaylight.protocol.bgp.inet.codec.nexthop.Ipv4NextHopParserSerializer)1 Ipv6NextHopParserSerializer (org.opendaylight.protocol.bgp.inet.codec.nexthop.Ipv6NextHopParserSerializer)1 PEDistinguisherLabelsAttributeHandler (org.opendaylight.protocol.bgp.mvpn.impl.attributes.PEDistinguisherLabelsAttributeHandler)1 PMSITunnelAttributeHandler (org.opendaylight.protocol.bgp.mvpn.impl.attributes.PMSITunnelAttributeHandler)1 BidirPimTreeParser (org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.BidirPimTreeParser)1 IngressReplicationParser (org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.IngressReplicationParser)1 MldpMp2mpLspParser (org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.MldpMp2mpLspParser)1 MldpP2mpLspParser (org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.MldpP2mpLspParser)1 PimSmTreeParser (org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.PimSmTreeParser)1 PimSsmTreeParser (org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.PimSsmTreeParser)1 RsvpTeP2MpLspParser (org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.RsvpTeP2MpLspParser)1 MvpnIpv4NlriHandler (org.opendaylight.protocol.bgp.mvpn.impl.nlri.MvpnIpv4NlriHandler)1 MvpnIpv6NlriHandler (org.opendaylight.protocol.bgp.mvpn.impl.nlri.MvpnIpv6NlriHandler)1 SimpleTunnelIdentifierRegistry (org.opendaylight.protocol.bgp.mvpn.spi.pojo.attributes.tunnel.identifier.SimpleTunnelIdentifierRegistry)1 MvpnRoutesIpv4 (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.ipv4.rev180417.mvpn.routes.ipv4.MvpnRoutesIpv4)1 MvpnRoutesIpv6 (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.ipv6.rev180417.mvpn.routes.ipv6.MvpnRoutesIpv6)1 McastVpnSubsequentAddressFamily (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev200120.McastVpnSubsequentAddressFamily)1 Ipv4AddressFamily (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.Ipv4AddressFamily)1 Ipv6AddressFamily (org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.Ipv6AddressFamily)1