2 * Copyright (c) 2014, 2015 Red Hat, Inc. 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.ovsdb.openstack.netvirt.providers.openflow13;
11 import java.util.List;
13 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
14 import org.osgi.framework.ServiceReference;
17 * A PipelineOrchestrator provides the necessary orchestration logic to allow multiple network services
18 * to share a common OpenFlow 1.3 based multi-table pipeline.
21 * @author Madhu Venugopal
23 public interface PipelineOrchestrator {
24 Service getNextServiceInPipeline(Service service);
25 AbstractServiceInstance getServiceInstance(Service service);
26 Map<Service, AbstractServiceInstance> getServiceRegistry();
27 short getTableOffset();
28 short getTable(Service service);
29 List<Service> getStaticPipeline();
30 void enqueue(Node node);
31 void registerService(final ServiceReference ref, AbstractServiceInstance serviceInstance);
32 void unregisterService(final ServiceReference ref);