Merge "Changed lookup of Controller IP to the following: - Start with OVSDB config...
[netvirt.git] / neutron / src / main / java / org / opendaylight / ovsdb / neutron / provider / ProviderNetworkManager.java
1 /*
2  * Copyright (C) 2013 Red Hat, Inc.
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  * Authors : Madhu Venugopal, Brent Salisbury
9  */
10 package org.opendaylight.ovsdb.neutron.provider;
11
12 import org.opendaylight.controller.sal.core.Node;
13 import org.opendaylight.controller.sal.utils.Status;
14 import org.opendaylight.ovsdb.lib.table.Interface;
15 import org.slf4j.Logger;
16 import org.slf4j.LoggerFactory;
17
18 public abstract class ProviderNetworkManager {
19     static final Logger logger = LoggerFactory.getLogger(ProviderNetworkManager.class);
20     private static ProviderNetworkManager provider;
21
22     public static ProviderNetworkManager getManager() {
23         if (provider != null) return provider;
24         if (System.getProperty("OF1.3_Provider") != null) {
25             provider = new OF13ProviderManager();
26         } else {
27             provider = new OF10ProviderManager();
28         }
29         return provider;
30     }
31
32     public abstract boolean hasPerTenantTunneling();
33     public abstract Status createTunnels(String tunnelType, String tunnelKey);
34     public abstract Status createTunnels(String tunnelType, String tunnelKey, Node source, Interface intf);
35 }