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;
40 * Test Adapter for OvsdbClientService.
42 public class OvsdbClientServiceAdapter implements OvsdbClientService {
45 public OvsdbNodeId nodeId() {
50 public void createTunnel(IpAddress srcIp, IpAddress dstIp) {
55 public void dropTunnel(IpAddress srcIp, IpAddress dstIp) {
60 public Set<OvsdbTunnel> getTunnels() {
65 public void createBridge(String bridgeName) {
70 public void dropBridge(String bridgeName) {
75 public Set<OvsdbBridge> getBridges() {
80 public Set<ControllerInfo> getControllers(DeviceId openflowDeviceId) {
85 public void setControllersWithUUID(UUID bridgeUuid, List<ControllerInfo> controllers) {
90 public void setControllersWithDeviceId(DeviceId deviceId, List<ControllerInfo> controllers) {
95 public void createPort(String bridgeName, String portName) {
100 public void dropPort(String bridgeName, String portName) {
105 public Set<OvsdbPort> getPorts() {
110 public boolean isConnected() {
115 public String getBridgeUuid(String bridgeName) {
120 public String getPortUuid(String portName, String bridgeUuid) {
125 public String getInterfaceUuid(String portUuid, String portName) {
130 public String getControllerUuid(String controllerName, String controllerTarget) {
135 public String getOvsUuid(String dbName) {
140 public ListenableFuture<DatabaseSchema> getOvsdbSchema(String dbName) {
145 public ListenableFuture<TableUpdates> monitorTables(String dbName, String id) {
150 public ListenableFuture<List<OperationResult>> transactConfig(String dbName, List<Operation> operations) {
155 public DatabaseSchema getDatabaseSchema(String dbName) {
160 public Row getRow(String dbName, String tableName, String uuid) {
165 public void removeRow(String dbName, String tableName, String uuid) {
170 public void updateOvsdbStore(String dbName, String tableName, String uuid, Row row) {
175 public Set<OvsdbPort> getLocalPorts(Iterable<String> ifaceids) {
180 public void disconnect() {
185 public ListenableFuture<JsonNode> getSchema(List<String> dbnames) {
190 public ListenableFuture<List<String>> echo() {
195 public ListenableFuture<JsonNode> monitor(DatabaseSchema dbSchema, String monitorId) {
200 public ListenableFuture<List<String>> listDbs() {
205 public ListenableFuture<List<JsonNode>> transact(DatabaseSchema dbSchema, List<Operation> operations) {