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
23 public interface IRouting {
26 * Returns a Path leading from the source to the destination
29 * source {@link org.opendaylight.controller.sal.core.Node}
33 * {@link org.opendaylight.controller.sal.core.Node}
34 * @return: the {@link org.opendaylight.controller.sal.core.Path}
36 public Path getRoute(Node src, Node dst);
39 * Returns a Max ThroughPut Path leading from the source to the destination
42 * source {@link org.opendaylight.controller.sal.core.Node}
46 * {@link org.opendaylight.controller.sal.core.Node}
47 * @return: the max throughput {@link org.opendaylight.controller.sal.core.Path}
49 public Path getMaxThroughputRoute(Node src, Node dst);
52 * Returns a Path leading from the source to the destination that meets the
56 * source {@link org.opendaylight.controller.sal.core.Node}
59 * destination {@link org.opendaylight.controller.sal.core.Node}
62 * @return: the {@link org.opendaylight.controller.sal.core.Path}
64 public Path getRoute(Node src, Node dst, Short Bw);
67 * Remove all routes and reset all state. USE CAREFULLY!
72 * Remove all Max Throughput Routes and reset all state. USE CAREFULLY!
74 public void clearMaxThroughput();
77 * Initialization For Max Throughput
79 * @param EdgeWeightMap
81 * {@link org.opendaylight.controller.sal.core.Edge} and
82 * Corresponding Weight. Optional Param - if null, implementation
83 * specific weight calculation will be used.
85 public void initMaxThroughput(Map<Edge, Number> EdgeWeightMap);