MCPcopy Create free account
hub / github.com/F-Stack/f-stack / kdebug_sadb

Function kdebug_sadb

freebsd/netipsec/key_debug.c:167–267  ·  view source on GitHub ↗

%%%: about struct sadb_msg */

Source from the content-addressed store, hash-verified

165
166/* %%%: about struct sadb_msg */
167void
168kdebug_sadb(struct sadb_msg *base)
169{
170 struct sadb_ext *ext;
171 int tlen, extlen;
172
173 /* sanity check */
174 if (base == NULL)
175 panic("%s: NULL pointer was passed.\n", __func__);
176
177 printf("sadb_msg{ version=%u type=%u(%s) errno=%u satype=%u\n",
178 base->sadb_msg_version, base->sadb_msg_type,
179 kdebug_sadb_type(base->sadb_msg_type),
180 base->sadb_msg_errno, base->sadb_msg_satype);
181 printf(" len=%u reserved=%u seq=%u pid=%u\n",
182 base->sadb_msg_len, base->sadb_msg_reserved,
183 base->sadb_msg_seq, base->sadb_msg_pid);
184
185 tlen = PFKEY_UNUNIT64(base->sadb_msg_len) - sizeof(struct sadb_msg);
186 ext = (struct sadb_ext *)((caddr_t)base + sizeof(struct sadb_msg));
187
188 while (tlen > 0) {
189 printf("sadb_ext{ len=%u type=%u(%s) }\n",
190 ext->sadb_ext_len, ext->sadb_ext_type,
191 kdebug_sadb_exttype(ext->sadb_ext_type));
192
193 if (ext->sadb_ext_len == 0) {
194 printf("%s: invalid ext_len=0 was passed.\n", __func__);
195 return;
196 }
197 if (ext->sadb_ext_len > tlen) {
198 printf("%s: ext_len too big (%u > %u).\n",
199 __func__, ext->sadb_ext_len, tlen);
200 return;
201 }
202
203 switch (ext->sadb_ext_type) {
204 case SADB_EXT_SA:
205 kdebug_sadb_sa(ext);
206 break;
207 case SADB_EXT_LIFETIME_CURRENT:
208 case SADB_EXT_LIFETIME_HARD:
209 case SADB_EXT_LIFETIME_SOFT:
210 kdebug_sadb_lifetime(ext);
211 break;
212 case SADB_EXT_ADDRESS_SRC:
213 case SADB_EXT_ADDRESS_DST:
214 case SADB_EXT_ADDRESS_PROXY:
215 case SADB_X_EXT_NAT_T_OAI:
216 case SADB_X_EXT_NAT_T_OAR:
217 case SADB_X_EXT_NEW_ADDRESS_SRC:
218 case SADB_X_EXT_NEW_ADDRESS_DST:
219 kdebug_sadb_address(ext);
220 break;
221 case SADB_EXT_KEY_AUTH:
222 case SADB_EXT_KEY_ENCRYPT:
223 kdebug_sadb_key(ext);
224 break;

Callers

nothing calls this directly

Calls 15

kdebug_sadb_typeFunction · 0.85
kdebug_sadb_exttypeFunction · 0.85
kdebug_sadb_saFunction · 0.85
kdebug_sadb_lifetimeFunction · 0.85
kdebug_sadb_addressFunction · 0.85
kdebug_sadb_keyFunction · 0.85
kdebug_sadb_identityFunction · 0.85
kdebug_sadb_propFunction · 0.85
kdebug_sadb_supportedFunction · 0.85
kdebug_sadb_x_policyFunction · 0.85
kdebug_sadb_x_sa2Function · 0.85
kdebug_sadb_x_sa_replayFunction · 0.85

Tested by

no test coverage detected