Lines Matching refs:ext_hdrs
480 static int parse_exthdrs(struct sk_buff *skb, const struct sadb_msg *hdr, void **ext_hdrs) in parse_exthdrs() argument
504 if (ext_hdrs[ext_type-1] != NULL) in parse_exthdrs()
517 ext_hdrs[ext_type-1] = (void *) p; in parse_exthdrs()
613 …state *pfkey_xfrm_state_lookup(struct net *net, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_xfrm_state_lookup() argument
621 sa = ext_hdrs[SADB_EXT_SA - 1]; in pfkey_xfrm_state_lookup()
630 addr = ext_hdrs[SADB_EXT_ADDRESS_DST - 1]; in pfkey_xfrm_state_lookup()
1031 void * const *ext_hdrs) in pfkey_msg2xfrm_state() argument
1042 sa = ext_hdrs[SADB_EXT_SA - 1]; in pfkey_msg2xfrm_state()
1044 !present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_msg2xfrm_state()
1045 ext_hdrs[SADB_EXT_ADDRESS_DST-1])) in pfkey_msg2xfrm_state()
1048 !ext_hdrs[SADB_EXT_KEY_ENCRYPT-1]) in pfkey_msg2xfrm_state()
1051 !ext_hdrs[SADB_EXT_KEY_AUTH-1]) in pfkey_msg2xfrm_state()
1053 if (!!ext_hdrs[SADB_EXT_LIFETIME_HARD-1] != in pfkey_msg2xfrm_state()
1054 !!ext_hdrs[SADB_EXT_LIFETIME_SOFT-1]) in pfkey_msg2xfrm_state()
1081 key = ext_hdrs[SADB_EXT_KEY_AUTH - 1]; in pfkey_msg2xfrm_state()
1087 key = ext_hdrs[SADB_EXT_KEY_ENCRYPT-1]; in pfkey_msg2xfrm_state()
1109 lifetime = ext_hdrs[SADB_EXT_LIFETIME_HARD - 1]; in pfkey_msg2xfrm_state()
1116 lifetime = ext_hdrs[SADB_EXT_LIFETIME_SOFT - 1]; in pfkey_msg2xfrm_state()
1124 sec_ctx = ext_hdrs[SADB_X_EXT_SEC_CTX - 1]; in pfkey_msg2xfrm_state()
1138 key = ext_hdrs[SADB_EXT_KEY_AUTH - 1]; in pfkey_msg2xfrm_state()
1180 key = (struct sadb_key*) ext_hdrs[SADB_EXT_KEY_ENCRYPT-1]; in pfkey_msg2xfrm_state()
1197 …x->props.family = pfkey_sadb_addr2xfrm_addr((struct sadb_address *) ext_hdrs[SADB_EXT_ADDRESS_SRC-… in pfkey_msg2xfrm_state()
1199 pfkey_sadb_addr2xfrm_addr((struct sadb_address *) ext_hdrs[SADB_EXT_ADDRESS_DST-1], in pfkey_msg2xfrm_state()
1202 if (ext_hdrs[SADB_X_EXT_SA2-1]) { in pfkey_msg2xfrm_state()
1203 const struct sadb_x_sa2 *sa2 = ext_hdrs[SADB_X_EXT_SA2-1]; in pfkey_msg2xfrm_state()
1213 if (ext_hdrs[SADB_EXT_ADDRESS_PROXY-1]) { in pfkey_msg2xfrm_state()
1214 const struct sadb_address *addr = ext_hdrs[SADB_EXT_ADDRESS_PROXY-1]; in pfkey_msg2xfrm_state()
1224 if (ext_hdrs[SADB_X_EXT_NAT_T_TYPE-1]) { in pfkey_msg2xfrm_state()
1233 n_type = ext_hdrs[SADB_X_EXT_NAT_T_TYPE-1]; in pfkey_msg2xfrm_state()
1236 if (ext_hdrs[SADB_X_EXT_NAT_T_SPORT-1]) { in pfkey_msg2xfrm_state()
1238 ext_hdrs[SADB_X_EXT_NAT_T_SPORT-1]; in pfkey_msg2xfrm_state()
1241 if (ext_hdrs[SADB_X_EXT_NAT_T_DPORT-1]) { in pfkey_msg2xfrm_state()
1243 ext_hdrs[SADB_X_EXT_NAT_T_DPORT-1]; in pfkey_msg2xfrm_state()
1262 …_reserved(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_reserved() argument
1267 …ey_getspi(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_getspi() argument
1284 if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_getspi()
1285 ext_hdrs[SADB_EXT_ADDRESS_DST-1])) in pfkey_getspi()
1292 if ((sa2 = ext_hdrs[SADB_X_EXT_SA2-1]) != NULL) { in pfkey_getspi()
1302 saddr = ext_hdrs[SADB_EXT_ADDRESS_SRC-1]; in pfkey_getspi()
1303 daddr = ext_hdrs[SADB_EXT_ADDRESS_DST-1]; in pfkey_getspi()
1336 range = ext_hdrs[SADB_EXT_SPIRANGE-1]; in pfkey_getspi()
1372 …y_acquire(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_acquire() argument
1459 …pfkey_add(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_add() argument
1466 x = pfkey_msg2xfrm_state(net, hdr, ext_hdrs); in pfkey_add()
1496 …ey_delete(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_delete() argument
1503 if (!ext_hdrs[SADB_EXT_SA-1] || in pfkey_delete()
1504 !present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_delete()
1505 ext_hdrs[SADB_EXT_ADDRESS_DST-1])) in pfkey_delete()
1508 x = pfkey_xfrm_state_lookup(net, hdr, ext_hdrs); in pfkey_delete()
1536 …pfkey_get(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_get() argument
1544 if (!ext_hdrs[SADB_EXT_SA-1] || in pfkey_get()
1545 !present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_get()
1546 ext_hdrs[SADB_EXT_ADDRESS_DST-1])) in pfkey_get()
1549 x = pfkey_xfrm_state_lookup(net, hdr, ext_hdrs); in pfkey_get()
1648 …_register(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_register() argument
1717 …key_flush(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_flush() argument
1789 …fkey_dump(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_dump() argument
1802 if (ext_hdrs[SADB_X_EXT_FILTER - 1]) { in pfkey_dump()
1803 struct sadb_x_filter *xfilter = ext_hdrs[SADB_X_EXT_FILTER - 1]; in pfkey_dump()
1827 …y_promisc(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_promisc() argument
2188 …ey_spdadd(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spdadd() argument
2199 if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_spdadd()
2200 ext_hdrs[SADB_EXT_ADDRESS_DST-1]) || in pfkey_spdadd()
2201 !ext_hdrs[SADB_X_EXT_POLICY-1]) in pfkey_spdadd()
2204 pol = ext_hdrs[SADB_X_EXT_POLICY-1]; in pfkey_spdadd()
2218 sa = ext_hdrs[SADB_EXT_ADDRESS_SRC-1]; in pfkey_spdadd()
2227 sa = ext_hdrs[SADB_EXT_ADDRESS_DST-1]; in pfkey_spdadd()
2240 sec_ctx = ext_hdrs[SADB_X_EXT_SEC_CTX - 1]; in pfkey_spdadd()
2260 if ((lifetime = ext_hdrs[SADB_EXT_LIFETIME_HARD-1]) != NULL) { in pfkey_spdadd()
2266 if ((lifetime = ext_hdrs[SADB_EXT_LIFETIME_SOFT-1]) != NULL) { in pfkey_spdadd()
2303 …spddelete(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spddelete() argument
2315 if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_spddelete()
2316 ext_hdrs[SADB_EXT_ADDRESS_DST-1]) || in pfkey_spddelete()
2317 !ext_hdrs[SADB_X_EXT_POLICY-1]) in pfkey_spddelete()
2320 pol = ext_hdrs[SADB_X_EXT_POLICY-1]; in pfkey_spddelete()
2326 sa = ext_hdrs[SADB_EXT_ADDRESS_SRC-1]; in pfkey_spddelete()
2334 sa = ext_hdrs[SADB_EXT_ADDRESS_DST-1]; in pfkey_spddelete()
2342 sec_ctx = ext_hdrs[SADB_X_EXT_SEC_CTX - 1]; in pfkey_spddelete()
2488 const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_migrate() argument
2501 if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC - 1], in pfkey_migrate()
2502 ext_hdrs[SADB_EXT_ADDRESS_DST - 1]) || in pfkey_migrate()
2503 !ext_hdrs[SADB_X_EXT_POLICY - 1]) { in pfkey_migrate()
2508 kma = ext_hdrs[SADB_X_EXT_KMADDRESS - 1]; in pfkey_migrate()
2509 pol = ext_hdrs[SADB_X_EXT_POLICY - 1]; in pfkey_migrate()
2532 sa = ext_hdrs[SADB_EXT_ADDRESS_SRC - 1]; in pfkey_migrate()
2541 sa = ext_hdrs[SADB_EXT_ADDRESS_DST - 1]; in pfkey_migrate()
2580 const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_migrate() argument
2587 …ey_spdget(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spdget() argument
2596 if ((pol = ext_hdrs[SADB_X_EXT_POLICY-1]) == NULL) in pfkey_spdget()
2677 …y_spddump(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spddump() argument
2715 …_spdflush(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spdflush() argument
2740 const struct sadb_msg *hdr, void * const *ext_hdrs);
2769 void *ext_hdrs[SADB_EXT_MAX]; in pfkey_process() local
2775 memset(ext_hdrs, 0, sizeof(ext_hdrs)); in pfkey_process()
2776 err = parse_exthdrs(skb, hdr, ext_hdrs); in pfkey_process()
2780 err = pfkey_funcs[hdr->sadb_msg_type](sk, skb, hdr, ext_hdrs); in pfkey_process()