// EthernetPacket
List<PacketChain> packetChainList = ethernetPacketReceived.getPacketChain();
EthernetPacket ethernetPacket = (EthernetPacket) packetChainList.get(packetChainList.size() - 1).getPacket();
- int bitOffset = ethernetPacket.getPayloadOffset() * NetUtils.NUM_BITS_IN_A_BYTE;
+ int bitOffset = ethernetPacket.getPayloadOffset().intValue() * NetUtils.NUM_BITS_IN_A_BYTE;
byte[] data = ethernetPacketReceived.getPayload();
ArpPacketBuilder builder = new ArpPacketBuilder();
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketReceived;
import org.opendaylight.yangtools.yang.binding.NotificationListener;
import org.opendaylight.yangtools.yang.common.Uint16;
+import org.opendaylight.yangtools.yang.common.Uint32;
import org.opendaylight.yangtools.yang.common.Uint8;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
EthernetPacketReceivedBuilder builder = new EthernetPacketReceivedBuilder();
// Save original rawPacket & set the payloadOffset/payloadLength fields
- RawPacketFieldsBuilder rpfb = new RawPacketFieldsBuilder().setIngress(packetReceived.getIngress())
- .setConnectionCookie(packetReceived.getConnectionCookie()).setFlowCookie(packetReceived.getFlowCookie())
- .setTableId(packetReceived.getTableId()).setPacketInReason(packetReceived.getPacketInReason())
- .setPayloadOffset(0).setPayloadLength(data.length);
+ RawPacketFieldsBuilder rpfb = new RawPacketFieldsBuilder()
+ .setIngress(packetReceived.getIngress())
+ .setConnectionCookie(packetReceived.getConnectionCookie())
+ .setFlowCookie(packetReceived.getFlowCookie())
+ .setTableId(packetReceived.getTableId())
+ .setPacketInReason(packetReceived.getPacketInReason())
+ .setPayloadOffset(Uint32.ZERO)
+ .setPayloadLength(Uint32.valueOf(data.length));
if (packetReceived.getMatch() != null) {
rpfb.setMatch(new MatchBuilder(packetReceived.getMatch()).build());
}
// Determine start & end of payload
int payloadStart = (112 + extraHeaderBits) / NetUtils.NUM_BITS_IN_A_BYTE;
int payloadEnd = data.length - 4;
- epBuilder.setPayloadOffset(payloadStart);
- epBuilder.setPayloadLength(payloadEnd - payloadStart);
+ epBuilder.setPayloadOffset(Uint32.valueOf(payloadStart));
+ epBuilder.setPayloadLength(Uint32.valueOf(payloadEnd - payloadStart));
// Deserialize the CRC
epBuilder.setCrc(BitBufferHelper
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ipv4.rev140528.KnownIpProtocols;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ipv4.rev140528.ipv4.packet.received.packet.chain.packet.Ipv4Packet;
import org.opendaylight.yangtools.yang.binding.NotificationListener;
+import org.opendaylight.yangtools.yang.common.Uint32;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
// EthernetPacket
List<PacketChain> packetChainList = ipv4PacketReceived.getPacketChain();
Ipv4Packet ipv4Packet = (Ipv4Packet) packetChainList.get(packetChainList.size() - 1).getPacket();
- int bitOffset = ipv4Packet.getPayloadOffset() * NetUtils.NUM_BITS_IN_A_BYTE;
+ int bitOffset = ipv4Packet.getPayloadOffset().intValue() * NetUtils.NUM_BITS_IN_A_BYTE;
byte[] data = ipv4PacketReceived.getPayload();
IcmpPacketBuilder builder = new IcmpPacketBuilder();
* NetUtils.NUM_BITS_IN_A_BYTE;
int start = payloadStartInBits / NetUtils.NUM_BITS_IN_A_BYTE;
int end = start + payloadEndInBits / NetUtils.NUM_BITS_IN_A_BYTE;
- builder.setPayloadOffset(start);
- builder.setPayloadLength(end - start);
+ builder.setPayloadOffset(Uint32.valueOf(start));
+ builder.setPayloadLength(Uint32.valueOf(end - start));
} catch (BufferException e) {
LOG.debug("Exception while decoding ICMP packet", e);
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ipv4.rev140528.KnownIpProtocols;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ipv4.rev140528.ipv4.packet.received.packet.chain.packet.Ipv4PacketBuilder;
import org.opendaylight.yangtools.yang.binding.NotificationListener;
+import org.opendaylight.yangtools.yang.common.Uint32;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
// EthernetPacket
List<PacketChain> packetChainList = ethernetPacketReceived.getPacketChain();
EthernetPacket ethernetPacket = (EthernetPacket) packetChainList.get(packetChainList.size() - 1).getPacket();
- int bitOffset = ethernetPacket.getPayloadOffset() * NetUtils.NUM_BITS_IN_A_BYTE;
+ int bitOffset = ethernetPacket.getPayloadOffset().intValue() * NetUtils.NUM_BITS_IN_A_BYTE;
byte[] data = ethernetPacketReceived.getPayload();
Ipv4PacketBuilder builder = new Ipv4PacketBuilder();
- 4 * NetUtils.NUM_BITS_IN_A_BYTE;
int start = payloadStartInBits / NetUtils.NUM_BITS_IN_A_BYTE;
int end = start + payloadEndInBits / NetUtils.NUM_BITS_IN_A_BYTE;
- builder.setPayloadOffset(start);
- builder.setPayloadLength(end - start);
+ builder.setPayloadOffset(Uint32.valueOf(start));
+ builder.setPayloadLength(Uint32.valueOf(end - start));
} catch (BufferException | UnknownHostException e) {
LOG.debug("Exception while decoding IPv4 packet", e);
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ipv6.rev140528.ipv6.packet.received.packet.chain.packet.Ipv6PacketBuilder;
import org.opendaylight.yangtools.yang.binding.NotificationListener;
import org.opendaylight.yangtools.yang.common.Uint16;
+import org.opendaylight.yangtools.yang.common.Uint32;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
// EthernetPacket
List<PacketChain> packetChainList = ethernetPacketReceived.getPacketChain();
EthernetPacket ethernetPacket = (EthernetPacket) packetChainList.get(packetChainList.size() - 1).getPacket();
- int bitOffset = ethernetPacket.getPayloadOffset() * NetUtils.NUM_BITS_IN_A_BYTE;
+ int bitOffset = ethernetPacket.getPayloadOffset().intValue() * NetUtils.NUM_BITS_IN_A_BYTE;
byte[] data = ethernetPacketReceived.getPayload();
Ipv6PacketBuilder builder = new Ipv6PacketBuilder();
InetAddress.getByAddress(BitBufferHelper.getBits(data, bitOffset + 64, 128)).getHostAddress()));
builder.setDestinationIpv6(Ipv6Address.getDefaultInstance(
InetAddress.getByAddress(BitBufferHelper.getBits(data, bitOffset + 192, 128)).getHostAddress()));
- builder.setPayloadOffset((320 + bitOffset) / NetUtils.NUM_BITS_IN_A_BYTE);
- builder.setPayloadLength(builder.getIpv6Length().toJava());
+ builder.setPayloadOffset(Uint32.valueOf((320 + bitOffset) / NetUtils.NUM_BITS_IN_A_BYTE));
+ builder.setPayloadLength(builder.getIpv6Length().toUint32());
// Decode the optional "extension headers"
List<ExtensionHeaders> extensionHeaders = new ArrayList<>();
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ethernet.rev140528.EthernetPacketReceivedBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ethernet.rev140528.KnownEtherType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ethernet.rev140528.ethernet.packet.received.packet.chain.packet.EthernetPacketBuilder;
+import org.opendaylight.yangtools.yang.common.Uint32;
public class ArpDecoderTest {
ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder()
- .setPacket(new EthernetPacketBuilder().setPayloadOffset(5).setPayloadLength(33).build()).build());
+ .setPacket(new EthernetPacketBuilder()
+ .setPayloadOffset(Uint32.valueOf(5))
+ .setPayloadLength(Uint32.valueOf(33))
+ .build())
+ .build());
ArpPacketReceived notification = new ArpDecoder(mock, mock2)
.decode(new EthernetPacketReceivedBuilder().setPacketChain(packetChainList).setPayload(packet).build());
ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder()
- .setPacket(new EthernetPacketBuilder().setPayloadOffset(8).setPayloadLength(36).build())
+ .setPacket(new EthernetPacketBuilder()
+ .setPayloadOffset(Uint32.valueOf(8))
+ .setPayloadLength(Uint32.valueOf(36))
+ .build())
.build());
ArpPacketReceived notification = new ArpDecoder(mock, mock2)
.decode(new EthernetPacketReceivedBuilder().setPacketChain(packetChainList).setPayload(packet).build());
ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(
- new PacketChainBuilder().setPacket(new EthernetPacketBuilder().setPayloadOffset(14).build()).build());
+ new PacketChainBuilder()
+ .setPacket(new EthernetPacketBuilder()
+ .setPayloadOffset(Uint32.valueOf(14))
+ .build())
+ .build());
ArpPacketReceived notification = new ArpDecoder(mock, mock2)
.decode(new EthernetPacketReceivedBuilder().setPacketChain(packetChainList).setPayload(packet).build());
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.icmp.rev140528.icmp.packet.received.packet.chain.packet.IcmpPacket;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ipv4.rev140528.Ipv4PacketReceivedBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ipv4.rev140528.ipv4.packet.received.packet.chain.packet.Ipv4PacketBuilder;
+import org.opendaylight.yangtools.yang.common.Uint32;
public class IcmpDecoderTest {
@Test
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder().setPacket(new EthernetPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder()
- .setPacket(new Ipv4PacketBuilder().setPayloadOffset(34).build())
+ .setPacket(new Ipv4PacketBuilder()
+ .setPayloadOffset(Uint32.valueOf(34))
+ .build())
.build());
IcmpPacketReceived notification = new IcmpDecoder(npServiceMock, mock2)
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ipv4.rev140528.Ipv4PacketReceived;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ipv4.rev140528.KnownIpProtocols;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ipv4.rev140528.ipv4.packet.received.packet.chain.packet.Ipv4Packet;
+import org.opendaylight.yangtools.yang.common.Uint32;
public class Ipv4DecoderTest {
ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(
- new PacketChainBuilder().setPacket(new EthernetPacketBuilder().setPayloadOffset(14).build()).build());
+ new PacketChainBuilder()
+ .setPacket(new EthernetPacketBuilder()
+ .setPayloadOffset(Uint32.valueOf(14))
+ .build())
+ .build());
Ipv4PacketReceived notification = new Ipv4Decoder(npServiceMock, mock2).decode(
new EthernetPacketReceivedBuilder().setPacketChain(packetChainList).setPayload(ethPayload).build());
ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(
- new PacketChainBuilder().setPacket(new EthernetPacketBuilder().setPayloadOffset(16).build()).build());
+ new PacketChainBuilder()
+ .setPacket(new EthernetPacketBuilder()
+ .setPayloadOffset(Uint32.valueOf(16))
+ .build())
+ .build());
Ipv4PacketReceived notification = new Ipv4Decoder(npServiceMock, mock2).decode(
new EthernetPacketReceivedBuilder().setPacketChain(packetChainList).setPayload(ethPayload).build());
ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(
- new PacketChainBuilder().setPacket(new EthernetPacketBuilder().setPayloadOffset(18).build()).build());
+ new PacketChainBuilder()
+ .setPacket(new EthernetPacketBuilder()
+ .setPayloadOffset(Uint32.valueOf(18))
+ .build())
+ .build());
Ipv4PacketReceived notification = new Ipv4Decoder(npServiceMock, mock2).decode(
new EthernetPacketReceivedBuilder().setPacketChain(packetChainList).setPayload(ethPayload).build());
ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(
- new PacketChainBuilder().setPacket(new EthernetPacketBuilder().setPayloadOffset(14).build()).build());
+ new PacketChainBuilder()
+ .setPacket(new EthernetPacketBuilder()
+ .setPayloadOffset(Uint32.valueOf(14))
+ .build())
+ .build());
Ipv4PacketReceived notification = new Ipv4Decoder(npServiceMock, mock2).decode(
new EthernetPacketReceivedBuilder().setPacketChain(packetChainList).setPayload(ethPayload).build());
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ipv4.rev140528.KnownIpProtocols;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ipv6.rev140528.Ipv6PacketReceived;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ipv6.rev140528.ipv6.packet.received.packet.chain.packet.Ipv6Packet;
+import org.opendaylight.yangtools.yang.common.Uint32;
public class Ipv6DecoderTest {
ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(
- new PacketChainBuilder().setPacket(new EthernetPacketBuilder().setPayloadOffset(14).build()).build());
+ new PacketChainBuilder()
+ .setPacket(new EthernetPacketBuilder()
+ .setPayloadOffset(Uint32.valueOf(14))
+ .build())
+ .build());
Ipv6PacketReceived notification = new Ipv6Decoder(npServiceMock, mock2).decode(
new EthernetPacketReceivedBuilder().setPacketChain(packetChainList).setPayload(payload).build());
ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(
- new PacketChainBuilder().setPacket(new EthernetPacketBuilder().setPayloadOffset(14).build()).build());
+ new PacketChainBuilder()
+ .setPacket(new EthernetPacketBuilder()
+ .setPayloadOffset(Uint32.valueOf(14))
+ .build())
+ .build());
Ipv6PacketReceived notification = new Ipv6Decoder(npServiceMock, mock2).decode(
new EthernetPacketReceivedBuilder().setPacketChain(packetChainList).setPayload(payload).build());
ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(
- new PacketChainBuilder().setPacket(new EthernetPacketBuilder().setPayloadOffset(14).build()).build());
+ new PacketChainBuilder()
+ .setPacket(new EthernetPacketBuilder()
+ .setPayloadOffset(Uint32.valueOf(14))
+ .build())
+ .build());
Ipv6PacketReceived notification = new Ipv6Decoder(npServiceMock, mock2).decode(
new EthernetPacketReceivedBuilder().setPacketChain(packetChainList).setPayload(payload).build());
ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(
- new PacketChainBuilder().setPacket(new EthernetPacketBuilder().setPayloadOffset(14).build()).build());
+ new PacketChainBuilder()
+ .setPacket(new EthernetPacketBuilder()
+ .setPayloadOffset(Uint32.valueOf(14))
+ .build())
+ .build());
Ipv6PacketReceived notification = new Ipv6Decoder(npServiceMock, mock2).decode(
new EthernetPacketReceivedBuilder().setPacketChain(packetChainList).setPayload(payload).build());
ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(
- new PacketChainBuilder().setPacket(new EthernetPacketBuilder().setPayloadOffset(14).build()).build());
+ new PacketChainBuilder()
+ .setPacket(new EthernetPacketBuilder()
+ .setPayloadOffset(Uint32.valueOf(14))
+ .build())
+ .build());
Ipv6PacketReceived notification = new Ipv6Decoder(npServiceMock, mock2).decode(
new EthernetPacketReceivedBuilder().setPacketChain(packetChainList).setPayload(payload).build());
grouping packet-fields {
leaf payload-offset {
- type int32;
+ type uint32;
}
leaf payload-length {
- type int32;
+ type uint32;
}
}