3 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
5 * This program and the accompanying materials are made available under the
6 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
7 * and is available at http://www.eclipse.org/legal/epl-v10.html
10 package org.opendaylight.controller.sal.routing;
14 import org.opendaylight.controller.sal.core.Edge;
15 import org.opendaylight.controller.sal.core.Node;
16 import org.opendaylight.controller.sal.core.Path;
19 * This interface provides APIs to manage and query the routing information
22 public interface IRouting {
25 * Returns a Path leading from the source to the destination
26 * @param src: source Node
27 * @param dst: destination Node
30 public Path getRoute(Node src, Node dst);
33 * Returns a Max ThroughPut Path leading from the source to the destination
34 * @param src: source Node
35 * @param dst: destination Node
38 public Path getMaxThroughputRoute(Node src, Node dst);
41 * Returns a Path leading from the source to the destination that meets the specified bandwidth
42 * @param src: source Node
43 * @param dst: destination Node
44 * @param Bw: bandwidth
47 public Path getRoute(Node src, Node dst, Short Bw);
50 * Remove all routes and reset all state. USE CAREFULLY!
55 * Remove all Max Throughput Routes and reset all state. USE CAREFULLY!
57 public void clearMaxThroughput();
60 * Initialization For Max Throughput
61 * @param EdgeWeightMap: Map containing Edge and Corresponding
62 * Weight. Optional Param - if null, implementation specific weight
63 * calculation will be used.
65 public void initMaxThroughput(Map<Edge, Number> EdgeWeightMap);