Add batch insert/delete queues to QoS for QosConfigBehaviour.
Change-Id: I9331f4ecbc95fc47be313f92aa07413fb2df5ed8
diff --git a/drivers/ovsdb/src/main/java/org/onosproject/drivers/ovsdb/OvsdbQosConfig.java b/drivers/ovsdb/src/main/java/org/onosproject/drivers/ovsdb/OvsdbQosConfig.java
index bc60fd2..27f6954 100644
--- a/drivers/ovsdb/src/main/java/org/onosproject/drivers/ovsdb/OvsdbQosConfig.java
+++ b/drivers/ovsdb/src/main/java/org/onosproject/drivers/ovsdb/OvsdbQosConfig.java
@@ -23,6 +23,7 @@
import org.onosproject.net.behaviour.QosConfigBehaviour;
import org.onosproject.net.behaviour.QosDescription;
import org.onosproject.net.behaviour.QosId;
+import org.onosproject.net.behaviour.QueueDescription;
import org.onosproject.net.driver.AbstractHandlerBehaviour;
import org.onosproject.net.driver.DriverHandler;
import org.onosproject.ovsdb.controller.OvsdbClientService;
@@ -32,6 +33,8 @@
import org.slf4j.Logger;
import java.util.Collection;
+import java.util.List;
+import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
@@ -117,6 +120,18 @@
ovsdbClient.dropQos(qosId);
}
+ @Override
+ public void insertQueues(QosId qosId, Map<Long, QueueDescription> queues) {
+ OvsdbClientService ovsdbClient = getOvsdbClient(handler());
+ ovsdbClient.bindQueues(qosId, queues);
+ }
+
+ @Override
+ public void deleteQueues(QosId qosId, List<Long> queueKeys) {
+ OvsdbClientService ovsdbClient = getOvsdbClient(handler());
+ ovsdbClient.unbindQueues(qosId, queueKeys);
+ }
+
// OvsdbNodeId(IP) is used in the adaptor while DeviceId(ovsdb:IP)
// is used in the core. So DeviceId need be changed to OvsdbNodeId.
private OvsdbNodeId changeDeviceIdToNodeId(DeviceId deviceId) {