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;
18 public interface IRouting {
21 * Returns a Path leading from the source to the destination
22 * @param src: source Node
23 * @param dst: destination Node
26 public Path getRoute(Node src, Node dst);
29 * Returns a Max ThroughPut Path leading from the source to the destination
30 * @param src: source Node
31 * @param dst: destination Node
34 public Path getMaxThroughputRoute(Node src, Node dst);
37 * Returns a Path leading from the source to the destination that meets the specified bandwidth
38 * @param src: source Node
39 * @param dst: destination Node
40 * @param Bw: bandwidth
43 public Path getRoute(Node src, Node dst, Short Bw);
46 * Remove all routes and reset all state. USE CAREFULLY!
51 * Remove all Max Throughput Routes and reset all state. USE CAREFULLY!
53 public void clearMaxThroughput();
56 * Initialization For Max Throughput
57 * @param EdgeWeightMap: Map containing Edge and Corresponding
58 * Weight. Optional Param - if null, implementation specific weight
59 * calculation will be used.
61 public void initMaxThroughput(Map<Edge, Number> EdgeWeightMap);