b79b298247f20b8f58e7aaff800ad423c3907434
[bgpcep.git] / bgp / extensions / evpn / src / main / java / org / opendaylight / protocol / bgp / evpn / impl / nlri / NlriActivator.java
1 /*
2  * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.protocol.bgp.evpn.impl.nlri;
9
10 import java.util.List;
11 import org.opendaylight.protocol.bgp.evpn.spi.pojo.SimpleEvpnNlriRegistry;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.es.route.EsRoute;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.ethernet.a.d.route.EthernetADRoute;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.evpn.evpn.choice.EsRouteCase;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.evpn.evpn.choice.EthernetADRouteCase;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.evpn.evpn.choice.IncMultiEthernetTagResCase;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.evpn.evpn.choice.MacIpAdvRouteCase;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.inc.multi.ethernet.tag.res.IncMultiEthernetTagRes;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev180329.mac.ip.adv.route.MacIpAdvRoute;
20 import org.opendaylight.yangtools.concepts.Registration;
21
22 public final class NlriActivator {
23     private NlriActivator() {
24         // Hidden on purpose
25     }
26
27     public static void registerNlriParsers(final List<Registration> regs) {
28         final SimpleEvpnNlriRegistry evpnNlriRegistry = SimpleEvpnNlriRegistry.getInstance();
29
30         final EthADRParser ethADR = new EthADRParser();
31         regs.add(evpnNlriRegistry.registerNlriParser(ethADR.getType(), ethADR));
32         regs.add(evpnNlriRegistry.registerNlriSerializer(EthernetADRouteCase.class, ethADR));
33         regs.add(evpnNlriRegistry.registerNlriModelSerializer(EthernetADRoute.QNAME, ethADR));
34
35         final MACIpAdvRParser macIpAR = new MACIpAdvRParser();
36         regs.add(evpnNlriRegistry.registerNlriParser(macIpAR.getType(), macIpAR));
37         regs.add(evpnNlriRegistry.registerNlriSerializer(MacIpAdvRouteCase.class, macIpAR));
38         regs.add(evpnNlriRegistry.registerNlriModelSerializer(MacIpAdvRoute.QNAME, macIpAR));
39
40         final IncMultEthTagRParser incMultETR = new IncMultEthTagRParser();
41         regs.add(evpnNlriRegistry.registerNlriParser(incMultETR.getType(), incMultETR));
42         regs.add(evpnNlriRegistry.registerNlriSerializer(IncMultiEthernetTagResCase.class, incMultETR));
43         regs.add(evpnNlriRegistry.registerNlriModelSerializer(IncMultiEthernetTagRes.QNAME, incMultETR));
44
45         final EthSegRParser ethSR = new EthSegRParser();
46         regs.add(evpnNlriRegistry.registerNlriParser(ethSR.getType(), ethSR));
47         regs.add(evpnNlriRegistry.registerNlriSerializer(EsRouteCase.class, ethSR));
48         regs.add(evpnNlriRegistry.registerNlriModelSerializer(EsRoute.QNAME, ethSR));
49     }
50 }