0bd6f6ad2fc86f661a3ad5c12cf03475a5daa407
[bgpcep.git] / bgp / evpn / src / main / java / org / opendaylight / protocol / bgp / evpn / impl / attributes / tunnel / identifier / TunnelType.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
9 package org.opendaylight.protocol.bgp.evpn.impl.attributes.tunnel.identifier;
10
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pmsi.tunnel.rev160812.pmsi.tunnel.pmsi.tunnel.TunnelIdentifier;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pmsi.tunnel.rev160812.pmsi.tunnel.pmsi.tunnel.tunnel.identifier.BidirPimTree;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pmsi.tunnel.rev160812.pmsi.tunnel.pmsi.tunnel.tunnel.identifier.IngressReplication;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pmsi.tunnel.rev160812.pmsi.tunnel.pmsi.tunnel.tunnel.identifier.MldpMp2mpLsp;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pmsi.tunnel.rev160812.pmsi.tunnel.pmsi.tunnel.tunnel.identifier.MldpP2mpLsp;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pmsi.tunnel.rev160812.pmsi.tunnel.pmsi.tunnel.tunnel.identifier.PimSmTree;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pmsi.tunnel.rev160812.pmsi.tunnel.pmsi.tunnel.tunnel.identifier.PimSsmTree;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pmsi.tunnel.rev160812.pmsi.tunnel.pmsi.tunnel.tunnel.identifier.RsvpTeP2mpLsp;
19
20
21 enum TunnelType {
22     RSVP_TE_P2MP_LSP(1, RsvpTeP2mpLsp.class),
23     MLDP_P2MP_LSP(2, MldpP2mpLsp.class),
24     PIM_SSM_TREE(3, PimSsmTree.class),
25     PIM_SM_TREE(4, PimSmTree.class),
26     BIDIR_PIM_TREE(5, BidirPimTree.class),
27     INGRESS_REPLICATION(6, IngressReplication.class),
28     M_LDP_MP_2_MP_LSP(7, MldpMp2mpLsp.class);
29
30     final Class<? extends TunnelIdentifier> clazz;
31     final int value;
32
33     TunnelType(final int value, final Class<? extends TunnelIdentifier> clazz) {
34         this.value = value;
35         this.clazz = clazz;
36     }
37
38     public Class<? extends TunnelIdentifier> getClazz() {
39         return this.clazz;
40     }
41
42     public int getIntValue() {
43         return this.value;
44     }
45 }