Parameter Problem
ICMP Type 12 Parameter Problem is sent when a router or host encounters an error in an IP header that prevents it from processing the packet. The Pointer field identifies the byte offset of the problem field. Code 0 uses the Pointer to identify the error location. Code 1 indicates a required option is missing. Code 2 indicates a bad length.
Description
ICMP Parameter Problem is generated when an IP header field has an invalid value that the processing entity cannot handle. The message includes the first 8 bytes of the original datagram header so the sender can identify which packet caused the error.
Code 0 includes a Pointer field that is the byte offset into the IP header of the problematic octet. For example, Pointer=8 would indicate the TTL field. This is useful for diagnosing malformed packet generation from buggy network stacks or middleware.
Code 1 (Missing Required Option) is rare in practice since IP options are rarely used on modern networks. Code 2 (Bad Length) indicates the total length field does not match the actual packet length, which typically indicates a driver-level or NIC-level bug.
Common Causes
- –Malformed IP header field with invalid value (code 0)
- –Required IP option absent from packet (code 1)
- –IP header length field inconsistent with actual header (code 2)
- –Network stack or NIC bug generating malformed packets
Codes
| Code | Name |
|---|---|
| 0 | Pointer Indicates the Error |
| 1 | Missing a Required Option |
| 2 | Bad Length |