sadb_msg
kdebug_sadb(struct sadb_msg *base)
tlen = PFKEY_UNUNIT64(base->sadb_msg_len) - sizeof(struct sadb_msg);
ext = (void *)((caddr_t)(void *)base + sizeof(struct sadb_msg));
void kdebug_sadb(struct sadb_msg *);
int pfkey_set_supported(struct sadb_msg *, int);
struct sadb_msg *pfkey_recv(int);
int pfkey_send(int, struct sadb_msg *, int);
int pfkey_align(struct sadb_msg *, caddr_t *);
struct sadb_msg;
extern void pfkey_sadump(struct sadb_msg *);
extern void pfkey_sadump_withports(struct sadb_msg *);
extern void pfkey_spdump(struct sadb_msg *);
extern void pfkey_spdump_withports(struct sadb_msg *);
struct sadb_msg *newmsg;
len = sizeof(struct sadb_msg)
if ((newmsg = CALLOC(len, struct sadb_msg *)) == NULL) {
struct sadb_msg *newmsg;
len = sizeof(struct sadb_msg)
if ((newmsg = CALLOC((size_t)len, struct sadb_msg *)) == NULL) {
struct sadb_msg *newmsg;
len = sizeof(struct sadb_msg)
if ((newmsg = CALLOC((size_t)len, struct sadb_msg *)) == NULL) {
struct sadb_msg *newmsg;
len = sizeof(struct sadb_msg);
if ((newmsg = CALLOC((size_t)len, struct sadb_msg *)) == NULL) {
struct sadb_msg *newmsg;
len = sizeof(struct sadb_msg)
if ((newmsg = CALLOC((size_t)len, struct sadb_msg *)) == NULL) {
struct sadb_msg *newmsg;
len = sizeof(struct sadb_msg)
if ((newmsg = CALLOC((size_t)len, struct sadb_msg *)) == NULL) {
struct sadb_msg *
struct sadb_msg buf, *newmsg;
if ((newmsg = CALLOC((size_t)reallen, struct sadb_msg *)) == 0) {
pfkey_send(int so, struct sadb_msg *msg, int len)
pfkey_align(struct sadb_msg *msg, caddr_t *mhp)
p += sizeof(struct sadb_msg);
struct sadb_msg *msg;
struct sadb_msg *p;
len = sizeof(struct sadb_msg);
struct sadb_msg *newmsg;
len = sizeof(struct sadb_msg)
if ((newmsg = CALLOC((size_t)len, struct sadb_msg *)) == NULL) {
struct sadb_msg *newmsg;
len = sizeof(struct sadb_msg)
if ((newmsg = CALLOC((size_t)len, struct sadb_msg *)) == NULL) {
struct sadb_msg *newmsg;
pfkey_set_supported(struct sadb_msg *msg, int tlen)
p += sizeof(struct sadb_msg);
static void pfkey_sadump1(struct sadb_msg *, int);
static void pfkey_spdump1(struct sadb_msg *, int);
pfkey_sadump(struct sadb_msg *m)
pfkey_sadump_withports(struct sadb_msg *m)
pfkey_sadump1(struct sadb_msg *m, int withports)
pfkey_spdump(struct sadb_msg *m)
pfkey_spdump_withports(struct sadb_msg *m)
pfkey_spdump1(struct sadb_msg *m, int withports)
struct sadb_msg *msg, *next, *end;
msg = (struct sadb_msg *)buf->v;
end = (struct sadb_msg *)(buf->v + buf->l);
next = (struct sadb_msg *)((caddr_t)msg + (msg->sadb_msg_len << 3));
struct sadb_msg *msg, *next, *end;
msg = (struct sadb_msg *)buf->v;
end = (struct sadb_msg *)(buf->v + buf->l);
next = (struct sadb_msg *)((caddr_t)msg + (msg->sadb_msg_len << 3));
struct sadb_msg *msg, *next, *end;
msg = (struct sadb_msg *)buf->v;
end = (struct sadb_msg *)(buf->v + buf->l);
next = (struct sadb_msg *)((caddr_t)msg + (msg->sadb_msg_len << 3));
struct sadb_msg *msg;
msg = (struct sadb_msg *)mhp[0];
static struct sadb_msg *pk_recv(int, int *);
struct sadb_msg *msg;
msg = (struct sadb_msg *)mhp[0];
struct sadb_msg *msg;
msg = (struct sadb_msg *)mhp[0];
struct sadb_msg *msg;
msg = (struct sadb_msg *)mhp[0];
struct sadb_msg *msg;
msg = (struct sadb_msg *)mhp[0];
struct sadb_msg *msg;
msg = (struct sadb_msg *) pk_recv(fd, &len);
msg = (struct sadb_msg *)mhp[0];
struct sadb_msg *msg = NULL;
struct sadb_msg *newmsg;
len = sizeof(struct sadb_msg);
static struct sadb_msg *
struct sadb_msg buf, *newmsg;
struct sadb_msg *msg;
msg = (struct sadb_msg *)mhp[0];
struct sadb_msg *msg = (struct sadb_msg *)buf;
msg = (struct sadb_msg *)((caddr_t)msg +
struct sadb_msg *msg;
msg = (struct sadb_msg *)buf;
l = sizeof(struct sadb_msg);
struct sadb_msg *msg;
msg = (struct sadb_msg *)buf;
l = sizeof(struct sadb_msg);
struct sadb_msg *msg;
msg = (struct sadb_msg *)buf;
l = sizeof(struct sadb_msg);
struct sadb_msg msg;
struct sadb_msg msg;
struct sadb_msg msg;
struct sadb_msg msg;
setkeymsg0(struct sadb_msg *msg, unsigned int type, unsigned int satype,
struct sadb_msg *msg;
msg = (struct sadb_msg *)buf;
int setkeymsg0(struct sadb_msg *, unsigned int, unsigned int, size_t);
l = sizeof(struct sadb_msg);
static int postproc(struct sadb_msg *, int);
static int verifypriority(struct sadb_msg *);
static void shortdump(struct sadb_msg *);
struct sadb_msg msg;
struct sadb_msg msg;
struct sadb_msg *base;
base = (struct sadb_msg *)rbuf;
struct sadb_msg msg, *m;
m = (struct sadb_msg *)rbuf;
m = (struct sadb_msg *)((caddr_t)m + PFKEY_UNUNIT64(m->sadb_msg_len));
struct sadb_msg *msg;
kdebug_sadb((struct sadb_msg *)buf);
msg = (struct sadb_msg *)rbuf;
postproc(struct sadb_msg *msg, int len)
verifypriority(struct sadb_msg *m)
struct sadb_msg *msg;
if (l < sizeof(struct sadb_msg)) {
msg = (struct sadb_msg *)p;
kdebug_sadb((struct sadb_msg *)msg);
shortdump(struct sadb_msg *msg)
msg = (struct sadb_msg *)next;
static inline void if_ipsec_set_sadb_msg(struct sadb_msg *, uint16_t, uint8_t);
static inline void if_ipsec_set_sadb_msg_add(struct sadb_msg *, uint16_t);
static inline void if_ipsec_set_sadb_msg_del(struct sadb_msg *, uint16_t);
if_ipsec_set_sadb_msg(struct sadb_msg *msg, uint16_t extlen, uint8_t msgtype)
if_ipsec_set_sadb_msg_add(struct sadb_msg *msg, uint16_t extlen)
if_ipsec_set_sadb_msg_del(struct sadb_msg *msg, uint16_t extlen)
struct sadb_msg msg;
struct sadb_msg msg;
if (result->m_len < sizeof(struct sadb_msg)) {
result = m_pullup(result, sizeof(struct sadb_msg));
mtod(result, struct sadb_msg *)->sadb_msg_len =
CTASSERT(PFKEY_ALIGN8(sizeof(struct sadb_msg)) <= MHLEN);
len = PFKEY_ALIGN8(sizeof(struct sadb_msg));
m_copydata(m, 0, sizeof(struct sadb_msg),
KASSERT(result->m_len >= sizeof(struct sadb_msg));
mpolicy = m_pulldown(n, PFKEY_ALIGN8(sizeof(struct sadb_msg)),
CTASSERT(PFKEY_ALIGN8(sizeof(struct sadb_msg)) <= MCLBYTES);
len = PFKEY_ALIGN8(sizeof(struct sadb_msg));
m_copydata(m, 0, sizeof(struct sadb_msg), mtod(n, char *) + off);
off += PFKEY_ALIGN8(sizeof(struct sadb_msg));
mtod(result, struct sadb_msg *)->sadb_msg_len =
struct sadb_msg *newmsg;
if (m->m_len != PFKEY_ALIGN8(sizeof(struct sadb_msg)))
if (sizeof(struct sadb_msg) > m->m_len + M_TRAILINGSPACE(m)) {
m->m_pkthdr.len = m->m_len = PFKEY_ALIGN8(sizeof(struct sadb_msg));
newmsg = mtod(m, struct sadb_msg *);
KASSERT(result->m_len >= sizeof(struct sadb_msg));
mtod(result, struct sadb_msg *)->sadb_msg_len =
KASSERT(result->m_len >= sizeof(struct sadb_msg));
mtod(result, struct sadb_msg *)->sadb_msg_len =
KASSERT(result->m_len >= sizeof(struct sadb_msg));
mtod(result, struct sadb_msg *)->sadb_msg_len =
struct sadb_msg *p;
CTASSERT(PFKEY_ALIGN8(sizeof(struct sadb_msg)) <= MCLBYTES);
len = PFKEY_ALIGN8(sizeof(struct sadb_msg));
p = mtod(m, struct sadb_msg *);
sizeof(struct sadb_msg), /* SADB_EXT_RESERVED */
sizeof(struct sadb_msg), /* SADB_EXT_RESERVED */
CTASSERT(PFKEY_ALIGN8(sizeof(struct sadb_msg)) +
len = PFKEY_ALIGN8(sizeof(struct sadb_msg)) +
m_copydata(m, 0, sizeof(struct sadb_msg), mtod(n, char *) + off);
off += PFKEY_ALIGN8(sizeof(struct sadb_msg));
KASSERT(n->m_len >= sizeof(struct sadb_msg));
KASSERT(n->m_len >= sizeof(struct sadb_msg));
mtod(n, struct sadb_msg *)->sadb_msg_errno = 0;
mtod(n, struct sadb_msg *)->sadb_msg_len =
struct sadb_msg *msg;
msg = mtod(m, struct sadb_msg *);
KASSERT(result->m_len >= sizeof(struct sadb_msg));
mtod(result, struct sadb_msg *)->sadb_msg_len =
if (mhp->msg->sadb_msg_len == PFKEY_UNIT64(sizeof(struct sadb_msg))) {
len = sizeof(struct sadb_msg) + alen + elen;
m_copydata(m, 0, sizeof(struct sadb_msg), mtod(n, char *) + off);
off += PFKEY_ALIGN8(sizeof(struct sadb_msg));
if (result->m_len < sizeof(struct sadb_msg)) {
result = m_pullup(result, sizeof(struct sadb_msg));
mtod(result, struct sadb_msg *)->sadb_msg_len =
struct sadb_msg *newmsg;
if (m->m_len < sizeof(struct sadb_msg) ||
sizeof(struct sadb_msg) > m->m_len + M_TRAILINGSPACE(m)) {
m->m_pkthdr.len = m->m_len = sizeof(struct sadb_msg);
newmsg = mtod(m, struct sadb_msg *);
if (olen < sizeof(struct sadb_msg)) {
} else if (olen == sizeof(struct sadb_msg)) {
m_adj(m, PFKEY_ALIGN8(sizeof(struct sadb_msg)));
struct sadb_msg *msg;
if (m->m_len < sizeof(struct sadb_msg)) {
m = m_pullup(m, sizeof(struct sadb_msg));
msg = mtod(m, struct sadb_msg *);
struct sadb_msg *msg;
KASSERT(m->m_len >= sizeof(struct sadb_msg));
msg = mtod(m, struct sadb_msg *);
KASSERT(m->m_len >= sizeof(struct sadb_msg));
mhp->msg = mtod(m, struct sadb_msg *);
for (off = sizeof(struct sadb_msg); off < end; off += extlen) {
struct sadb_msg *msg;
tlen = PFKEY_UNUNIT64(base->sadb_msg_len) - sizeof(struct sadb_msg);
kdebug_sadb(const struct sadb_msg *base)
struct sadb_msg;
void kdebug_sadb(const struct sadb_msg *);
struct sadb_msg *msg;
if (len < sizeof(struct sadb_msg)) {
if (m->m_len < sizeof(struct sadb_msg)) {
if ((m = m_pullup(m, sizeof(struct sadb_msg))) == 0) {
msg = mtod(m, struct sadb_msg *);
struct sadb_msg *pmsg;
M_PREPEND(m, sizeof(struct sadb_msg), M_DONTWAIT);
if (m && m->m_len < sizeof(struct sadb_msg))
m = m_pullup(m, sizeof(struct sadb_msg));
pmsg = mtod(m, struct sadb_msg *);
if (m->m_len < sizeof(struct sadb_msg)) {
m = m_pullup(m, sizeof(struct sadb_msg));
if (m->m_len >= sizeof(struct sadb_msg)) {
struct sadb_msg *msg;
msg = mtod(m, struct sadb_msg *);