Partially reverting BGP Route policy distribution and flow spec
commit: 46f36d24bc98c621aa2c97468cdc668d7e1130bc

This added a dependency on an application from drivers; this is
not allowed. This driver will need to be implemented by the
application.

Change-Id: I24263ea2c79d5c5dda5459ecc412e27ff13a9c42
diff --git a/drivers/default/BUCK b/drivers/default/BUCK
index cc06a12..f132524 100644
--- a/drivers/default/BUCK
+++ b/drivers/default/BUCK
@@ -4,7 +4,6 @@
     '//drivers/utilities:onos-drivers-utilities',
     '//protocols/openflow/api:onos-protocols-openflow-api',
     '//core/store/serializers:onos-core-serializers',
-    '//apps/bgpflowspec/flowapi:onos-apps-bgpflowspec-flowapi',
 ]
 
 TEST_DEPS = [
@@ -29,6 +28,5 @@
         ':onos-drivers-default',
         '//lib:openflowj',
         '//protocols/openflow/api:onos-protocols-openflow-api',
-        '//apps/bgpflowspec/flowapi:onos-apps-bgpflowspec-flowapi',
     ]
 )
diff --git a/drivers/default/pom.xml b/drivers/default/pom.xml
index faed715..73afd90 100644
--- a/drivers/default/pom.xml
+++ b/drivers/default/pom.xml
@@ -44,11 +44,6 @@
         </dependency>
         <dependency>
             <groupId>org.onosproject</groupId>
-            <artifactId>onos-app-bgp-flowapi</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.onosproject</groupId>
             <artifactId>openflowj</artifactId>
         </dependency>
     </dependencies>
diff --git a/drivers/default/src/main/java/org/onosproject/driver/extensions/ExtMatchExtension.java b/drivers/default/src/main/java/org/onosproject/driver/extensions/ExtMatchExtension.java
deleted file mode 100755
index 79aa947..0000000
--- a/drivers/default/src/main/java/org/onosproject/driver/extensions/ExtMatchExtension.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.driver.extensions;
-
-import org.onlab.util.KryoNamespace;
-import org.onosproject.flowapi.ExtFlowContainer;
-import org.onosproject.net.flow.AbstractExtension;
-import org.onosproject.net.flow.criteria.ExtensionSelector;
-import org.onosproject.net.flow.criteria.ExtensionSelectorType;
-import java.util.Objects;
-
-import static com.google.common.base.MoreObjects.toStringHelper;
-
-/**
- * Implementation of extension selector for multi value.
- */
-public final class ExtMatchExtension extends AbstractExtension implements ExtensionSelector  {
-    private ExtFlowContainer container;
-
-    private final KryoNamespace appKryo = new KryoNamespace.Builder().register(ExtMatchExtension.class).build();
-
-    /**
-     * Creates an object of ExtMatchExtension.
-     */
-    public ExtMatchExtension() {
-        this.container = null;
-    }
-
-    /**
-     * Returns the container.
-     *
-     * @return the container to match
-     */
-    public ExtFlowContainer container() {
-        return container;
-    }
-
-    @Override
-    public ExtensionSelectorType type() {
-        return ExtensionSelectorType.ExtensionSelectorTypes.EXT_MATCH_FLOW_TYPE.type();
-    }
-
-    @Override
-    public byte[] serialize() {
-        return appKryo.serialize(container);
-    }
-
-    @Override
-    public void deserialize(byte[] data) {
-        container = ExtFlowContainer.of(appKryo.deserialize(data));
-    }
-
-    @Override
-    public String toString() {
-        return toStringHelper(type().toString())
-                .add("container", container)
-                .toString();
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(type(), container);
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj instanceof ExtMatchExtension) {
-            ExtMatchExtension that = (ExtMatchExtension) obj;
-            return Objects.equals(container, that.container) &&
-                    Objects.equals(this.type(), that.type());
-        }
-        return false;
-    }
-}
diff --git a/drivers/default/src/main/java/org/onosproject/driver/extensions/MultiExtensionSelectorInterpreter.java b/drivers/default/src/main/java/org/onosproject/driver/extensions/MultiExtensionSelectorInterpreter.java
deleted file mode 100755
index 0b8876e..0000000
--- a/drivers/default/src/main/java/org/onosproject/driver/extensions/MultiExtensionSelectorInterpreter.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onosproject.driver.extensions;
-
-import org.onosproject.net.behaviour.ExtensionSelectorResolver;
-import org.onosproject.net.driver.AbstractHandlerBehaviour;
-import org.onosproject.net.flow.criteria.ExtensionSelector;
-import org.onosproject.net.flow.criteria.ExtensionSelectorType;
-
-/**
- * Interpreter for bgp selector extensions.
- */
-public class MultiExtensionSelectorInterpreter
-        extends AbstractHandlerBehaviour
-        implements ExtensionSelectorResolver {
-
-    @Override
-    public ExtensionSelector getExtensionSelector(ExtensionSelectorType type) {
-        if (type.equals(ExtensionSelectorType.ExtensionSelectorTypes.EXT_MATCH_FLOW_TYPE.type())) {
-            return new ExtMatchExtension();
-        }
-        return null;
-    }
-}
diff --git a/drivers/default/src/main/resources/onos-drivers.xml b/drivers/default/src/main/resources/onos-drivers.xml
index 6d68e32..e2381b2 100644
--- a/drivers/default/src/main/resources/onos-drivers.xml
+++ b/drivers/default/src/main/resources/onos-drivers.xml
@@ -141,11 +141,6 @@
         <behaviour api="org.onosproject.net.behaviour.Pipeliner"
                    impl="org.onosproject.driver.pipeline.OpenVSwitchPipeline"/>
     </driver>
-    <driver name="l3Device" extends="default"
-            manufacturer="" hwVersion="" swVersion="">
-        <behaviour api="org.onosproject.net.behaviour.ExtensionSelectorResolver"
-                   impl="org.onosproject.driver.extensions.MultiExtensionSelectorInterpreter" />
-    </driver>
     <driver name="aos" extends="ofdpa"
             manufacturer="Accton" hwVersion=".*" swVersion="1.*">
     </driver>