se.sics.jipv6.core
Class IPv6Packet

java.lang.Object
  extended by se.sics.jipv6.core.Packet
      extended by se.sics.jipv6.core.IPv6Packet
All Implemented Interfaces:
IPPacketer

public class IPv6Packet
extends Packet
implements IPPacketer


Field Summary
static boolean DEBUG
           
static int ICMP6_DISPATCH
           
 NetworkInterface netInterface
           
 
Fields inherited from class se.sics.jipv6.core.Packet
attributes, LL_DESTINATION, LL_SOURCE, packetData
 
Constructor Summary
IPv6Packet()
           
IPv6Packet(IPPayload pl)
           
IPv6Packet(IPPayload pl, byte[] source, byte[] dest)
           
IPv6Packet(Packet packet)
           
 
Method Summary
static int checkSum(int sum, byte[] data, int size)
           
 byte[] generatePacketData(IPv6Packet packet)
           
 byte[] getDestinationAddress()
           
 byte getDispatch()
           
 int getFlowLabel()
           
 int getHopLimit()
           
 IPPayload getIPPayload()
           
static long getLong(byte[] data, int pos)
           
 byte getNextHeader()
           
 byte[] getSourceAddress()
           
 int getTrafficClass()
           
 boolean isDestinationMACBased()
           
static boolean isMACBased(byte[] address, byte[] macAddress)
           
 boolean isMulticastDestination()
           
 boolean isSourceMACBased()
           
 boolean isSourceUnspecified()
           
static void main(String[] args)
           
static byte[] parseAddress(String addressStr)
           
 void parsePacketData(IPv6Packet packet)
           
static void printAddress(PrintStream out, byte[] address)
           
static void printMACAddress(PrintStream out, byte[] data, int pos, int size)
           
 void printPacket(PrintStream out)
           
 IPv6Packet replyPacket(IPPayload payload)
           
static void set32(byte[] data, int pos, long value)
           
 void setDestinationAddress(byte[] addr)
           
 void setFlowLabel(int flowLabel)
           
 void setHopLimit(int hopLimit)
           
 void setIPPayload(IPPayload ipp)
           
 void setNextHeader(byte nextHeader)
           
 void setSourceAddress(byte[] addr)
           
 void setTrafficClass(int trafficClass)
           
 int upperLayerHeaderChecksum()
           
 
Methods inherited from class se.sics.jipv6.core.Packet
appendBytes, copy, get16, get24, get32, getAttribute, getAttributeAsInt, getBytes, getData, getLinkDestination, getLinkSource, getPayload, getPayloadLength, getTotalLength, incPos, prependBytes, setAttribute, setAttribute, setBytes, setBytes, setData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ICMP6_DISPATCH

public static final int ICMP6_DISPATCH
See Also:
Constant Field Values

DEBUG

public static final boolean DEBUG
See Also:
Constant Field Values

netInterface

public NetworkInterface netInterface
Constructor Detail

IPv6Packet

public IPv6Packet()

IPv6Packet

public IPv6Packet(Packet packet)

IPv6Packet

public IPv6Packet(IPPayload pl)

IPv6Packet

public IPv6Packet(IPPayload pl,
                  byte[] source,
                  byte[] dest)
Method Detail

getTrafficClass

public int getTrafficClass()

setTrafficClass

public void setTrafficClass(int trafficClass)

getFlowLabel

public int getFlowLabel()

setFlowLabel

public void setFlowLabel(int flowLabel)

getNextHeader

public byte getNextHeader()

setNextHeader

public void setNextHeader(byte nextHeader)

getHopLimit

public int getHopLimit()

setHopLimit

public void setHopLimit(int hopLimit)

replyPacket

public IPv6Packet replyPacket(IPPayload payload)

getSourceAddress

public byte[] getSourceAddress()

setSourceAddress

public void setSourceAddress(byte[] addr)

getDestinationAddress

public byte[] getDestinationAddress()

setDestinationAddress

public void setDestinationAddress(byte[] addr)

printPacket

public void printPacket(PrintStream out)

printAddress

public static void printAddress(PrintStream out,
                                byte[] address)

parsePacketData

public void parsePacketData(IPv6Packet packet)
Specified by:
parsePacketData in interface IPPacketer

set32

public static void set32(byte[] data,
                         int pos,
                         long value)

getLong

public static long getLong(byte[] data,
                           int pos)

upperLayerHeaderChecksum

public int upperLayerHeaderChecksum()

checkSum

public static int checkSum(int sum,
                           byte[] data,
                           int size)

isMACBased

public static boolean isMACBased(byte[] address,
                                 byte[] macAddress)

isSourceMACBased

public boolean isSourceMACBased()

isMulticastDestination

public boolean isMulticastDestination()

isDestinationMACBased

public boolean isDestinationMACBased()

getDispatch

public byte getDispatch()
Specified by:
getDispatch in interface IPPacketer

generatePacketData

public byte[] generatePacketData(IPv6Packet packet)
Specified by:
generatePacketData in interface IPPacketer

getIPPayload

public IPPayload getIPPayload()

setIPPayload

public void setIPPayload(IPPayload ipp)

printMACAddress

public static void printMACAddress(PrintStream out,
                                   byte[] data,
                                   int pos,
                                   int size)

parseAddress

public static byte[] parseAddress(String addressStr)

isSourceUnspecified

public boolean isSourceUnspecified()

main

public static void main(String[] args)