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.netvirt.elanmanager.api;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances.ElanInstance;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.forwarding.entries.MacEntry;
13 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
14 import org.opendaylight.netvirt.elanmanager.exceptions.MacNotFoundException;
16 import java.util.Collection;
17 import java.util.List;
19 public interface IElanService {
20 boolean createElanInstance(String elanInstanceName, long MacTimeout, String description);
21 void updateElanInstance(String elanInstanceName, long newMacTimout, String newDescription);
22 boolean deleteElanInstance(String elanInstanceName);
24 void addElanInterface(String elanInstanceName, String interfaceName, List<String> staticMacAddresses,
26 void updateElanInterface(String elanInstanceName, String interfaceName, List<String> updatedStaticMacAddresses,
27 String newDescription);
28 void deleteElanInterface(String elanInstanceName, String interfaceName);
30 void addStaticMacAddress(String elanInstanceName, String interfaceName, String macAddress);
31 void deleteStaticMacAddress(String elanInstanceName, String interfaceName, String macAddress) throws MacNotFoundException;
32 Collection<MacEntry> getElanMacTable(String elanInstanceName);
33 void flushMACTable(String elanInstanceName);
34 ElanInstance getElanInstance(String elanInstanceName);
35 List<ElanInstance> getElanInstances();
36 List<String> getElanInterfaces(String elanInstanceName);
38 void createExternalElanNetwork(ElanInstance elanInstance);
40 void createExternalElanNetworks(Node node);