2 * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.controller.sal.compatibility.adsal;
10 import org.opendaylight.controller.sal.compatibility.NodeMapping;
11 import org.opendaylight.controller.sal.packet.IPluginInDataPacketService;
12 import org.opendaylight.controller.sal.packet.RawPacket;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRef;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.TransmitPacketInput;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.TransmitPacketInputBuilder;
18 public class DataPacketServiceAdapter implements IPluginInDataPacketService {
20 PacketProcessingService delegate;
23 public void transmitDataPacket(RawPacket outPkt) {
24 TransmitPacketInput packet = toTransmitPacketInput(outPkt);
25 delegate.transmitPacket(packet);
28 private TransmitPacketInput toTransmitPacketInput(RawPacket rawPacket) {
29 TransmitPacketInputBuilder builderTPIB = new TransmitPacketInputBuilder();
31 builderTPIB.setNode(NodeMapping.toNodeRef(rawPacket.getOutgoingNodeConnector().getNode()));
33 NodeConnectorRef egress = rawPacket.getOutgoingNodeConnector() == null ? null :
34 NodeMapping.toNodeConnectorRef(rawPacket.getOutgoingNodeConnector());
35 NodeConnectorRef ingress = rawPacket.getIncomingNodeConnector() == null ? null :
36 NodeMapping.toNodeConnectorRef(rawPacket.getIncomingNodeConnector());
37 byte[] payload = rawPacket.getPacketData();
39 builderTPIB.setEgress(egress);
40 builderTPIB.setIngress(ingress);
41 builderTPIB.setPayload(payload);
43 return builderTPIB.build();
46 public PacketProcessingService getDelegate() {
50 public void setDelegate(PacketProcessingService delegate) {
51 this.delegate = delegate;