1 package org.opendaylight.controller.sal.compatibility.adsal;
3 import org.opendaylight.controller.sal.compatibility.NodeMapping;
4 import org.opendaylight.controller.sal.packet.IPluginInDataPacketService;
5 import org.opendaylight.controller.sal.packet.RawPacket;
6 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRef;
7 import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService;
8 import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.TransmitPacketInput;
9 import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.TransmitPacketInputBuilder;
11 public class DataPacketServiceAdapter implements IPluginInDataPacketService {
13 PacketProcessingService delegate;
16 public void transmitDataPacket(RawPacket outPkt) {
17 TransmitPacketInput packet = toTransmitPacketInput(outPkt);
18 delegate.transmitPacket(packet);
21 private TransmitPacketInput toTransmitPacketInput(RawPacket rawPacket) {
22 TransmitPacketInputBuilder builderTPIB = new TransmitPacketInputBuilder();
24 builderTPIB.setNode(NodeMapping.toNodeRef(rawPacket.getOutgoingNodeConnector().getNode()));
26 NodeConnectorRef egress = rawPacket.getOutgoingNodeConnector() == null ? null :
27 NodeMapping.toNodeConnectorRef(rawPacket.getOutgoingNodeConnector());
28 NodeConnectorRef ingress = rawPacket.getIncomingNodeConnector() == null ? null :
29 NodeMapping.toNodeConnectorRef(rawPacket.getIncomingNodeConnector());
30 byte[] payload = rawPacket.getPacketData();
32 builderTPIB.setEgress(egress);
33 builderTPIB.setIngress(ingress);
34 builderTPIB.setPayload(payload);
36 return builderTPIB.build();
39 public PacketProcessingService getDelegate() {
43 public void setDelegate(PacketProcessingService delegate) {
44 this.delegate = delegate;