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

Function ipsec6_getpolicy

freebsd/netipsec/ipsec.c:745–763  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

743}
744
745static struct secpolicy *
746ipsec6_getpolicy(const struct mbuf *m, struct inpcb *inp, u_int dir,
747 int needport)
748{
749 struct secpolicyindex spidx;
750 struct secpolicy *sp;
751
752 sp = ipsec_getpcbpolicy(inp, dir);
753 if (sp == NULL && key_havesp(dir)) {
754 /* Make an index to look for a policy. */
755 ipsec6_setspidx_ipaddr(m, &spidx);
756 ipsec6_get_ulp(m, &spidx, needport);
757 spidx.dir = dir;
758 sp = key_allocsp(&spidx, dir);
759 }
760 if (sp == NULL) /* No SP found, use system default. */
761 sp = key_allocsp_default();
762 return (sp);
763}
764
765/*
766 * Check security policy for *OUTBOUND* IPv6 packet.

Callers 2

ipsec6_checkpolicyFunction · 0.85
ipsec6_in_rejectFunction · 0.85

Calls 6

ipsec_getpcbpolicyFunction · 0.85
key_havespFunction · 0.85
ipsec6_setspidx_ipaddrFunction · 0.85
ipsec6_get_ulpFunction · 0.85
key_allocspFunction · 0.85
key_allocsp_defaultFunction · 0.85

Tested by

no test coverage detected