2 * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others. 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
8 package org.opendaylight.genius.itm.api;
10 import java.util.Collection;
11 import java.util.List;
13 import java.util.Optional;
14 import org.opendaylight.mdsal.binding.api.DataBroker;
15 import org.opendaylight.mdsal.common.api.ReadFailedException;
16 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
17 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.tunnels_state.StateTunnelList;
20 import org.opendaylight.yangtools.yang.common.Uint64;
22 public interface IITMProvider {
24 void createLocalCache(Uint64 dpnId, String portName, Integer vlanId, String ipAddress, String subnetMask,
25 String gatewayIp, String transportZone);
29 DataBroker getDataBroker();
31 List<String> showTeps();
33 void showState(Collection<StateTunnelList> tunnels);
35 void showBridges(Map dpnIdBridgeRefMap);
37 void showCache(String cacheName);
39 void deleteVtep(Uint64 dpnId, String portName, Integer vlanId, String ipAddress, String subnetMask,
40 String gatewayIp, String transportZone);
42 void configureTunnelType(String transportZone, String tunnelType);
44 void configureTunnelMonitorParams(boolean monitorEnabled, String monitorProtocol);
46 void configureTunnelMonitorInterval(int interval);
48 void addExternalEndpoint(java.lang.Class<? extends TunnelTypeBase> tunType, IpAddress dcgwIP);
50 void remExternalEndpoint(java.lang.Class<? extends TunnelTypeBase> tunType, IpAddress dcgwIP);
52 boolean validateIP(String ip);
54 Interface getInterface(String tunnelName);
56 Optional<StateTunnelList> getTunnelState(String interfaceName) throws ReadFailedException;