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

Function key_setsadbsa

freebsd/netipsec/key.c:3782–3808  ·  view source on GitHub ↗

* copy secasvar data into sadb_address. */

Source from the content-addressed store, hash-verified

3780 * copy secasvar data into sadb_address.
3781 */
3782static struct mbuf *
3783key_setsadbsa(struct secasvar *sav)
3784{
3785 struct mbuf *m;
3786 struct sadb_sa *p;
3787 int len;
3788
3789 len = PFKEY_ALIGN8(sizeof(struct sadb_sa));
3790 m = m_get2(len, M_NOWAIT, MT_DATA, 0);
3791 if (m == NULL)
3792 return (NULL);
3793 m_align(m, len);
3794 m->m_len = len;
3795 p = mtod(m, struct sadb_sa *);
3796 bzero(p, len);
3797 p->sadb_sa_len = PFKEY_UNIT64(len);
3798 p->sadb_sa_exttype = SADB_EXT_SA;
3799 p->sadb_sa_spi = sav->spi;
3800 p->sadb_sa_replay = sav->replay ?
3801 (sav->replay->wsize > UINT8_MAX ? UINT8_MAX :
3802 sav->replay->wsize): 0;
3803 p->sadb_sa_state = sav->state;
3804 p->sadb_sa_auth = sav->alg_auth;
3805 p->sadb_sa_encrypt = sav->alg_enc;
3806 p->sadb_sa_flags = sav->flags & SADB_KEY_FLAGS_MAX;
3807 return (m);
3808}
3809
3810/*
3811 * set data into sadb_address.

Callers 2

key_setdumpsaFunction · 0.85
key_expireFunction · 0.85

Calls 3

m_get2Function · 0.85
bzeroFunction · 0.85
m_alignFunction · 0.50

Tested by

no test coverage detected