mirror of
https://github.com/opennetworkinglab/onos.git
synced 2026-05-17 10:46:14 +02:00
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
This commit is contained in:
parent
100b57ffe6
commit
e8b5f3e752
@ -4,7 +4,6 @@ COMPILE_DEPS = [
|
||||
'//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_app (
|
||||
':onos-drivers-default',
|
||||
'//lib:openflowj',
|
||||
'//protocols/openflow/api:onos-protocols-openflow-api',
|
||||
'//apps/bgpflowspec/flowapi:onos-apps-bgpflowspec-flowapi',
|
||||
]
|
||||
)
|
||||
|
||||
@ -42,11 +42,6 @@
|
||||
<groupId>org.onosproject</groupId>
|
||||
<artifactId>onos-of-api</artifactId>
|
||||
</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>
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user