Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/netipsec/key_debug.h
39475 views
1
/* $KAME: key_debug.h,v 1.10 2001/08/05 08:37:52 itojun Exp $ */
2
3
/*-
4
* SPDX-License-Identifier: BSD-3-Clause
5
*
6
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
7
* All rights reserved.
8
*
9
* Redistribution and use in source and binary forms, with or without
10
* modification, are permitted provided that the following conditions
11
* are met:
12
* 1. Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
* 2. Redistributions in binary form must reproduce the above copyright
15
* notice, this list of conditions and the following disclaimer in the
16
* documentation and/or other materials provided with the distribution.
17
* 3. Neither the name of the project nor the names of its contributors
18
* may be used to endorse or promote products derived from this software
19
* without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
22
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24
* ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
25
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31
* SUCH DAMAGE.
32
*/
33
34
#ifndef _NETIPSEC_KEY_DEBUG_H_
35
#define _NETIPSEC_KEY_DEBUG_H_
36
37
#ifdef _KERNEL
38
/* debug flags */
39
#define KEYDEBUG_STAMP 0x00000001 /* path */
40
#define KEYDEBUG_DATA 0x00000002 /* data */
41
#define KEYDEBUG_DUMP 0x00000004 /* dump */
42
43
#define KEYDEBUG_KEY 0x00000010 /* key processing */
44
#define KEYDEBUG_ALG 0x00000020 /* ciph & auth algorithm */
45
#define KEYDEBUG_IPSEC 0x00000040 /* ipsec processing */
46
47
#define KEYDEBUG_KEY_STAMP (KEYDEBUG_KEY | KEYDEBUG_STAMP)
48
#define KEYDEBUG_KEY_DATA (KEYDEBUG_KEY | KEYDEBUG_DATA)
49
#define KEYDEBUG_KEY_DUMP (KEYDEBUG_KEY | KEYDEBUG_DUMP)
50
#define KEYDEBUG_ALG_STAMP (KEYDEBUG_ALG | KEYDEBUG_STAMP)
51
#define KEYDEBUG_ALG_DATA (KEYDEBUG_ALG | KEYDEBUG_DATA)
52
#define KEYDEBUG_ALG_DUMP (KEYDEBUG_ALG | KEYDEBUG_DUMP)
53
#define KEYDEBUG_IPSEC_STAMP (KEYDEBUG_IPSEC | KEYDEBUG_STAMP)
54
#define KEYDEBUG_IPSEC_DATA (KEYDEBUG_IPSEC | KEYDEBUG_DATA)
55
#define KEYDEBUG_IPSEC_DUMP (KEYDEBUG_IPSEC | KEYDEBUG_DUMP)
56
57
#ifdef IPSEC_DEBUG
58
#define KEYDBG(lev, arg) \
59
if ((V_key_debug_level & (KEYDEBUG_ ## lev)) == (KEYDEBUG_ ## lev)) { \
60
arg; \
61
}
62
#else
63
#define KEYDBG(lev, arg)
64
#endif /* !IPSEC_DEBUG */
65
66
VNET_DECLARE(uint32_t, key_debug_level);
67
#define V_key_debug_level VNET(key_debug_level)
68
#endif /*_KERNEL*/
69
70
struct sadb_msg;
71
struct sadb_ext;
72
extern void kdebug_sadb(struct sadb_msg *);
73
extern void kdebug_sadb_x_policy(struct sadb_ext *);
74
75
#ifdef _KERNEL
76
struct secpolicy;
77
struct secpolicyindex;
78
struct secasindex;
79
struct secashead;
80
struct secasvar;
81
struct secreplay;
82
struct mbuf;
83
union sockaddr_union;
84
const char* kdebug_secpolicy_state(u_int);
85
const char* kdebug_secpolicy_policy(u_int);
86
const char* kdebug_secpolicyindex_dir(u_int);
87
const char* kdebug_ipsecrequest_level(u_int);
88
const char* kdebug_secasindex_mode(u_int);
89
const char* kdebug_secasv_state(u_int);
90
void kdebug_secpolicy(struct secpolicy *);
91
void kdebug_secpolicyindex(struct secpolicyindex *, const char *);
92
void kdebug_secasindex(const struct secasindex *, const char *);
93
void kdebug_secash(struct secashead *, const char *);
94
void kdebug_secasv(struct secasvar *);
95
void kdebug_mbufhdr(const struct mbuf *);
96
void kdebug_mbuf(const struct mbuf *);
97
char *ipsec_address(const union sockaddr_union *, char *, socklen_t);
98
char *ipsec_sa2str(struct secasvar *, char *, size_t);
99
#endif /*_KERNEL*/
100
101
struct sockaddr;
102
extern void kdebug_sockaddr(struct sockaddr *);
103
104
extern void ipsec_hexdump(caddr_t, int);
105
extern void ipsec_bindump(caddr_t, int);
106
107
#endif /* _NETIPSEC_KEY_DEBUG_H_ */
108
109