// fwpsk.h
typedef enum {
IpDiscardBadSourceAddress,
IpDiscardNotLocallyDestined,
IpDiscardProtocolUnreachable,
IpDiscardPortUnreachable,
IpDiscardBadLength,
IpDiscardMalformedHeader,
IpDiscardNoRoute,
IpDiscardBeyondScope,
IpDiscardInspectionDrop,
IpDiscardTooManyDecapsulations,
IpDiscardAdministrativelyProhibited,
IpDiscardBadChecksum,
IpDiscardFirstFragmentIncomplete,
IpDiscardHeaderNotContiguous,
IpDiscardHeaderNotAligned,
IpDiscardReceivePathMax,
IpDiscardHopLimitExceeded,
IpDiscardAddressUnreachable,
IpDiscardRscPacket,
IpDiscardSourceViolation,
IpDiscardForwardPathMax,
IpDiscardArbitrationUnhandled,
IpDiscardInspectionAbsorb,
IpDiscardDontFragmentMtuExceeded,
IpDiscardBufferLengthExceeded,
IpDiscardAddressResolutionTimeout,
IpDiscardAddressResolutionFailure,
IpDiscardIpsecFailure,
IpDiscardExtensionHeadersFailure,
IpDiscardAllocationFailure,
IpDiscardIpsnpiClientDrop,
IpDiscardUnsupportedOffload,
IpDiscardRoutingFailure,
IpDiscardAncillaryDataFailure,
IpDiscardRawDataFailure,
IpDiscardSessionStateFailure,
IpDiscardIpsnpiAllocationFailure,
IpDiscardIpsnpiModifiedButNotForwarded,
IpDiscardIpsnpiNoNextHop,
IpDiscardIpsnpiNoCompartment,
IpDiscardIpsnpiNoInterface,
IpDiscardIpsnpiNoSubInterface,
IpDiscardIpsnpiInterfaceDisabled,
IpDiscardIpsnpiSegmentationFailed,
IpDiscardIpsnpiNoEthernetHeader,
IpDiscardIpsnpiUnexpectedFragment,
IpDiscardIpsnpiUnsupportedInterfaceType,
IpDiscardIpsnpiInvalidLsoInfo,
IpDiscardIpsnpiInvalidUsoInfo,
IpDiscardInternalError,
IpDiscardAdministrativelyConfigured,
IpDiscardBadOption,
IpDiscardLoopbackDisallowed,
IpDiscardSmallerScope,
IpDiscardQueueFull,
IpDiscardInterfaceDisabled,
IpDiscardNlClientDiscard,
IpDiscardIpsnpiUroSegmentSizeExceedsMtu,
IpDiscardSwUsoFailure,
IpDiscardMax
} IP_DISCARD_REASON, *PIP_DISCARD_REASON;
View the official Windows Driver Kit DDI referenceNo description available.
The IP_DISCARD_REASON enum defines the possible reasons that data is discarded by one of the network layers.
IpDiscardBadSourceAddressThe outgoing packet's source address is a multicast address, a broadcast address, or an IPv6 address that contains an embedded IPv4 loopback or unspecified address.
IpDiscardNotLocallyDestinedThe received packet's destination address doesn't exist on the system, and no appropriate forwarding interface exists.
IpDiscardProtocolUnreachableThere's either no transport protocol handler for the received packet or the transport protocol handler refused to process the packet.
IpDiscardPortUnreachableThere's no application that is receiving packets on the received packet's destination port.
IpDiscardBadLengthA length field specified within the received packet is inconsistent with the packet's length.
IpDiscardMalformedHeaderThe received packet contains a recognized extension header or option whose contents are invalid.
IpDiscardNoRouteThe received packet can't be forwarded to its destination address because the system's routing table doesn't contain a route to that destination.
IpDiscardBeyondScopeThe received packet can't be forwarded because the packet's incoming and outgoing network interfaces have different zone indexes for the packet's zone level.
IpDiscardInspectionDropThe packet was dropped during inspection due to failing security checks or protocol compliance issues.
IpDiscardTooManyDecapsulationsThe received packet cannot be forwarded to its destination address because there are too many decapsulations.
IpDiscardAdministrativelyProhibitedThe packet was discarded due to administrative policies prohibiting its transmission or receipt.
IpDiscardBadChecksumThe packet was discarded because its checksum was incorrect, indicating potential data corruption.
IpDiscardFirstFragmentIncompleteThe first fragment of the packet was incomplete, leading to the discard of the entire packet.
IpDiscardHeaderNotContiguousThe packet's header wasn't contiguous in memory, causing it to be discarded.
IpDiscardHeaderNotAlignedThe packet header wasn't properly aligned, leading to its discard due to formatting issues.
IpDiscardReceivePathMaxThe packet was discarded as it exceeded the maximum length allowed on the receive path.
IpDiscardHopLimitExceededThe received packet's hop limit or time-to-live limit has been exceeded.
IpDiscardAddressUnreachableThe outgoing packet can't be sent to the packet's destination address either because the destination doesn't exist or packets aren't allowed to be sent to that destination.
IpDiscardRscPacketThe outgoing packet can't be sent because it is a receive-side coalesced (RSC) packet.
IpDiscardSourceViolationThe packet was discarded because it violated source address validation checks.
IpDiscardForwardPathMaxThe packet exceeded the maximum path length for forwarding and was discarded.
IpDiscardArbitrationUnhandledThe packet was discarded because it required arbitration that wasn't handled.
IpDiscardInspectionAbsorbThe outgoing packet cannot be sent because WFP took ownership of the packet.
IpDiscardDontFragmentMtuExceededThe packet was discarded because it exceeded the MTU size and had the Don't Fragment bit set.
IpDiscardBufferLengthExceededThe packet was discarded because it exceeded the buffer length limitations.
IpDiscardAddressResolutionTimeoutThe packet was discarded due to a timeout in address resolution.
IpDiscardAddressResolutionFailureThe packet was discarded because address resolution failed.
IpDiscardIpsecFailureThe packet was discarded due to an IPsec processing failure.
IpDiscardExtensionHeadersFailureThe packet was discarded because of a failure related to processing IPv6 extension headers.
IpDiscardAllocationFailureThe packet was discarded due to a failure in allocating necessary resources.
IpDiscardIpsnpiClientDropThe packet was discarded by an IPSNPI client due to unspecified reasons.
IpDiscardUnsupportedOffloadThe packet was discarded because it required an unsupported offload operation.
IpDiscardRoutingFailureThe packet was discarded due to a failure in routing.
IpDiscardAncillaryDataFailureThe packet was discarded because of a failure related to ancillary data processing.
IpDiscardRawDataFailureThe packet was discarded due to a failure in processing raw data.
IpDiscardSessionStateFailureThe packet was discarded because of a failure related to session state management.
IpDiscardIpsnpiAllocationFailureThe packet was discarded due to an allocation failure within the IPSNPI subsystem.
IpDiscardIpsnpiModifiedButNotForwardedThe packet was modified by IPSNPI but not forwarded, leading to its discard.
IpDiscardIpsnpiNoNextHopThe packet was discarded because no next hop could be determined in the IPSNPI subsystem.
IpDiscardIpsnpiNoCompartmentThe packet was discarded due to a missing compartment in the IPSNPI subsystem.
IpDiscardIpsnpiNoInterfaceThe packet was discarded because no interface was found in the IPSNPI subsystem.
IpDiscardIpsnpiNoSubInterfaceThe packet was discarded due to the absence of a sub-interface in the IPSNPI subsystem.
IpDiscardIpsnpiInterfaceDisabledThe packet was discarded because the interface in the IPSNPI subsystem was disabled.
IpDiscardIpsnpiSegmentationFailedThe packet was discarded due to a failure in segmentation within the IPSNPI subsystem.
IpDiscardIpsnpiNoEthernetHeaderThe packet was discarded because it lacked an Ethernet header in the IPSNPI subsystem.
IpDiscardIpsnpiUnexpectedFragmentThe packet was discarded because it was an unexpected fragment in the IPSNPI subsystem.
IpDiscardIpsnpiUnsupportedInterfaceTypeThe packet was discarded due to an unsupported interface type in the IPSNPI subsystem.
IpDiscardIpsnpiInvalidLsoInfoThe packet was discarded because of invalid Large Send Offload (LSO) information in the IPSNPI subsystem.
IpDiscardIpsnpiInvalidUsoInfoThe packet was discarded due to invalid UDP Segmentation Offload (USO) information in the IPSNPI subsystem.
IpDiscardInternalErrorThe packet was discarded due to an internal error within the system.
IpDiscardAdministrativelyConfiguredThe packet was discarded due to an administrative configuration that prevented its processing.
IpDiscardBadOptionThe packet was discarded because it contained a bad option or an option that couldn't be processed.
IpDiscardLoopbackDisallowedThe packet was discarded because loopback was disallowed for its type or destination.
IpDiscardSmallerScopeThe packet was discarded because its scope was smaller than required for successful delivery.
IpDiscardQueueFullThe packet was discarded because the processing queue was full.
IpDiscardInterfaceDisabledThe packet was discarded because the interface it arrived on was disabled.
IpDiscardNlClientDiscardThe packet was discarded by a Netlink client due to unspecified reasons.
IpDiscardIpsnpiUroSegmentSizeExceedsMtuThe packet was discarded because the segment size for UDP RSC Offload (URO) exceeded the MTU in the IPSNPI subsystem.
IpDiscardSwUsoFailureThe packet was discarded due to a UDP Segmentation Offload (USO) failure.
IpDiscardMaxThe maximum value for enumeration.