summaryrefslogtreecommitdiffstats
path: root/src/vnet/ip/icmp6.h
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2019-01-07 09:15:47 -0500
committerFlorin Coras <florin.coras@gmail.com>2019-01-07 16:47:09 +0000
commit3a63fc5470caffda434064a439ffdbe8518963f9 (patch)
tree5413c1a884269a7c93c1ed468608222a2dbd9590 /src/vnet/ip/icmp6.h
parent9d7570ccde4ded1c5feea097b10272870bfc81da (diff)
Handle buffer alloc failure in vlib_buffer_add_data
It's not OK to crash due to a transient buffer allocation failure. Return 1 if the requested operation failed, otherwise 0. Buffer index parameter change to a value-result, so the caller can differentiate between partial and complete allocation failure: callers which request an initial allocation (inbound bi = ~0) need to check the (out) value to decide whether or not to call vlib_buffer_free(...). Change-Id: I03029d7f2714c17dca4630dfd95a1eb578b68384 Signed-off-by: Dave Barach <dave@barachs.net>
Diffstat (limited to 'src/vnet/ip/icmp6.h')
-rw-r--r--src/vnet/ip/icmp6.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/vnet/ip/icmp6.h b/src/vnet/ip/icmp6.h
index 1cac8240466..628d225eac4 100644
--- a/src/vnet/ip/icmp6.h
+++ b/src/vnet/ip/icmp6.h
@@ -46,7 +46,8 @@
_ (PACKET_TOO_BIG_SENT, "packet too big response sent") \
_ (TTL_EXPIRE_SENT, "hop limit exceeded response sent") \
_ (PARAM_PROBLEM_SENT, "parameter problem response sent") \
- _ (DROP, "error message dropped")
+ _ (DROP, "error message dropped") \
+ _ (ALLOC_FAILURE, "buffer allocation failure")
typedef enum