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

Function ipsec4_getpolicy

freebsd/netipsec/ipsec.c:576–594  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

574}
575
576static struct secpolicy *
577ipsec4_getpolicy(const struct mbuf *m, struct inpcb *inp, u_int dir,
578 int needport)
579{
580 struct secpolicyindex spidx;
581 struct secpolicy *sp;
582
583 sp = ipsec_getpcbpolicy(inp, dir);
584 if (sp == NULL && key_havesp(dir)) {
585 /* Make an index to look for a policy. */
586 ipsec4_setspidx_ipaddr(m, &spidx);
587 ipsec4_get_ulp(m, &spidx, needport);
588 spidx.dir = dir;
589 sp = key_allocsp(&spidx, dir);
590 }
591 if (sp == NULL) /* No SP found, use system default. */
592 sp = key_allocsp_default();
593 return (sp);
594}
595
596/*
597 * Check security policy for *OUTBOUND* IPv4 packet.

Callers 2

ipsec4_checkpolicyFunction · 0.85
ipsec4_in_rejectFunction · 0.85

Calls 6

ipsec_getpcbpolicyFunction · 0.85
key_havespFunction · 0.85
ipsec4_setspidx_ipaddrFunction · 0.85
ipsec4_get_ulpFunction · 0.85
key_allocspFunction · 0.85
key_allocsp_defaultFunction · 0.85

Tested by

no test coverage detected