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;
21 import org.onlab.packet.IpAddress;
22 import org.onosproject.net.DeviceId;
23 import org.onosproject.net.behaviour.ControllerInfo;
24 import org.onosproject.ovsdb.controller.OvsdbBridge;
25 import org.onosproject.ovsdb.controller.OvsdbClientService;
26 import org.onosproject.ovsdb.controller.OvsdbNodeId;
27 import org.onosproject.ovsdb.controller.OvsdbPort;
28 import org.onosproject.ovsdb.controller.OvsdbTunnel;
29 import org.onosproject.ovsdb.rfc.message.OperationResult;
30 import org.onosproject.ovsdb.rfc.message.TableUpdates;
31 import org.onosproject.ovsdb.rfc.notation.Row;
32 import org.onosproject.ovsdb.rfc.notation.UUID;
33 import org.onosproject.ovsdb.rfc.operations.Operation;
34 import org.onosproject.ovsdb.rfc.schema.DatabaseSchema;
36 import java.util.List;
41 * Test Adapter for OvsdbClientService.
43 public class OvsdbClientServiceAdapter implements OvsdbClientService {
46 public OvsdbNodeId nodeId() {
51 public void createTunnel(IpAddress srcIp, IpAddress dstIp) {
56 public boolean createTunnel(String bridgeName, String portName, String tunnelType, Map<String, String> options) {
61 public void dropTunnel(IpAddress srcIp, IpAddress dstIp) {
66 public Set<OvsdbTunnel> getTunnels() {
71 public void createBridge(String bridgeName) {
76 public boolean createBridge(String bridgeName, String dpid, List<ControllerInfo> controllers) {
81 public void dropBridge(String bridgeName) {
86 public Set<OvsdbBridge> getBridges() {
91 public Set<ControllerInfo> getControllers(DeviceId openflowDeviceId) {
96 public void setControllersWithUUID(UUID bridgeUuid, List<ControllerInfo> controllers) {
101 public void setControllersWithDeviceId(DeviceId deviceId, List<ControllerInfo> controllers) {
106 public void createPort(String bridgeName, String portName) {
111 public void dropPort(String bridgeName, String portName) {
116 public Set<OvsdbPort> getPorts() {
121 public boolean isConnected() {
126 public String getBridgeUuid(String bridgeName) {
131 public String getPortUuid(String portName, String bridgeUuid) {
136 public String getInterfaceUuid(String portUuid, String portName) {
141 public String getControllerUuid(String controllerName, String controllerTarget) {
146 public String getOvsUuid(String dbName) {
151 public ListenableFuture<DatabaseSchema> getOvsdbSchema(String dbName) {
156 public ListenableFuture<TableUpdates> monitorTables(String dbName, String id) {
161 public ListenableFuture<List<OperationResult>> transactConfig(String dbName, List<Operation> operations) {
166 public DatabaseSchema getDatabaseSchema(String dbName) {
171 public Row getRow(String dbName, String tableName, String uuid) {
176 public void removeRow(String dbName, String tableName, String uuid) {
181 public void updateOvsdbStore(String dbName, String tableName, String uuid, Row row) {
186 public Set<OvsdbPort> getLocalPorts(Iterable<String> ifaceids) {
191 public void disconnect() {
196 public ListenableFuture<JsonNode> getSchema(List<String> dbnames) {
201 public ListenableFuture<List<String>> echo() {
206 public ListenableFuture<JsonNode> monitor(DatabaseSchema dbSchema, String monitorId) {
211 public ListenableFuture<List<String>> listDbs() {
216 public ListenableFuture<List<JsonNode>> transact(DatabaseSchema dbSchema, List<Operation> operations) {