ip: reassembly: drop zero length fragments
[vpp.git] / src / vnet / ip / ip6_error.h
index a280716..6e5df0e 100644 (file)
@@ -40,6 +40,7 @@
 #ifndef included_ip_ip6_error_h
 #define included_ip_ip6_error_h
 
+// clang-format off
 #define foreach_ip6_error                                               \
   /* Must be first. */                                                  \
   _ (NONE, "valid ip6 packets")                                         \
@@ -54,8 +55,8 @@
   _ (MTU_EXCEEDED, "ip6 MTU exceeded")                                  \
   _ (DST_LOOKUP_MISS, "ip6 destination lookup miss")                    \
   _ (SRC_LOOKUP_MISS, "ip6 source lookup miss")                         \
-  _ (ADJACENCY_DROP, "ip6 adjacency drop")                              \
-  _ (ADJACENCY_PUNT, "ip6 adjacency punt")                              \
+  _ (DROP, "ip6 drop")                                                  \
+  _ (PUNT, "ip6 punt")                                                  \
                                                                         \
   /* Errors signalled by ip6-local. */                                  \
   _ (UNKNOWN_PROTOCOL, "unknown ip protocol")                           \
                                                                         \
  /* Erros singalled by ip6-inacl */                                     \
   _ (INACL_TABLE_MISS, "input ACL table-miss drops")                    \
-  _ (INACL_SESSION_DENY, "input ACL session deny drops")
+  _ (INACL_SESSION_DENY, "input ACL session deny drops")                \
+ /* Erros singalled by ip6-outacl */                                    \
+  _ (OUTACL_TABLE_MISS, "output ACL table-miss drops")                  \
+  _ (OUTACL_SESSION_DENY, "output ACL session deny drops")              \
+                                                                        \
+  /* Errors from mfib-forward */                                        \
+  _ (RPF_FAILURE, "Multicast RPF check failed")                         \
+                                                                        \
+  /* Errors signalled by ip6-reassembly */                              \
+  _ (REASS_MISSING_UPPER, "missing-upper layer drops")                  \
+  _ (REASS_DUPLICATE_FRAGMENT, "duplicate fragments")                   \
+  _ (REASS_OVERLAPPING_FRAGMENT, "overlapping fragments")               \
+  _ (REASS_LIMIT_REACHED, "drops due to concurrent reassemblies limit") \
+  _ (REASS_FRAGMENT_CHAIN_TOO_LONG, "fragment chain too long (drop)")   \
+  _ (REASS_NO_BUF, "out of buffers (drop)")                             \
+  _ (REASS_TIMEOUT, "fragments dropped due to reassembly timeout")      \
+  _ (REASS_INTERNAL_ERROR, "drops due to internal reassembly error")    \
+  _ (REASS_INVALID_FRAG_LEN, "invalid fragment length")    \
+  _ (REASS_UNSUPP_IP_PROTO, "unsupported ip protocol")
+
+// clang-format on
 
 typedef enum
 {