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
9 package org.opendaylight.elanmanager.api;
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;
15 import java.util.Collection;
16 import java.util.List;
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);
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);
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);