sadb_msg
msg = (struct sadb_msg *)data;
struct sadb_msg *msg, smsg;
int pfkey_write(struct iked *, struct sadb_msg *, struct iovec *, int,
msg = (struct sadb_msg *)data;
struct sadb_msg smsg;
pfkey_write(struct iked *env, struct sadb_msg *smsg, struct iovec *iov, int iov_cnt,
struct sadb_msg hdr;
struct sadb_msg smsg;
struct sadb_msg smsg;
for (ext = (struct sadb_ext *)(data + sizeof(struct sadb_msg));
struct sadb_msg hdr;
struct sadb_msg *hdr;
struct sadb_msg smsg;
struct sadb_msg smsg;
hdr = (struct sadb_msg *)data;
struct sadb_msg smsg;
struct sadb_msg *msg, smsg;
struct sadb_msg *msg;
msg = (struct sadb_msg *)next;
struct sadb_msg *msg;
msg = (struct sadb_msg *)next;
msg = (struct sadb_msg *)next;
struct sadb_msg *sad_msg;
print_ext(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
print_sa(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
print_addr(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
print_key(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
print_life(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
print_proto(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
print_flow(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
print_tag(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
print_replay(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
print_mtu(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
print_tap(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
print_satype(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
print_counter(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
static void print_proto(struct sadb_ext *, struct sadb_msg *, int);
static void print_flow(struct sadb_ext *, struct sadb_msg *, int);
static void print_supp(struct sadb_ext *, struct sadb_msg *, int);
print_iface(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
static void print_prop(struct sadb_ext *, struct sadb_msg *, int);
static void print_sens(struct sadb_ext *, struct sadb_msg *, int);
static void print_spir(struct sadb_ext *, struct sadb_msg *, int);
static void print_policy(struct sadb_ext *, struct sadb_msg *, int);
print_supp(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
static void print_sa(struct sadb_ext *, struct sadb_msg *, int);
static void print_addr(struct sadb_ext *, struct sadb_msg *, int);
print_comb(struct sadb_comb *comb, struct sadb_msg *msg, int opts)
static void print_key(struct sadb_ext *, struct sadb_msg *, int);
static void print_life(struct sadb_ext *, struct sadb_msg *, int);
print_prop(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
static void print_ident(struct sadb_ext *, struct sadb_msg *, int);
static void print_udpenc(struct sadb_ext *, struct sadb_msg *, int);
print_sens(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
static void print_tag(struct sadb_ext *, struct sadb_msg *, int);
print_spir(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
static void print_rdomain(struct sadb_ext *, struct sadb_msg *, int);
print_ident(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
static void print_replay(struct sadb_ext *, struct sadb_msg *, int);
print_policy(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
static void print_mtu(struct sadb_ext *, struct sadb_msg *, int);
print_udpenc(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
static void print_tap(struct sadb_ext *, struct sadb_msg *, int);
print_rdomain(struct sadb_ext *ext, struct sadb_msg *msg, int opts)
setup_extensions(struct sadb_msg *msg)
static void print_satype(struct sadb_ext *, struct sadb_msg *, int);
static void print_counter(struct sadb_ext *, struct sadb_msg *, int);
static void print_iface(struct sadb_ext *, struct sadb_msg *, int);
static void print_ext(struct sadb_ext *, struct sadb_msg *, int);
pfkey_get_spi(struct sadb_msg *msg)
pfkey_print_sa(struct sadb_msg *msg, int opts)
void (*func)(struct sadb_ext *, struct sadb_msg *, int);
pfkey_monitor_sa(struct sadb_msg *msg, int opts)
struct sadb_msg smsg;
struct sadb_msg msg;
struct sadb_msg *msg;
msg = (struct sadb_msg *)data;
2 * sizeof(struct sadb_msg)) {
struct sadb_msg smsg;
int pfkey_parse(struct sadb_msg *, struct ipsec_rule *);
struct sadb_msg smsg;
struct sadb_msg smsg;
struct sadb_msg hdr;
pfkey_parse(struct sadb_msg *msg, struct ipsec_rule *rule)
int pfkey_parse(struct sadb_msg *, struct ipsec_rule *);
void pfkey_print_sa(struct sadb_msg *, int);
void pfkey_monitor_sa(struct sadb_msg *, int);
u_int32_t pfkey_get_spi(struct sadb_msg *);
pf_key_v2_msg_new(struct sadb_msg *msg, int flags)
err = ((struct sadb_msg *)TAILQ_FIRST(ret)->seg)->sadb_msg_errno;
struct sadb_msg msg;
err = ((struct sadb_msg *)TAILQ_FIRST(ret)->seg)->sadb_msg_errno;
struct sadb_msg msg;
struct sadb_msg *msg;
struct sadb_msg hdr;
err = ((struct sadb_msg *)TAILQ_FIRST(ret)->seg)->sadb_msg_errno;
struct sadb_msg *msg;
msg = (struct sadb_msg *)TAILQ_FIRST(pmsg)->seg;
struct sadb_msg *msg, askpolicy_msg;
msg = (struct sadb_msg *)TAILQ_FIRST(pmsg)->seg;
msg = (struct sadb_msg *) buf;
switch (((struct sadb_msg *)TAILQ_FIRST(msg)->seg)->sadb_msg_type) {
((struct sadb_msg *)TAILQ_FIRST(msg)->seg)->sadb_msg_type);
struct sadb_msg msg;
struct sadb_msg *msg = TAILQ_FIRST(pmsg)->seg;
err = ((struct sadb_msg *)TAILQ_FIRST(ret)->seg)->sadb_msg_errno;
struct sadb_msg msg;
err = ((struct sadb_msg *)TAILQ_FIRST(ret)->seg)->sadb_msg_errno;
err = ((struct sadb_msg *)TAILQ_FIRST(ret)->seg)->sadb_msg_errno;
err = ((struct sadb_msg *)TAILQ_FIRST(ret)->seg)->sadb_msg_errno;
struct sadb_msg msg;
err = ((struct sadb_msg *)TAILQ_FIRST(ret)->seg)->sadb_msg_errno;
struct sadb_msg msg;
err = ((struct sadb_msg *)TAILQ_FIRST(ret)->seg)->sadb_msg_errno;
struct sadb_msg msg;
struct sadb_msg *smsg;
freeme_sz = sizeof(struct sadb_msg) + len;
bzero(freeme, sizeof(struct sadb_msg));
smsg = (struct sadb_msg *) freeme;
smsg->sadb_msg_len = (sizeof(struct sadb_msg) + len) /
bcopy(message, freeme + sizeof(struct sadb_msg), len);
smsg = (struct sadb_msg *) headers[0];
struct sadb_msg *sadb_msg;
(1 << ((struct sadb_msg *)message)->sadb_msg_satype);
dump_state.sadb_msg = (struct sadb_msg *) headers[0];
if (len >= 2 * sizeof(struct sadb_msg)) {
if (len != sizeof(struct sadb_msg)) {
struct sadb_msg *smsg;
i = sizeof(struct sadb_msg) +
p += sizeof(struct sadb_msg);
smsg = (struct sadb_msg *) headers[0];
struct sadb_msg *smsg;
i = sizeof(struct sadb_msg) + sizeof(struct sadb_sa) +
p += sizeof(struct sadb_msg);
smsg = (struct sadb_msg *) headers[0];
struct sadb_msg msg;
w->w_len += sizeof(struct sadb_msg);
struct sadb_msg msg;
w->w_len += sizeof(struct sadb_msg);
struct sadb_msg *smsg;
j = sizeof(struct sadb_msg);
if (!(buffer = malloc(j + sizeof(struct sadb_msg), M_PFKEY,
p = buffer + sizeof(struct sadb_msg);
bcopy(headers[0], p, sizeof(struct sadb_msg));
((struct sadb_msg *) p)->sadb_msg_len = j / sizeof(uint64_t);
p += sizeof(struct sadb_msg);
if ((rval = pfdatatopacket(buffer + sizeof(struct sadb_msg),
bzero(buffer, sizeof(struct sadb_msg));
smsg = (struct sadb_msg *) buffer;
smsg->sadb_msg_len = (sizeof(struct sadb_msg) + j) /
if ((rval = pfdatatopacket(buffer, sizeof(struct sadb_msg) + j,
bzero(buffer, sizeof(struct sadb_msg));
smsg = (struct sadb_msg *) buffer;
smsg->sadb_msg_len = (sizeof(struct sadb_msg) + j) /
if ((rval = pfdatatopacket(buffer, sizeof(struct sadb_msg) + j,
explicit_bzero(buffer, j + sizeof(struct sadb_msg));
free(buffer, M_PFKEY, j + sizeof(struct sadb_msg));
if (!dump_state->sadb_msg->sadb_msg_satype ||
(tdb->tdb_satype == dump_state->sadb_msg->sadb_msg_satype)) {
headers[0] = (void *) dump_state->sadb_msg;
((struct sadb_msg *)headers[0])->sadb_msg_seq = 0;
struct sadb_msg *sadb_msg = (struct sadb_msg *) p;
if (left < sizeof(struct sadb_msg)) {
if (sadb_msg->sadb_msg_len * sizeof(uint64_t) != left) {
p += sizeof(struct sadb_msg);
left -= sizeof(struct sadb_msg);
if (sadb_msg->sadb_msg_reserved) {
if (sadb_msg->sadb_msg_type > SADB_MAX) {
if (!sadb_msg->sadb_msg_type) {
if (sadb_msg->sadb_msg_pid != curproc->p_p->ps_pid) {
if (sadb_msg->sadb_msg_errno) {
allow = sadb_exts_allowed_in[sadb_msg->sadb_msg_type];
sadb_ext->sadb_ext_type, sadb_msg->sadb_msg_type);
if (sadb_msg->sadb_msg_satype ==
required = sadb_exts_required_in[sadb_msg->sadb_msg_type];
switch (((struct sadb_msg *)headers[0])->sadb_msg_type) {
pfkey_read(int sd, struct sadb_msg *h)
struct sadb_msg hdr;
struct sadb_msg hdr, *msg;
msg = (struct sadb_msg *)data;
struct sadb_msg smsg;
struct sadb_msg;
int pfkey_read(int, struct sadb_msg *);
int pfkey_read(int, struct sadb_msg *);
pfkey_read(int sd, struct sadb_msg *h)
struct sadb_msg hdr;
struct sadb_msg hdr, *msg;
msg = (struct sadb_msg *)data;
struct sadb_msg smsg;
struct sadb_msg *m = calloc(1, sizeof *m);
pfkey_print_type(struct sadb_msg *msg)
pfkey_find_ext(struct sadb_msg *msg, u_int16_t type)
pfkey_msg_filter(struct sadb_msg *msg)
pfkey_handle_message(struct sadb_msg *m)
struct sadb_msg *msg = m;
struct sadb_msg hdr, *msg;
msg = (struct sadb_msg *)data;
struct sadb_msg *sadb = (struct sadb_msg *)data;
struct sadb_msg *m;
m = (struct sadb_msg *)next;
m = (struct sadb_msg *)next;
static const char *pfkey_print_type(struct sadb_msg *);
struct sadb_msg *msg = (struct sadb_msg *)buf;
struct sadb_msg msg;