package org.opendaylight.ovsdb.southbound;
import com.google.common.collect.ImmutableBiMap;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Uri;
+import com.google.common.collect.ImmutableCollection;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.DatapathTypeBase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.DatapathTypeNetdev;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.DatapathTypeSystem;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;
public class SouthboundConstants {
+
+ private SouthboundConstants() { }
+
public static final String OPEN_V_SWITCH = "Open_vSwitch";
public static final TopologyId OVSDB_TOPOLOGY_ID = new TopologyId(new Uri("ovsdb:1"));
public static final String OVSDB_URI_PREFIX = "ovsdb";
.put(DatapathTypeSystem.class,"system")
.put(DatapathTypeNetdev.class,"netdev")
.build();
+
public static final String IID_EXTERNAL_ID_KEY = "opendaylight-iid";
+ public static final String QOS_ID_EXTERNAL_ID_KEY = "opendaylight-qos-id";
+ public static final String QUEUE_ID_EXTERNAL_ID_KEY = "opendaylight-queue-id";
public static final String AUTOATTACH_ID_EXTERNAL_ID_KEY = "opendaylight-autoattach-id";
+ static final ImmutableCollection<String> SKIP_OVSDB_TABLE = new ImmutableSet.Builder<String>()
+ .add("Flow_Table")
+ .add("Mirror")
+ .add("NetFlow")
+ .add("sFlow")
+ .add("IPFIX")
+ .add("Flow_Sample_Collector_Set")
+ .build();
+
+ //Note: _version is an internal column of ovsdb schema, that gets updated
+ //with every change in the row of the table.
+ // The "Manager" entry needs to be a modifiable list, SouthboundProvider::setSkipManagerStatus() modifies it
+ static final ImmutableMap<String,List<String>> SKIP_COLUMN_FROM_TABLE
+ = new ImmutableMap.Builder<String,List<String>>()
+ .put("Open_vSwitch", Arrays.asList("statistics","_version"))
+ .put("Port", Arrays.asList("statistics","_version"))
+ .put("Manager", new ArrayList<>(Collections.singletonList("_version")))
+ .put("SSL", Collections.singletonList("_version"))
+ .put("QoS", Collections.singletonList("_version"))
+ .put("Queue", Collections.singletonList("_version"))
+ .put("Bridge", Collections.singletonList("_version"))
+ .put("Interface", Arrays.asList("statistics","_version"))
+ .put("Controller", Arrays.asList("status","_version"))
+ .build();
+
public enum VlanModes {
ACCESS("access"),
NATIVE_TAGGED("native-tagged"),