ENUM SKB_DROP_REASON(9)
π
enum skb_drop_reason(9) π
Okay bestie, welcome to the Kernel API Manual page for enum skb_drop_reason(9) β the official roster of reasons an skb gets dropped. Itβs literally the receipts for packets that didnβt make it, and weβre going through every single one. π
β¨ NAME β¨
enum skb_drop_reason β the reasons of skb drops. No cap, thatβs the whole name section. π
π SYNOPSIS π
Hereβs the full enum lineup, verbatim, no edits, no crumbs left behind:
enum skb_drop_reason {
SKB_NOT_DROPPED_YET ,
SKB_CONSUMED ,
SKB_DROP_REASON_NOT_SPECIFIED ,
SKB_DROP_REASON_NO_SOCKET ,
SKB_DROP_REASON_SOCKET_CLOSE ,
SKB_DROP_REASON_SOCKET_FILTER ,
SKB_DROP_REASON_SOCKET_RCVBUFF ,
SKB_DROP_REASON_UNIX_DISCONNECT ,
SKB_DROP_REASON_UNIX_SKIP_OOB ,
SKB_DROP_REASON_PKT_TOO_SMALL ,
SKB_DROP_REASON_TCP_CSUM ,
SKB_DROP_REASON_UDP_CSUM ,
SKB_DROP_REASON_NETFILTER_DROP ,
SKB_DROP_REASON_OTHERHOST ,
SKB_DROP_REASON_IP_CSUM ,
SKB_DROP_REASON_IP_INHDR ,
SKB_DROP_REASON_IP_RPFILTER ,
SKB_DROP_REASON_UNICAST_IN_L2_MULTICAST ,
SKB_DROP_REASON_XFRM_POLICY ,
SKB_DROP_REASON_IP_NOPROTO ,
SKB_DROP_REASON_PROTO_MEM ,
SKB_DROP_REASON_TCP_AUTH_HDR ,
SKB_DROP_REASON_TCP_MD5NOTFOUND ,
SKB_DROP_REASON_TCP_MD5UNEXPECTED ,
SKB_DROP_REASON_TCP_MD5FAILURE ,
SKB_DROP_REASON_TCP_AONOTFOUND ,
SKB_DROP_REASON_TCP_AOUNEXPECTED ,
SKB_DROP_REASON_TCP_AOKEYNOTFOUND ,
SKB_DROP_REASON_TCP_AOFAILURE ,
SKB_DROP_REASON_SOCKET_BACKLOG ,
SKB_DROP_REASON_TCP_FLAGS ,
SKB_DROP_REASON_TCP_ABORT_ON_DATA ,
SKB_DROP_REASON_TCP_ZEROWINDOW ,
SKB_DROP_REASON_TCP_OLD_DATA ,
SKB_DROP_REASON_TCP_OVERWINDOW ,
SKB_DROP_REASON_TCP_OFOMERGE ,
SKB_DROP_REASON_TCP_RFC7323_PAWS ,
SKB_DROP_REASON_TCP_RFC7323_PAWS_ACK ,
SKB_DROP_REASON_TCP_RFC7323_TW_PAWS ,
SKB_DROP_REASON_TCP_RFC7323_TSECR ,
SKB_DROP_REASON_TCP_LISTEN_OVERFLOW ,
SKB_DROP_REASON_TCP_OLD_SEQUENCE ,
SKB_DROP_REASON_TCP_INVALID_SEQUENCE ,
SKB_DROP_REASON_TCP_INVALID_END_SEQUENCE ,
SKB_DROP_REASON_TCP_INVALID_ACK_SEQUENCE ,
SKB_DROP_REASON_TCP_RESET ,
SKB_DROP_REASON_TCP_INVALID_SYN ,
SKB_DROP_REASON_TCP_CLOSE ,
SKB_DROP_REASON_TCP_FASTOPEN ,
SKB_DROP_REASON_TCP_OLD_ACK ,
SKB_DROP_REASON_TCP_TOO_OLD_ACK ,
SKB_DROP_REASON_TCP_ACK_UNSENT_DATA ,
SKB_DROP_REASON_TCP_OFO_QUEUE_PRUNE ,
SKB_DROP_REASON_TCP_OFO_DROP ,
SKB_DROP_REASON_IP_OUTNOROUTES ,
SKB_DROP_REASON_BPF_CGROUP_EGRESS ,
SKB_DROP_REASON_IPV6DISABLED ,
SKB_DROP_REASON_NEIGH_CREATEFAIL ,
SKB_DROP_REASON_NEIGH_FAILED ,
SKB_DROP_REASON_NEIGH_QUEUEFULL ,
SKB_DROP_REASON_NEIGH_DEAD ,
SKB_DROP_REASON_NEIGH_HH_FILLFAIL ,
SKB_DROP_REASON_TC_EGRESS ,
SKB_DROP_REASON_SECURITY_HOOK ,
SKB_DROP_REASON_QDISC_DROP ,
SKB_DROP_REASON_QDISC_BURST_DROP ,
SKB_DROP_REASON_CPU_BACKLOG ,
SKB_DROP_REASON_MACVLAN_BROADCAST_BACKLOG ,
SKB_DROP_REASON_IPVLAN_MULTICAST_BACKLOG ,
SKB_DROP_REASON_XDP ,
SKB_DROP_REASON_TC_INGRESS ,
SKB_DROP_REASON_UNHANDLED_PROTO ,
SKB_DROP_REASON_SKB_CSUM ,
SKB_DROP_REASON_SKB_GSO_SEG ,
SKB_DROP_REASON_SKB_BAD_GSO ,
SKB_DROP_REASON_SKB_UCOPY_FAULT ,
SKB_DROP_REASON_DEV_HDR ,
SKB_DROP_REASON_DEV_READY ,
SKB_DROP_REASON_FULL_RING ,
SKB_DROP_REASON_NOMEM ,
SKB_DROP_REASON_HDR_TRUNC ,
SKB_DROP_REASON_TAP_FILTER ,
SKB_DROP_REASON_TAP_TXFILTER ,
SKB_DROP_REASON_ICMP_CSUM ,
SKB_DROP_REASON_INVALID_PROTO ,
SKB_DROP_REASON_IP_INADDRERRORS ,
SKB_DROP_REASON_IP_INNOROUTES ,
SKB_DROP_REASON_IP_LOCAL_SOURCE ,
SKB_DROP_REASON_IP_INVALID_SOURCE ,
SKB_DROP_REASON_IP_LOCALNET ,
SKB_DROP_REASON_IP_INVALID_DEST ,
SKB_DROP_REASON_PKT_TOO_BIG ,
SKB_DROP_REASON_DUP_FRAG ,
SKB_DROP_REASON_FRAG_REASM_TIMEOUT ,
SKB_DROP_REASON_FRAG_TOO_FAR ,
SKB_DROP_REASON_TCP_MINTTL ,
SKB_DROP_REASON_IPV6_BAD_EXTHDR ,
SKB_DROP_REASON_IPV6_TOO_MANY_EXTHDRS ,
SKB_DROP_REASON_IPV6_NDISC_FRAG ,
SKB_DROP_REASON_IPV6_NDISC_HOP_LIMIT ,
SKB_DROP_REASON_IPV6_NDISC_BAD_CODE ,
SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONS ,
SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOST ,
SKB_DROP_REASON_QUEUE_PURGE ,
SKB_DROP_REASON_TC_COOKIE_ERROR ,
SKB_DROP_REASON_PACKET_SOCK_ERROR ,
SKB_DROP_REASON_TC_CHAIN_NOTFOUND ,
SKB_DROP_REASON_TC_RECLASSIFY_LOOP ,
SKB_DROP_REASON_VXLAN_INVALID_HDR ,
SKB_DROP_REASON_VXLAN_VNI_NOT_FOUND ,
SKB_DROP_REASON_MAC_INVALID_SOURCE ,
SKB_DROP_REASON_VXLAN_ENTRY_EXISTS ,
SKB_DROP_REASON_NO_TX_TARGET ,
SKB_DROP_REASON_IP_TUNNEL_ECN ,
SKB_DROP_REASON_TUNNEL_TXINFO ,
SKB_DROP_REASON_LOCAL_MAC ,
SKB_DROP_REASON_ARP_PVLAN_DISABLE ,
SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL ,
SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE ,
SKB_DROP_REASON_CAN_RX_INVALID_FRAME ,
SKB_DROP_REASON_CANFD_RX_INVALID_FRAME ,
SKB_DROP_REASON_CANXL_RX_INVALID_FRAME ,
SKB_DROP_REASON_PFMEMALLOC ,
SKB_DROP_REASON_PSP_INPUT ,
SKB_DROP_REASON_PSP_OUTPUT ,
SKB_DROP_REASON_RECURSION_LIMIT ,
SKB_DROP_REASON_MAX ,
SKB_DROP_REASON_SUBSYS_MASK
};
π Constants π
These are the constants, bestie β each one a little label for why the packet got sent to the shadow realm. π¦
SKB_NOT_DROPPED_YETβ skb is not dropped yet, used for the no-drop case. Itβs giving βstill alive and thrivingβ energy. β¨SKB_CONSUMEDβ packet has been consumed. Gone, eaten, no crumbs. πSKB_DROP_REASON_NOT_SPECIFIEDβ drop reason is not specified. We literally donβt know why. πSKB_DROP_REASON_NO_SOCKETβ no valid socket that can be used. The reason could be one of three cases:- no established/listening socket found during lookup process
- no valid request socket during 3WHS process
- no valid child socket during 3WHS process
SKB_DROP_REASON_SOCKET_CLOSEβ socket is closed.SKB_DROP_REASON_SOCKET_FILTERβ dropped by socket filter.SKB_DROP_REASON_SOCKET_RCVBUFFβ socket receive buff is full.SKB_DROP_REASON_UNIX_DISCONNECTβ recv queue is purged whenSOCK_DGRAMorSOCK_SEQPACKETsocket re-connects to another socket or notices during send that the peer has been closed.SKB_DROP_REASON_UNIX_SKIP_OOBβ Out-Of-Band data is skipped by recv withoutMSG_OOBso dropped.SKB_DROP_REASON_PKT_TOO_SMALLβ packet size is too small.SKB_DROP_REASON_TCP_CSUMβ TCP checksum error.SKB_DROP_REASON_UDP_CSUMβ UDP checksum error.SKB_DROP_REASON_NETFILTER_DROPβ dropped by netfilter.SKB_DROP_REASON_OTHERHOSTβ packet donβt belong to current host (interface is in promisc mode).SKB_DROP_REASON_IP_CSUMβ IP checksum error.SKB_DROP_REASON_IP_INHDRβ there is something wrong with IP header (seeIPSTATS_MIB_INHDRERRORS).SKB_DROP_REASON_IP_RPFILTERβ IP rpfilter validate failed. See the document forrp_filterinip-sysctl.rstfor more information.SKB_DROP_REASON_UNICAST_IN_L2_MULTICASTβ destination address of L2 is multicast, but L3 is unicast.SKB_DROP_REASON_XFRM_POLICYβ xfrm policy check failed.SKB_DROP_REASON_IP_NOPROTOβ no support for IP protocol.SKB_DROP_REASON_PROTO_MEMβ proto memory limitation, such as udp packet drop out ofudp_memory_allocated.SKB_DROP_REASON_TCP_AUTH_HDRβ TCP-MD5 or TCP-AO hashes are met twice or set incorrectly.SKB_DROP_REASON_TCP_MD5NOTFOUNDβ no MD5 hash and one expected, corresponding toLINUX_MIB_TCPMD5NOTFOUND.SKB_DROP_REASON_TCP_MD5UNEXPECTEDβ MD5 hash and weβre not expecting one, corresponding toLINUX_MIB_TCPMD5UNEXPECTED.SKB_DROP_REASON_TCP_MD5FAILUREβ MD5 hash and its wrong, corresponding toLINUX_MIB_TCPMD5FAILURE.SKB_DROP_REASON_TCP_AONOTFOUNDβ no TCP-AO hash and one was expected, corresponding toLINUX_MIB_TCPAOREQUIRED.SKB_DROP_REASON_TCP_AOUNEXPECTEDβ TCP-AO hash is present and it was not expected, corresponding toLINUX_MIB_TCPAOKEYNOTFOUND.SKB_DROP_REASON_TCP_AOKEYNOTFOUNDβ TCP-AO key is unknown, corresponding toLINUX_MIB_TCPAOKEYNOTFOUND.SKB_DROP_REASON_TCP_AOFAILUREβ TCP-AO hash is wrong, corresponding toLINUX_MIB_TCPAOBAD.SKB_DROP_REASON_SOCKET_BACKLOGβ failed to add skb to socket backlog (seeLINUX_MIB_TCPBACKLOGDROP).SKB_DROP_REASON_TCP_FLAGSβ TCP flags invalid.SKB_DROP_REASON_TCP_ABORT_ON_DATAβ abort on data, corresponding toLINUX_MIB_TCPABORTONDATA.SKB_DROP_REASON_TCP_ZEROWINDOWβ TCP receive window size is zero, seeLINUX_MIB_TCPZEROWINDOWDROP.SKB_DROP_REASON_TCP_OLD_DATAβ the TCP data received is already received before (spurious retrans may happened), seeLINUX_MIB_DELAYEDACKLOST.SKB_DROP_REASON_TCP_OVERWINDOWβ the TCP data is out of window, the seq of the first byte exceed the right edges of receive window.SKB_DROP_REASON_TCP_OFOMERGEβ the data of skb is already in the ofo queue, corresponding toLINUX_MIB_TCPOFOMERGE.SKB_DROP_REASON_TCP_RFC7323_PAWSβ PAWS check, corresponding toLINUX_MIB_PAWSESTABREJECTED,LINUX_MIB_PAWSACTIVEREJECTED.SKB_DROP_REASON_TCP_RFC7323_PAWS_ACKβ PAWS check, old ACK packet. Corresponds toLINUX_MIB_PAWS_OLD_ACK.SKB_DROP_REASON_TCP_RFC7323_TW_PAWSβ PAWS check, socket is in TIME_WAIT state. Corresponds toLINUX_MIB_PAWS_TW_REJECTED.SKB_DROP_REASON_TCP_RFC7323_TSECRβ PAWS check, invalid TSEcr. Corresponds toLINUX_MIB_TSECRREJECTED.SKB_DROP_REASON_TCP_LISTEN_OVERFLOWβ listener queue full.SKB_DROP_REASON_TCP_OLD_SEQUENCEβ Old SEQ field (duplicate packet).SKB_DROP_REASON_TCP_INVALID_SEQUENCEβ Not acceptable SEQ field.SKB_DROP_REASON_TCP_INVALID_END_SEQUENCEβ Not acceptable END_SEQ field. Corresponds toLINUX_MIB_BEYOND_WINDOW.SKB_DROP_REASON_TCP_INVALID_ACK_SEQUENCEβ Not acceptable ACK SEQ field because ack sequence is not in the window betweensnd_unaandsnd_nxt.SKB_DROP_REASON_TCP_RESETβ Invalid RST packet.SKB_DROP_REASON_TCP_INVALID_SYNβ Incoming packet has unexpected SYN flag.SKB_DROP_REASON_TCP_CLOSEβ TCP socket in CLOSE state.SKB_DROP_REASON_TCP_FASTOPENβ dropped by FASTOPEN request socket β¨SKB_DROP_REASON_TCP_OLD_ACKβ TCP ACK is old, but in windowSKB_DROP_REASON_TCP_TOO_OLD_ACKβ TCP ACK is too old πSKB_DROP_REASON_TCP_ACK_UNSENT_DATAβ TCP ACK for data we haven't sent yet (bold of it tbh)SKB_DROP_REASON_TCP_OFO_QUEUE_PRUNEβ pruned from TCP OFO queueSKB_DROP_REASON_TCP_OFO_DROPβ data already in receive queueSKB_DROP_REASON_IP_OUTNOROUTESβ route lookup failed π«SKB_DROP_REASON_BPF_CGROUP_EGRESSβ dropped byBPF_PROG_TYPE_CGROUP_SKBeBPF programSKB_DROP_REASON_IPV6DISABLEDβ IPv6 is disabled on the deviceSKB_DROP_REASON_NEIGH_CREATEFAILβ failed to create neigh entrySKB_DROP_REASON_NEIGH_FAILEDβ neigh entry in failed stateSKB_DROP_REASON_NEIGH_QUEUEFULLβarp_queuefor neigh entry is fullSKB_DROP_REASON_NEIGH_DEADβ neigh entry is dead πSKB_DROP_REASON_NEIGH_HH_FILLFAILβ failed to fill the device hard headerSKB_DROP_REASON_TC_EGRESSβ dropped in TC egress HOOKSKB_DROP_REASON_SECURITY_HOOKβ dropped due to security HOOKSKB_DROP_REASON_QDISC_DROPβ dropped by qdisc during enqueue or dequeue. More specific drop reasons are available via theqdisc:qdisc_droptracepoint, which also provides qdisc handle and name for identifying the source πSKB_DROP_REASON_QDISC_BURST_DROPβ dropped whennet.core.qdisc_max_burstlimit is hit.SKB_DROP_REASON_CPU_BACKLOGβ failed to enqueue the skb to the per CPU backlog queue. This can be caused by backlog queue full (seenetdev_max_backloginnet.rst) or RPS flow limitSKB_DROP_REASON_MACVLAN_BROADCAST_BACKLOGβ failed to enqueue the skb to macvlan broadcast queue.SKB_DROP_REASON_IPVLAN_MULTICAST_BACKLOGβ failed to enqueue the skb to ipvlan multicast queue.SKB_DROP_REASON_XDPβ dropped by XDP in input pathSKB_DROP_REASON_TC_INGRESSβ dropped in TC ingress HOOKSKB_DROP_REASON_UNHANDLED_PROTOβ protocol not implemented or not supportedSKB_DROP_REASON_SKB_CSUMβsk_buffchecksum computation errorSKB_DROP_REASON_SKB_GSO_SEGβ gso segmentation errorSKB_DROP_REASON_SKB_BAD_GSOβ malicious gso packet. π¨SKB_DROP_REASON_SKB_UCOPY_FAULTβ failed to copy data from user space, e.g., viazerocopy_sg_from_iterorskb_orphan_frags_rxSKB_DROP_REASON_DEV_HDRβ device driver specific header/metadata is invalidSKB_DROP_REASON_DEV_READYβ the device is not ready to xmit/recv due to any of its data structure that is not up/ready/initialized, e.g., theIFF_UPis not set, or driver specifictun->tfiles[txq]is not initializedSKB_DROP_REASON_FULL_RINGβ ring buffer is fullSKB_DROP_REASON_NOMEMβ error due to OOMSKB_DROP_REASON_HDR_TRUNCβ failed to trunc/extract the header from networking data, e.g., failed to pull the protocol header from frags viapskb_may_pullSKB_DROP_REASON_TAP_FILTERβ dropped by (ebpf) filter directly attached to tun/tap, e.g., viaTUNSETFILTEREBPFSKB_DROP_REASON_TAP_TXFILTERβ dropped by tx filter implemented at tun/tap, e.g.,check_filterSKB_DROP_REASON_ICMP_CSUMβ ICMP checksum errorSKB_DROP_REASON_INVALID_PROTOβ the packet doesn't follow RFC 2211, such as a broadcastsICMP_TIMESTAMPSKB_DROP_REASON_IP_INADDRERRORSβ host unreachable, corresponding toIPSTATS_MIB_INADDRERRORSSKB_DROP_REASON_IP_INNOROUTESβ network unreachable, corresponding toIPSTATS_MIB_INADDRERRORSSKB_DROP_REASON_IP_LOCAL_SOURCEβ the source ip is localSKB_DROP_REASON_IP_INVALID_SOURCEβ the source ip is invalid:- source ip is multicast or limited broadcast
- source ip is zero and not IGMP
SKB_DROP_REASON_IP_LOCALNETβ source or dest ip is local netSKB_DROP_REASON_IP_INVALID_DESTβ the dest ip is invalid:- dest ip is
0
- dest ip is
SKB_DROP_REASON_PKT_TOO_BIGβ packet size is too big (maybe exceed the MTU)SKB_DROP_REASON_DUP_FRAGβ duplicate fragmentSKB_DROP_REASON_FRAG_REASM_TIMEOUTβ fragment reassembly timeout β°SKB_DROP_REASON_FRAG_TOO_FARβ ipv4 fragment too far. (/proc/sys/net/ipv4/ipfrag_max_dist)SKB_DROP_REASON_TCP_MINTTLβ ipv4 ttl or ipv6 hoplimit below the threshold (IP_MINTTLorIPV6_MINHOPCOUNT).SKB_DROP_REASON_IPV6_BAD_EXTHDRβ Bad IPv6 extension header.SKB_DROP_REASON_IPV6_TOO_MANY_EXTHDRSβ Number of IPv6 extension headers in the packet exceedsIP6_MAX_EXT_HDRS_CNT.SKB_DROP_REASON_IPV6_NDISC_FRAGβ invalid frag (suppress_frag_ndisc).SKB_DROP_REASON_IPV6_NDISC_HOP_LIMITβ invalid hop limit.SKB_DROP_REASON_IPV6_NDISC_BAD_CODEβ invalid NDISCicmp6code.SKB_DROP_REASON_IPV6_NDISC_BAD_OPTIONSβ invalid NDISC options.SKB_DROP_REASON_IPV6_NDISC_NS_OTHERHOSTβ NEIGHBOUR SOLICITATION for another host.SKB_DROP_REASON_QUEUE_PURGEβ bulk free.SKB_DROP_REASON_TC_COOKIE_ERRORβ An error occurred whilst processing a tc ext cookie.SKB_DROP_REASON_PACKET_SOCK_ERRORβ generic packet socket errors after its filter matches an incoming packet.SKB_DROP_REASON_TC_CHAIN_NOTFOUNDβ tc chain lookup failed. πSKB_DROP_REASON_TC_RECLASSIFY_LOOPβ tc exceeded max reclassify loop iterations.SKB_DROP_REASON_VXLAN_INVALID_HDRβ VXLAN header is invalid. E.g.:- reserved fields are not zero
- "I" flag is not set
SKB_DROP_REASON_VXLAN_VNI_NOT_FOUNDβ no VXLAN device found for VNISKB_DROP_REASON_MAC_INVALID_SOURCEβ source mac is invalidSKB_DROP_REASON_VXLAN_ENTRY_EXISTSβ trying to migrate a static entry or an entry pointing to a nexthop.SKB_DROP_REASON_NO_TX_TARGETβ no target found for xmitSKB_DROP_REASON_IP_TUNNEL_ECNβ skb is dropped according to RFC 6040 4.2, see__INET_ECN_decapsulatefor detail.SKB_DROP_REASON_TUNNEL_TXINFOβ packet without necessary metadata reached a device which is in "external" mode.SKB_DROP_REASON_LOCAL_MACβ the source MAC address is equal to the MAC address of the local netdev.SKB_DROP_REASON_ARP_PVLAN_DISABLEβ packet which is not IP is forwarded to thein_dev, and theproxy_arp_pvlanis not enabled.SKB_DROP_REASON_MAC_IEEE_MAC_CONTROLβ the destination MAC address is an IEEE MAC Control address.SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATEβ the STP state of the ingress bridge port does not allow frames to be forwarded.SKB_DROP_REASON_CAN_RX_INVALID_FRAMEβ received non conform CAN frame (or device is unable to receive CAN frames)SKB_DROP_REASON_CANFD_RX_INVALID_FRAMEβ received non conform CAN-FD frame (or device is unable to receive CAN frames)SKB_DROP_REASON_CANXL_RX_INVALID_FRAMEβ received non conform CAN-XL frame (or device is unable to receive CAN frames)SKB_DROP_REASON_PFMEMALLOCβ packet allocated from memory reserve reached a path or socket not eligible for use of memory reservesSKB_DROP_REASON_PSP_INPUTβ PSP input checks failedSKB_DROP_REASON_PSP_OUTPUTβ PSP output checks failedSKB_DROP_REASON_RECURSION_LIMITβ Dead loop on virtual device. πSKB_DROP_REASON_MAXβ the maximum of core drop reasons, which shouldn't be used as a real 'reason' β only for tracing code gen. No cap, do not use it as an actual reason.SKB_DROP_REASON_SUBSYS_MASKβ subsystem mask in drop reasons, see enumskb_drop_reason_subsys
πΈ Description πΈ
Okay so this whole enum is the reason of skb drop, which is used in kfree_skb_reason. That's the whole vibe β every time the kernel yeets a socket buffer, one of these tells you why. π«Ά
π¦ SEE ALSO π¦
Kernel file ./include/net/dropreason-core.h
And that's a wrap bestie, you made it to the end of the drop-reason lore π This page came from the source path ./include/net, dated October 2026, and it's the enum skb_drop_reason(9) page β iconic, no notes πβ¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms