public class ErrorMessage extends ICMPHeader
CODE_BAD_IP_HEADER, CODE_COMMUNICATIONS_ADMIN_PROHIBITIED, CODE_DESTINATION_HOST_ADMIN_PROHIBITED, CODE_DESTINATION_HOST_UNKNOWN, CODE_DESTINATION_NETWORK_ADMIN_PROHIBITED, CODE_DESTINATION_NETWORK_UNKNOWN, CODE_FRAGMENTATION_NEEDED, CODE_HOST_PRECEDENCE_VIOLATION, CODE_HOST_UNREACHABLE, CODE_HOST_UNREACHABLE_FOR_TOS, CODE_NETWORK_UNREACHABLE, CODE_NETWORK_UNREACHABLE_FOR_TOS, CODE_PORT_UNREACHABLE, CODE_PRECEDENCE_CUTOFF_IN_EFFECT, CODE_PROTOCOL_UNREACHABLE, CODE_REDIRECT_FOR_HOST, CODE_REDIRECT_FOR_NETWORK, CODE_REDIRECT_FOR_TYPE_OF_SERVICE_AND_HOST, CODE_REDIRECT_FOR_TYPE_OF_SERVICE_AND_NETWORK, CODE_REQUIRED_OPTION_MISSING, CODE_SOURCE_HOST_ISOLATED, CODE_SOURCE_ROUTE_FAILED, CODE_TTL_EQ_ZERO_IN_REASSEMBLY, CODE_TTL_EQ_ZERO_IN_TRANSIT, TYPE_ADDRESS_MASK_REPLY, TYPE_ADDRESS_MASK_REQUEST, TYPE_DESTINATION_UNREACHABLE, TYPE_ECHO_REPLY, TYPE_ECHO_REQUEST, TYPE_INFORMATION_REPLY, TYPE_INFORMATION_REQUEST, TYPE_PARAMETER_PROBLEM, TYPE_REDIRECT, TYPE_ROUTER_ADVERTISEMENT, TYPE_ROUTER_SOLICITATION, TYPE_SOURCE_QUENCH, TYPE_TIME_EXCEEDED, TYPE_TIMESTAMP_REPLY, TYPE_TIMESTAMP_REQUEST
Modifier | Constructor and Description |
---|---|
|
ErrorMessage(byte[] buf,
int offset)
Creates a new ICMP timestamp reply from the spcified data at the specific
offset.
|
protected |
ErrorMessage(byte type,
byte code)
Creates a new ICMP Error Message object.
|
Modifier and Type | Method and Description |
---|---|
IPHeader |
getIPHeader()
Used to access the IP Header that caused the ICMP error message to be
generated.
|
byte[] |
getProtocolData()
Retreives the 8 bytes of protocol data that caused the error.
|
int |
loadFromBuffer(byte[] buf,
int offset)
Reads the ICMP Address Mask Reqeust from the specified buffer and sets
the internal fields equal to the data.
|
protected void |
setIPHeader(IPHeader hdr)
Sets the IP header in error.
|
protected void |
setProtocolData(byte[] pd)
Sets the protocol data that caused the error.
|
byteToInt, byteToShort, computeChecksum, computeChecksum, getChecksum, getCode, getHeaderSize, getIdentity, getNetworkSize, getSequenceId, getType, isEchoReply, isEchoRequest, nextSequenceId, setChecksum, setCode, setIdentity, setNextSequenceId, setSequenceId, setType, storeToBuffer, toBytes
protected ErrorMessage(byte type, byte code)
type
- The ICMP type.code
- The specific code for the message.public ErrorMessage(byte[] buf, int offset)
buf
- The buffer containing the data.offset
- The start of the icmp data.IndexOutOfBoundsException
- Thrown if there is not sufficent data in the buffer.public final int loadFromBuffer(byte[] buf, int offset)
loadFromBuffer
in class ICMPHeader
buf
- The buffer to read the data from.offset
- The offset to start reading data.IndexOutOfBoundsException
- Thrown if there is not sufficent data in the buffer.public final IPHeader getIPHeader()
protected void setIPHeader(IPHeader hdr)
hdr
- The IP header in errorpublic final byte[] getProtocolData()
protected void setProtocolData(byte[] pd)
pd
- The 8 bytes of protocol data.IndexOutOfBoundsException
- Thrown when pd.length is less than 8.IllegalArgumentException
- Thrown when pd.length is greater than 8.Copyright © 2002–2023 The OpenNMS Group, Inc.. All rights reserved.