Skip to content

Main content

Network: UDP Zero Checksum Version Policy Tool

Distinguish UDP zero-checksum IPv4 absence from the general IPv6 prohibition and explicitly declared exceptional context; does not certify an RFC6936 exception.

Loading tool…

Description

Check IP version 4 or 6 and a 16-bit checksum.

A UDP checksum word and the UDP length field serve different purposes: one detects corruption, while the other counts header plus payload bytes. IP version affects checksum policy.

Check IP version 4 or 6 and a 16-bit checksum.

When to use this tool

Use Network: UDP Zero Checksum Version Policy when you need to inspect a supplied UDP length or checksum convention.

How to use the tool and how it works

  1. Enter ipVersion, checksum, explicitIpv6Exception. Use the units and conventions below.
  2. Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
  3. Read result. Expand result to inspect the returned fields.

Check IP version 4 or 6 and a 16-bit checksum. A nonzero checksum is generally allowed; zero is generally allowed only for IPv4. Mark a declared IPv6 exception separately.1

IPv6 zero-checksum use has narrowly specified tunnel exceptions. Declaring an exception here records that assertion; it does not establish the required protections or applicability.2

Input fieldMeaning and unitsAccepted input
ipVersionIp VersionRequired. Safe integer.
checksumChecksumRequired. Safe integer.
explicitIpv6ExceptionExplicit Ipv6 ExceptionRequired. Boolean.
Output fieldInterpretationReturned shape
resultResultRequired. Object.
result.zeroChecksumZero ChecksumCalculated result member: boolean.
result.generallyAllowedGenerally AllowedCalculated result member: boolean.
result.requiresSpecifiedExceptionRequires Specified ExceptionCalculated result member: boolean.
result.explicitExceptionDeclaredExplicit Exception DeclaredCalculated result member: boolean.
json
{
  "input": {
    "ipVersion": 6,
    "checksum": 0,
    "explicitIpv6Exception": false
  },
  "output": {
    "result": {
      "zeroChecksum": true,
      "generallyAllowed": false,
      "requiresSpecifiedException": true,
      "explicitExceptionDeclared": false
    }
  }
}

Limitations and assumptions

  • The exception flag records the caller's assertion; it does not verify that a protocol-specific exception applies or check checksum correctness.
  • Outputs are nested inside result. Inputs must satisfy both the field types and the cross-field conditions above. Invalid input causes an error; a successful false flag or documented placeholder is a different result.
  • Numeric calculations use binary floating point unless exact decimal-integer arithmetic is explicitly stated. No hidden measurement tolerance or decimal rounding is added; nonfinite or out-of-contract results are rejected. Numeric signed-zero results are exported as zero.

Alternative or Complementary methods

Use packet capture and a complete datagram checksum verifier for end-to-end validation.

References

  1. Calculation and input contract: network/udp-zero-checksum-version-policy — tool.io

  2. IPv6 and UDP Checksums for Tunneled Packets (RFC 6935) — RFC Editor / IETF

Similar or alternative tools