mirror of
https://github.com/opennetworkinglab/onos.git
synced 2026-05-08 13:46:10 +02:00
added of packet provider - unimplemented
This commit is contained in:
parent
7674db4110
commit
ae8575843c
@ -95,4 +95,4 @@ implements PacketService, PacketProviderRegistry {
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
19
providers/of/packet/pom.xml
Normal file
19
providers/of/packet/pom.xml
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>org.onlab.onos</groupId>
|
||||
<artifactId>onos-of-providers</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<artifactId>onos-of-provider-packet</artifactId>
|
||||
<packaging>bundle</packaging>
|
||||
|
||||
<description>ONOS OpenFlow protocol packet provider</description>
|
||||
|
||||
</project>
|
||||
@ -0,0 +1,85 @@
|
||||
package org.onlab.onos.provider.of.packet.impl;
|
||||
|
||||
import static org.slf4j.LoggerFactory.getLogger;
|
||||
|
||||
import org.apache.felix.scr.annotations.Activate;
|
||||
import org.apache.felix.scr.annotations.Component;
|
||||
import org.apache.felix.scr.annotations.Deactivate;
|
||||
import org.apache.felix.scr.annotations.Reference;
|
||||
import org.apache.felix.scr.annotations.ReferenceCardinality;
|
||||
import org.onlab.onos.net.packet.OutboundPacket;
|
||||
import org.onlab.onos.net.packet.PacketProvider;
|
||||
import org.onlab.onos.net.packet.PacketProviderRegistry;
|
||||
import org.onlab.onos.net.packet.PacketProviderService;
|
||||
import org.onlab.onos.net.provider.AbstractProvider;
|
||||
import org.onlab.onos.net.provider.ProviderId;
|
||||
import org.onlab.onos.of.controller.OpenFlowController;
|
||||
import org.onlab.onos.of.controller.OpenFlowPacketContext;
|
||||
import org.onlab.onos.of.controller.PacketListener;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
/**
|
||||
* Provider which uses an OpenFlow controller to detect network
|
||||
* infrastructure links.
|
||||
*/
|
||||
@Component(immediate = true)
|
||||
public class OpenFlowPacketProvider extends AbstractProvider implements PacketProvider {
|
||||
|
||||
private final Logger log = getLogger(getClass());
|
||||
|
||||
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
|
||||
protected PacketProviderRegistry providerRegistry;
|
||||
|
||||
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
|
||||
protected OpenFlowController controller;
|
||||
|
||||
private PacketProviderService providerService;
|
||||
|
||||
private final boolean useBDDP = true;
|
||||
|
||||
private final InternalPacketProvider listener = new InternalPacketProvider();
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Creates an OpenFlow link provider.
|
||||
*/
|
||||
public OpenFlowPacketProvider() {
|
||||
super(new ProviderId("org.onlab.onos.provider.openflow"));
|
||||
}
|
||||
|
||||
@Activate
|
||||
public void activate() {
|
||||
providerService = providerRegistry.register(this);
|
||||
controller.addPacketListener(0, listener);
|
||||
log.info("Started");
|
||||
}
|
||||
|
||||
@Deactivate
|
||||
public void deactivate() {
|
||||
providerRegistry.unregister(this);
|
||||
controller.removePacketListener(listener);
|
||||
providerService = null;
|
||||
log.info("Stopped");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void emit(OutboundPacket packet) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
|
||||
private class InternalPacketProvider implements PacketListener {
|
||||
|
||||
|
||||
@Override
|
||||
public void handlePacket(OpenFlowPacketContext pktCtx) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -20,6 +20,7 @@
|
||||
<module>device</module>
|
||||
<module>link</module>
|
||||
<module>host</module>
|
||||
<module>packet</module>
|
||||
</modules>
|
||||
|
||||
<dependencies>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user