#[derive(Debug)]
#[derive(Serialize)]
pub enum AddressResolutionProtocolIncomingNetworkPacketDropReason
{
ReuseInReply,
PacketIsTooShort,
NotSupportedForAnythingOtherThanInternetProtocolVersion4,
DestinationEthernetAddressIsMulticast
{
#[serde(serialize_with = "AddressResolutionProtocolIncomingNetworkPacketDropReason::serialize_non_null")]
header: NonNull<AddressResolutionProtocolPacketHeader>,
},
OperationIsUnsupported
{
#[serde(serialize_with = "AddressResolutionProtocolIncomingNetworkPacketDropReason::serialize_non_null")]
header: NonNull<AddressResolutionProtocolPacketHeader>,
},
RequestIsMulticast
{
#[serde(serialize_with = "AddressResolutionProtocolIncomingNetworkPacketDropReason::serialize_non_null")]
header: NonNull<AddressResolutionProtocolPacketHeader>,
},
RequestTargetHardwareAddressIsZero
{
#[serde(serialize_with = "AddressResolutionProtocolIncomingNetworkPacketDropReason::serialize_non_null")]
header: NonNull<AddressResolutionProtocolPacketHeader>,
},
HardwareAndPacketSourceEthernetAddressMismatch
{
#[serde(serialize_with = "AddressResolutionProtocolIncomingNetworkPacketDropReason::serialize_non_null")]
header: NonNull<AddressResolutionProtocolPacketHeader>,
},
HardwareAndPacketDestinationEthernetAddressMismatch
{
#[serde(serialize_with = "AddressResolutionProtocolIncomingNetworkPacketDropReason::serialize_non_null")]
header: NonNull<AddressResolutionProtocolPacketHeader>,
},
ProbeIsNotForUs
{
#[serde(serialize_with = "AddressResolutionProtocolIncomingNetworkPacketDropReason::serialize_non_null")]
header: NonNull<AddressResolutionProtocolPacketHeader>,
},
BroadcastIsNotForUs
{
#[serde(serialize_with = "AddressResolutionProtocolIncomingNetworkPacketDropReason::serialize_non_null")]
header: NonNull<AddressResolutionProtocolPacketHeader>,
},
RequestIsNotAProbeAndIsNotBroadcast
{
#[serde(serialize_with = "AddressResolutionProtocolIncomingNetworkPacketDropReason::serialize_non_null")]
header: NonNull<AddressResolutionProtocolPacketHeader>,
},
RequestIsNotAProbeAndSenderProtocolAddressIsNotUnicast
{
#[serde(serialize_with = "AddressResolutionProtocolIncomingNetworkPacketDropReason::serialize_non_null")]
header: NonNull<AddressResolutionProtocolPacketHeader>,
},
GratuitousReplyIsNotValidUnicast
{
#[serde(serialize_with = "AddressResolutionProtocolIncomingNetworkPacketDropReason::serialize_non_null")]
header: NonNull<AddressResolutionProtocolPacketHeader>,
},
ReplyTargetHardwareAddressIsNotValidUnicast
{
#[serde(serialize_with = "AddressResolutionProtocolIncomingNetworkPacketDropReason::serialize_non_null")]
header: NonNull<AddressResolutionProtocolPacketHeader>,
},
ReplySourceAndTargetProtocolAddressesAreTheSame
{
#[serde(serialize_with = "AddressResolutionProtocolIncomingNetworkPacketDropReason::serialize_non_null")]
header: NonNull<AddressResolutionProtocolPacketHeader>,
},
ReplySenderProtocolAddressIsNotValidUnicast
{
#[serde(serialize_with = "AddressResolutionProtocolIncomingNetworkPacketDropReason::serialize_non_null")]
header: NonNull<AddressResolutionProtocolPacketHeader>,
},
ReplyTargetProtocolAddressIsNotValidUnicast
{
#[serde(serialize_with = "AddressResolutionProtocolIncomingNetworkPacketDropReason::serialize_non_null")]
header: NonNull<AddressResolutionProtocolPacketHeader>,
},
}
impl IncomingNetworkPacketProcessingDropReason for AddressResolutionProtocolIncomingNetworkPacketDropReason
{
}
impl AddressResolutionProtocolIncomingNetworkPacketDropReason
{
#[inline(always)]
fn serialize_non_null<S: Serializer, T: Serialize>(to_serialize: &NonNull<T>, serializer: S) -> Result<S::Ok, S::Error>
{
unsafe { to_serialize.as_ref().serialize(serializer) }
}
}