ELAN FT Support for BE
[vpnservice.git] / elanmanager / elanmanager-api / src / main / java / org / opendaylight / elanmanager / api / IElanService.java
1 /*
2  * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. 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.elanmanager.api;
10
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.elan.rev150602.elan.instances.ElanInstance;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.elan.rev150602.forwarding.entries.MacEntry;
13 import org.opendaylight.elanmanager.exceptions.MacNotFoundException;
14
15 import java.util.Collection;
16 import java.util.List;
17
18 public interface IElanService {
19     public boolean createElanInstance(String elanInstanceName, long MacTimeout, String description);
20     public void updateElanInstance(String elanInstanceName, long newMacTimout, String newDescription);
21     public boolean deleteElanInstance(String elanInstanceName);
22
23     public void addElanInterface(String elanInstanceName, String interfaceName, List<String> staticMacAddresses, String description);
24     public void updateElanInterface(String elanInstanceName, String interfaceName, List<String> updatedStaticMacAddresses, String newDescription);
25     public void deleteElanInterface(String elanInstanceName, String interfaceName);
26
27     public void addStaticMacAddress(String elanInstanceName, String interfaceName, String macAddress);
28     public void deleteStaticMacAddress(String elanInstanceName, String interfaceName, String macAddress) throws MacNotFoundException;
29     public Collection<MacEntry> getElanMacTable(String elanInstanceName);
30     public void flushMACTable(String elanInstanceName);
31     public ElanInstance getElanInstance(String elanInstanceName);
32     public List<ElanInstance> getElanInstances();
33     public List<String> getElanInterfaces(String elanInstanceName);
34
35 }