FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
ip6_error.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2015 Cisco and/or its affiliates.
3
* Licensed under the Apache License, Version 2.0 (the "License");
4
* you may not use this file except in compliance with the License.
5
* You may obtain a copy of the License at:
6
*
7
* http://www.apache.org/licenses/LICENSE-2.0
8
*
9
* Unless required by applicable law or agreed to in writing, software
10
* distributed under the License is distributed on an "AS IS" BASIS,
11
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
* See the License for the specific language governing permissions and
13
* limitations under the License.
14
*/
15
/*
16
* ip/ip6_error.h: ip6 fast path errors
17
*
18
* Copyright (c) 2008 Eliot Dresselhaus
19
*
20
* Permission is hereby granted, free of charge, to any person obtaining
21
* a copy of this software and associated documentation files (the
22
* "Software"), to deal in the Software without restriction, including
23
* without limitation the rights to use, copy, modify, merge, publish,
24
* distribute, sublicense, and/or sell copies of the Software, and to
25
* permit persons to whom the Software is furnished to do so, subject to
26
* the following conditions:
27
*
28
* The above copyright notice and this permission notice shall be
29
* included in all copies or substantial portions of the Software.
30
*
31
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
32
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
33
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
34
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
35
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
36
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
37
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
38
*/
39
40
#ifndef included_ip_ip6_error_h
41
#define included_ip_ip6_error_h
42
43
#define foreach_ip6_error \
44
/* Must be first. */
\
45
_ (NONE, "valid ip6 packets") \
46
\
47
/* Errors signalled by ip6-input */
\
48
_ (TOO_SHORT, "ip6 length < 40 bytes") \
49
_ (BAD_LENGTH, "ip6 length > l2 length") \
50
_ (VERSION, "ip6 version != 6") \
51
_ (TIME_EXPIRED, "ip6 ttl <= 1") \
52
\
53
/* Errors signalled by ip6-rewrite. */
\
54
_ (MTU_EXCEEDED, "ip6 MTU exceeded") \
55
_ (DST_LOOKUP_MISS, "ip6 destination lookup miss") \
56
_ (SRC_LOOKUP_MISS, "ip6 source lookup miss") \
57
_ (DROP, "ip6 drop") \
58
_ (PUNT, "ip6 punt") \
59
\
60
/* Errors signalled by ip6-local. */
\
61
_ (UNKNOWN_PROTOCOL, "unknown ip protocol") \
62
_ (UDP_CHECKSUM, "bad udp checksum") \
63
_ (ICMP_CHECKSUM, "bad icmp checksum") \
64
_ (UDP_LENGTH, "inconsistent udp/ip lengths") \
65
\
66
/* Errors signalled by udp6-lookup. */
\
67
_ (UNKNOWN_UDP_PORT, "no listener for udp port") \
68
\
69
/* Spoofed packets in ip6-rewrite-local */
\
70
_(SPOOFED_LOCAL_PACKETS, "ip4 spoofed local-address packet drops") \
71
\
72
/* Erros singalled by ip6-inacl */
\
73
_ (INACL_TABLE_MISS, "input ACL table-miss drops") \
74
_ (INACL_SESSION_DENY, "input ACL session deny drops") \
75
/* Erros singalled by ip6-outacl */
\
76
_ (OUTACL_TABLE_MISS, "output ACL table-miss drops") \
77
_ (OUTACL_SESSION_DENY, "output ACL session deny drops") \
78
\
79
/* Errors signalled by ip6-reassembly */
\
80
_ (REASS_MISSING_UPPER, "missing-upper layer drops") \
81
_ (REASS_DUPLICATE_FRAGMENT, "duplicate fragments") \
82
_ (REASS_OVERLAPPING_FRAGMENT, "overlapping fragments") \
83
_ (REASS_LIMIT_REACHED, "drops due to concurrent reassemblies limit") \
84
_ (REASS_FRAGMENT_CHAIN_TOO_LONG, "fragment chain too long (drop)") \
85
_ (REASS_NO_BUF, "out of buffers (drop)") \
86
_ (REASS_TIMEOUT, "fragments dropped due to reassembly timeout") \
87
_ (REASS_INTERNAL_ERROR, "drops due to internal reassembly error") \
88
_ (REASS_UNSUPP_IP_PROTO, "unsupported ip protocol")
89
90
typedef
enum
91
{
92
#define _(sym,str) IP6_ERROR_##sym,
93
foreach_ip6_error
94
#undef _
95
IP6_N_ERROR
,
96
}
ip6_error_t
;
97
98
#endif
/* included_ip_ip6_error_h */
99
100
/*
101
* fd.io coding-style-patch-verification: ON
102
*
103
* Local Variables:
104
* eval: (c-set-style "gnu")
105
* End:
106
*/
ip6_error_t
ip6_error_t
Definition:
ip6_error.h:90
IP6_N_ERROR
@ IP6_N_ERROR
Definition:
ip6_error.h:95
foreach_ip6_error
#define foreach_ip6_error
Definition:
ip6_error.h:43
src
vnet
ip
ip6_error.h
Generated on Sat Jan 8 2022 10:36:34 for FD.io VPP by
1.8.17