2 * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.protocol.bgp.mvpn.impl;
11 import java.util.List;
12 import org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.BidirPimTreeParser;
13 import org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.IngressReplicationParser;
14 import org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.MldpMp2mpLspParser;
15 import org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.MldpP2mpLspParser;
16 import org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.PimSmTreeParser;
17 import org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.PimSsmTreeParser;
18 import org.opendaylight.protocol.bgp.mvpn.impl.attributes.tunnel.identifier.RsvpTeP2MpLspParser;
19 import org.opendaylight.protocol.bgp.mvpn.spi.pojo.attributes.tunnel.identifier.SimpleTunnelIdentifierRegistry;
20 import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderContext;
23 * Tunnel Identifier PMSI handlers Activator.
25 * @author Claudio D. Gasparini
27 final class TunnelIdentifierActivator {
28 private TunnelIdentifierActivator() {
29 throw new UnsupportedOperationException();
32 static void registerTunnelIdentifierHandlers(
33 final BGPExtensionProviderContext context,
34 final List<AutoCloseable> regs) {
35 final SimpleTunnelIdentifierRegistry tunnelIdentifierReg = SimpleTunnelIdentifierRegistry.getInstance();
37 final RsvpTeP2MpLspParser rsvpTeP2MpLspParser = new RsvpTeP2MpLspParser();
38 regs.add(tunnelIdentifierReg.registerParser(rsvpTeP2MpLspParser));
39 regs.add(tunnelIdentifierReg.registerSerializer(rsvpTeP2MpLspParser));
41 final MldpP2mpLspParser mldpP2mpLspParser = new MldpP2mpLspParser(context.getAddressFamilyRegistry());
42 regs.add(tunnelIdentifierReg.registerParser(mldpP2mpLspParser));
43 regs.add(tunnelIdentifierReg.registerSerializer(mldpP2mpLspParser));
45 final PimSsmTreeParser pimSsmTreeParser = new PimSsmTreeParser();
46 regs.add(tunnelIdentifierReg.registerParser(pimSsmTreeParser));
47 regs.add(tunnelIdentifierReg.registerSerializer(pimSsmTreeParser));
49 final PimSmTreeParser pimSmTreeParser = new PimSmTreeParser();
50 regs.add(tunnelIdentifierReg.registerParser(pimSmTreeParser));
51 regs.add(tunnelIdentifierReg.registerSerializer(pimSmTreeParser));
53 final BidirPimTreeParser bidirPimTreeParser = new BidirPimTreeParser();
54 regs.add(tunnelIdentifierReg.registerParser(bidirPimTreeParser));
55 regs.add(tunnelIdentifierReg.registerSerializer(bidirPimTreeParser));
57 final IngressReplicationParser ingressReplicationParser = new IngressReplicationParser();
58 regs.add(tunnelIdentifierReg.registerParser(ingressReplicationParser));
59 regs.add(tunnelIdentifierReg.registerSerializer(ingressReplicationParser));
61 final MldpMp2mpLspParser mldpMp2mpLspParser = new MldpMp2mpLspParser();
62 regs.add(tunnelIdentifierReg.registerParser(mldpMp2mpLspParser));
63 regs.add(tunnelIdentifierReg.registerSerializer(mldpMp2mpLspParser));