66#define DEFINE_DROP_REASON (FN , FNe ) \
77 FN(NOT_SPECIFIED) \
88 FN(NO_SOCKET) \
9+ FN(SOCKET_CLOSE) \
10+ FN(SOCKET_FILTER) \
11+ FN(SOCKET_RCVBUFF) \
12+ FN(UNIX_DISCONNECT) \
913 FN(PKT_TOO_SMALL) \
1014 FN(TCP_CSUM) \
11- FN(SOCKET_FILTER) \
1215 FN(UDP_CSUM) \
1316 FN(NETFILTER_DROP) \
1417 FN(OTHERHOST) \
1821 FN(UNICAST_IN_L2_MULTICAST) \
1922 FN(XFRM_POLICY) \
2023 FN(IP_NOPROTO) \
21- FN(SOCKET_RCVBUFF) \
2224 FN(PROTO_MEM) \
2325 FN(TCP_MD5NOTFOUND) \
2426 FN(TCP_MD5UNEXPECTED) \
3133 FN(TCP_OVERWINDOW) \
3234 FN(TCP_OFOMERGE) \
3335 FN(TCP_RFC7323_PAWS) \
36+ FN(TCP_RFC7323_PAWS_ACK) \
37+ FN(TCP_RFC7323_TW_PAWS) \
38+ FN(TCP_RFC7323_TSECR) \
39+ FN(TCP_LISTEN_OVERFLOW) \
3440 FN(TCP_OLD_SEQUENCE) \
3541 FN(TCP_INVALID_SEQUENCE) \
3642 FN(TCP_INVALID_ACK_SEQUENCE) \
7783 FN(INVALID_PROTO) \
7884 FN(IP_INADDRERRORS) \
7985 FN(IP_INNOROUTES) \
86+ FN(IP_LOCAL_SOURCE) \
87+ FN(IP_INVALID_SOURCE) \
88+ FN(IP_LOCALNET) \
89+ FN(IP_INVALID_DEST) \
8090 FN(PKT_TOO_BIG) \
8191 FN(DUP_FRAG) \
8292 FN(FRAG_REASM_TIMEOUT) \
97107 FN(VXLAN_VNI_NOT_FOUND) \
98108 FN(MAC_INVALID_SOURCE) \
99109 FN(VXLAN_ENTRY_EXISTS) \
100- FN(VXLAN_NO_REMOTE ) \
110+ FN(NO_TX_TARGET ) \
101111 FN(IP_TUNNEL_ECN) \
102112 FN(TUNNEL_TXINFO) \
103113 FN(LOCAL_MAC) \
114+ FN(ARP_PVLAN_DISABLE) \
115+ FN(MAC_IEEE_MAC_CONTROL) \
116+ FN(BRIDGE_INGRESS_STP_STATE) \
104117 FNe(MAX)
105118
106119/**
@@ -125,12 +138,22 @@ enum skb_drop_reason {
125138 * 3) no valid child socket during 3WHS process
126139 */
127140 SKB_DROP_REASON_NO_SOCKET ,
141+ /** @SKB_DROP_REASON_SOCKET_CLOSE: socket is close()d */
142+ SKB_DROP_REASON_SOCKET_CLOSE ,
143+ /** @SKB_DROP_REASON_SOCKET_FILTER: dropped by socket filter */
144+ SKB_DROP_REASON_SOCKET_FILTER ,
145+ /** @SKB_DROP_REASON_SOCKET_RCVBUFF: socket receive buff is full */
146+ SKB_DROP_REASON_SOCKET_RCVBUFF ,
147+ /**
148+ * @SKB_DROP_REASON_UNIX_DISCONNECT: recv queue is purged when SOCK_DGRAM
149+ * or SOCK_SEQPACKET socket re-connect()s to another socket or notices
150+ * during send() that the peer has been close()d.
151+ */
152+ SKB_DROP_REASON_UNIX_DISCONNECT ,
128153 /** @SKB_DROP_REASON_PKT_TOO_SMALL: packet size is too small */
129154 SKB_DROP_REASON_PKT_TOO_SMALL ,
130155 /** @SKB_DROP_REASON_TCP_CSUM: TCP checksum error */
131156 SKB_DROP_REASON_TCP_CSUM ,
132- /** @SKB_DROP_REASON_SOCKET_FILTER: dropped by socket filter */
133- SKB_DROP_REASON_SOCKET_FILTER ,
134157 /** @SKB_DROP_REASON_UDP_CSUM: UDP checksum error */
135158 SKB_DROP_REASON_UDP_CSUM ,
136159 /** @SKB_DROP_REASON_NETFILTER_DROP: dropped by netfilter */
@@ -161,8 +184,6 @@ enum skb_drop_reason {
161184 SKB_DROP_REASON_XFRM_POLICY ,
162185 /** @SKB_DROP_REASON_IP_NOPROTO: no support for IP protocol */
163186 SKB_DROP_REASON_IP_NOPROTO ,
164- /** @SKB_DROP_REASON_SOCKET_RCVBUFF: socket receive buff is full */
165- SKB_DROP_REASON_SOCKET_RCVBUFF ,
166187 /**
167188 * @SKB_DROP_REASON_PROTO_MEM: proto memory limition, such as udp packet
168189 * drop out of udp_memory_allocated.
@@ -222,6 +243,24 @@ enum skb_drop_reason {
222243 * LINUX_MIB_PAWSESTABREJECTED, LINUX_MIB_PAWSACTIVEREJECTED
223244 */
224245 SKB_DROP_REASON_TCP_RFC7323_PAWS ,
246+ /**
247+ * @SKB_DROP_REASON_TCP_RFC7323_PAWS_ACK: PAWS check, old ACK packet.
248+ * Corresponds to LINUX_MIB_PAWS_OLD_ACK.
249+ */
250+ SKB_DROP_REASON_TCP_RFC7323_PAWS_ACK ,
251+ /**
252+ * @SKB_DROP_REASON_TCP_RFC7323_TW_PAWS: PAWS check, socket is in
253+ * TIME_WAIT state.
254+ * Corresponds to LINUX_MIB_PAWS_TW_REJECTED.
255+ */
256+ SKB_DROP_REASON_TCP_RFC7323_TW_PAWS ,
257+ /**
258+ * @SKB_DROP_REASON_TCP_RFC7323_TSECR: PAWS check, invalid TSEcr.
259+ * Corresponds to LINUX_MIB_TSECRREJECTED.
260+ */
261+ SKB_DROP_REASON_TCP_RFC7323_TSECR ,
262+ /** @SKB_DROP_REASON_TCP_LISTEN_OVERFLOW: listener queue full. */
263+ SKB_DROP_REASON_TCP_LISTEN_OVERFLOW ,
225264 /** @SKB_DROP_REASON_TCP_OLD_SEQUENCE: Old SEQ field (duplicate packet) */
226265 SKB_DROP_REASON_TCP_OLD_SEQUENCE ,
227266 /** @SKB_DROP_REASON_TCP_INVALID_SEQUENCE: Not acceptable SEQ field */
@@ -379,6 +418,21 @@ enum skb_drop_reason {
379418 * IPSTATS_MIB_INADDRERRORS
380419 */
381420 SKB_DROP_REASON_IP_INNOROUTES ,
421+ /** @SKB_DROP_REASON_IP_LOCAL_SOURCE: the source ip is local */
422+ SKB_DROP_REASON_IP_LOCAL_SOURCE ,
423+ /**
424+ * @SKB_DROP_REASON_IP_INVALID_SOURCE: the source ip is invalid:
425+ * 1) source ip is multicast or limited broadcast
426+ * 2) source ip is zero and not IGMP
427+ */
428+ SKB_DROP_REASON_IP_INVALID_SOURCE ,
429+ /** @SKB_DROP_REASON_IP_LOCALNET: source or dest ip is local net */
430+ SKB_DROP_REASON_IP_LOCALNET ,
431+ /**
432+ * @SKB_DROP_REASON_IP_INVALID_DEST: the dest ip is invalid:
433+ * 1) dest ip is 0
434+ */
435+ SKB_DROP_REASON_IP_INVALID_DEST ,
382436 /**
383437 * @SKB_DROP_REASON_PKT_TOO_BIG: packet size is too big (maybe exceed the
384438 * MTU)
@@ -447,8 +501,8 @@ enum skb_drop_reason {
447501 * entry or an entry pointing to a nexthop.
448502 */
449503 SKB_DROP_REASON_VXLAN_ENTRY_EXISTS ,
450- /** @SKB_DROP_REASON_VXLAN_NO_REMOTE : no remote found for xmit */
451- SKB_DROP_REASON_VXLAN_NO_REMOTE ,
504+ /** @SKB_DROP_REASON_NO_TX_TARGET : no target found for xmit */
505+ SKB_DROP_REASON_NO_TX_TARGET ,
452506 /**
453507 * @SKB_DROP_REASON_IP_TUNNEL_ECN: skb is dropped according to
454508 * RFC 6040 4.2, see __INET_ECN_decapsulate() for detail.
@@ -464,6 +518,22 @@ enum skb_drop_reason {
464518 * the MAC address of the local netdev.
465519 */
466520 SKB_DROP_REASON_LOCAL_MAC ,
521+ /**
522+ * @SKB_DROP_REASON_ARP_PVLAN_DISABLE: packet which is not IP is
523+ * forwarded to the in_dev, and the proxy_arp_pvlan is not
524+ * enabled.
525+ */
526+ SKB_DROP_REASON_ARP_PVLAN_DISABLE ,
527+ /**
528+ * @SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL: the destination MAC address
529+ * is an IEEE MAC Control address.
530+ */
531+ SKB_DROP_REASON_MAC_IEEE_MAC_CONTROL ,
532+ /**
533+ * @SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE: the STP state of the
534+ * ingress bridge port does not allow frames to be forwarded.
535+ */
536+ SKB_DROP_REASON_BRIDGE_INGRESS_STP_STATE ,
467537 /**
468538 * @SKB_DROP_REASON_MAX: the maximum of core drop reasons, which
469539 * shouldn't be used as a real 'reason' - only for tracing code gen
0 commit comments