2 * Copyright 2015 Open Networking Laboratory
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org.onosproject.ovsdb.controller.driver;
19 import com.fasterxml.jackson.databind.JsonNode;
20 import com.google.common.util.concurrent.ListenableFuture;
22 import org.onlab.packet.IpAddress;
23 import org.onosproject.net.DeviceId;
24 import org.onosproject.net.behaviour.ControllerInfo;
25 import org.onosproject.ovsdb.controller.OvsdbBridge;
26 import org.onosproject.ovsdb.controller.OvsdbClientService;
27 import org.onosproject.ovsdb.controller.OvsdbNodeId;
28 import org.onosproject.ovsdb.controller.OvsdbPort;
29 import org.onosproject.ovsdb.controller.OvsdbTunnel;
30 import org.onosproject.ovsdb.rfc.message.OperationResult;
31 import org.onosproject.ovsdb.rfc.message.TableUpdates;
32 import org.onosproject.ovsdb.rfc.notation.Row;
33 import org.onosproject.ovsdb.rfc.notation.UUID;
34 import org.onosproject.ovsdb.rfc.operations.Operation;
35 import org.onosproject.ovsdb.rfc.schema.DatabaseSchema;
37 import java.util.List;
42 * Test Adapter for OvsdbClientService.
44 public class OvsdbClientServiceAdapter implements OvsdbClientService {
47 public OvsdbNodeId nodeId() {
52 public void createTunnel(IpAddress srcIp, IpAddress dstIp) {
57 public boolean createTunnel(String bridgeName, String portName, String tunnelType, Map<String, String> options) {
62 public void dropTunnel(IpAddress srcIp, IpAddress dstIp) {
67 public Set<OvsdbTunnel> getTunnels() {
72 public void createBridge(String bridgeName) {
77 public boolean createBridge(String bridgeName, String dpid, List<ControllerInfo> controllers) {
82 public void dropBridge(String bridgeName) {
87 public Set<OvsdbBridge> getBridges() {
92 public Set<ControllerInfo> getControllers(DeviceId openflowDeviceId) {
97 public void setControllersWithUUID(UUID bridgeUuid, List<ControllerInfo> controllers) {
102 public void setControllersWithDeviceId(DeviceId deviceId, List<ControllerInfo> controllers) {
107 public void createPort(String bridgeName, String portName) {
112 public void dropPort(String bridgeName, String portName) {
117 public Set<OvsdbPort> getPorts() {
122 public boolean isConnected() {
127 public String getBridgeUuid(String bridgeName) {
132 public String getPortUuid(String portName, String bridgeUuid) {
137 public String getInterfaceUuid(String portUuid, String portName) {
142 public String getControllerUuid(String controllerName, String controllerTarget) {
147 public String getOvsUuid(String dbName) {
152 public ListenableFuture<DatabaseSchema> getOvsdbSchema(String dbName) {
157 public ListenableFuture<TableUpdates> monitorTables(String dbName, String id) {
162 public ListenableFuture<List<OperationResult>> transactConfig(String dbName, List<Operation> operations) {
167 public DatabaseSchema getDatabaseSchema(String dbName) {
172 public Row getRow(String dbName, String tableName, String uuid) {
177 public void removeRow(String dbName, String tableName, String uuid) {
182 public void updateOvsdbStore(String dbName, String tableName, String uuid, Row row) {
187 public Set<OvsdbPort> getLocalPorts(Iterable<String> ifaceids) {
192 public void disconnect() {
197 public ListenableFuture<JsonNode> getSchema(List<String> dbnames) {
202 public ListenableFuture<List<String>> echo() {
207 public ListenableFuture<JsonNode> monitor(DatabaseSchema dbSchema, String monitorId) {
212 public ListenableFuture<List<String>> listDbs() {
217 public ListenableFuture<List<JsonNode>> transact(DatabaseSchema dbSchema, List<Operation> operations) {
222 public void createBridge(String bridgeName, String dpid, String exPortName) {