Lines Matching refs:ext_hdrs
507 static int parse_exthdrs(struct sk_buff *skb, const struct sadb_msg *hdr, void **ext_hdrs) in parse_exthdrs() argument
534 if (ext_hdrs[ext_type-1] != NULL) in parse_exthdrs()
556 ext_hdrs[ext_type-1] = (void *) p; in parse_exthdrs()
652 …state *pfkey_xfrm_state_lookup(struct net *net, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_xfrm_state_lookup() argument
660 sa = ext_hdrs[SADB_EXT_SA - 1]; in pfkey_xfrm_state_lookup()
669 addr = ext_hdrs[SADB_EXT_ADDRESS_DST - 1]; in pfkey_xfrm_state_lookup()
1061 void * const *ext_hdrs) in pfkey_msg2xfrm_state() argument
1072 sa = ext_hdrs[SADB_EXT_SA - 1]; in pfkey_msg2xfrm_state()
1074 !present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_msg2xfrm_state()
1075 ext_hdrs[SADB_EXT_ADDRESS_DST-1])) in pfkey_msg2xfrm_state()
1078 !ext_hdrs[SADB_EXT_KEY_ENCRYPT-1]) in pfkey_msg2xfrm_state()
1081 !ext_hdrs[SADB_EXT_KEY_AUTH-1]) in pfkey_msg2xfrm_state()
1083 if (!!ext_hdrs[SADB_EXT_LIFETIME_HARD-1] != in pfkey_msg2xfrm_state()
1084 !!ext_hdrs[SADB_EXT_LIFETIME_SOFT-1]) in pfkey_msg2xfrm_state()
1111 key = ext_hdrs[SADB_EXT_KEY_AUTH - 1]; in pfkey_msg2xfrm_state()
1116 key = ext_hdrs[SADB_EXT_KEY_ENCRYPT-1]; in pfkey_msg2xfrm_state()
1137 lifetime = ext_hdrs[SADB_EXT_LIFETIME_HARD - 1]; in pfkey_msg2xfrm_state()
1144 lifetime = ext_hdrs[SADB_EXT_LIFETIME_SOFT - 1]; in pfkey_msg2xfrm_state()
1152 sec_ctx = ext_hdrs[SADB_X_EXT_SEC_CTX - 1]; in pfkey_msg2xfrm_state()
1167 key = ext_hdrs[SADB_EXT_KEY_AUTH - 1]; in pfkey_msg2xfrm_state()
1213 key = (struct sadb_key*) ext_hdrs[SADB_EXT_KEY_ENCRYPT-1]; in pfkey_msg2xfrm_state()
1233 …x->props.family = pfkey_sadb_addr2xfrm_addr((struct sadb_address *) ext_hdrs[SADB_EXT_ADDRESS_SRC-… in pfkey_msg2xfrm_state()
1235 pfkey_sadb_addr2xfrm_addr((struct sadb_address *) ext_hdrs[SADB_EXT_ADDRESS_DST-1], in pfkey_msg2xfrm_state()
1238 if (ext_hdrs[SADB_X_EXT_SA2-1]) { in pfkey_msg2xfrm_state()
1239 const struct sadb_x_sa2 *sa2 = ext_hdrs[SADB_X_EXT_SA2-1]; in pfkey_msg2xfrm_state()
1249 if (ext_hdrs[SADB_EXT_ADDRESS_PROXY-1]) { in pfkey_msg2xfrm_state()
1250 const struct sadb_address *addr = ext_hdrs[SADB_EXT_ADDRESS_PROXY-1]; in pfkey_msg2xfrm_state()
1260 if (ext_hdrs[SADB_X_EXT_NAT_T_TYPE-1]) { in pfkey_msg2xfrm_state()
1271 n_type = ext_hdrs[SADB_X_EXT_NAT_T_TYPE-1]; in pfkey_msg2xfrm_state()
1274 if (ext_hdrs[SADB_X_EXT_NAT_T_SPORT-1]) { in pfkey_msg2xfrm_state()
1276 ext_hdrs[SADB_X_EXT_NAT_T_SPORT-1]; in pfkey_msg2xfrm_state()
1279 if (ext_hdrs[SADB_X_EXT_NAT_T_DPORT-1]) { in pfkey_msg2xfrm_state()
1281 ext_hdrs[SADB_X_EXT_NAT_T_DPORT-1]; in pfkey_msg2xfrm_state()
1300 …_reserved(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_reserved() argument
1305 …ey_getspi(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_getspi() argument
1322 if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_getspi()
1323 ext_hdrs[SADB_EXT_ADDRESS_DST-1])) in pfkey_getspi()
1330 if ((sa2 = ext_hdrs[SADB_X_EXT_SA2-1]) != NULL) { in pfkey_getspi()
1340 saddr = ext_hdrs[SADB_EXT_ADDRESS_SRC-1]; in pfkey_getspi()
1341 daddr = ext_hdrs[SADB_EXT_ADDRESS_DST-1]; in pfkey_getspi()
1374 range = ext_hdrs[SADB_EXT_SPIRANGE-1]; in pfkey_getspi()
1410 …y_acquire(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_acquire() argument
1497 …pfkey_add(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_add() argument
1504 x = pfkey_msg2xfrm_state(net, hdr, ext_hdrs); in pfkey_add()
1534 …ey_delete(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_delete() argument
1541 if (!ext_hdrs[SADB_EXT_SA-1] || in pfkey_delete()
1542 !present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_delete()
1543 ext_hdrs[SADB_EXT_ADDRESS_DST-1])) in pfkey_delete()
1546 x = pfkey_xfrm_state_lookup(net, hdr, ext_hdrs); in pfkey_delete()
1574 …pfkey_get(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_get() argument
1582 if (!ext_hdrs[SADB_EXT_SA-1] || in pfkey_get()
1583 !present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_get()
1584 ext_hdrs[SADB_EXT_ADDRESS_DST-1])) in pfkey_get()
1587 x = pfkey_xfrm_state_lookup(net, hdr, ext_hdrs); in pfkey_get()
1686 …_register(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_register() argument
1758 …key_flush(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_flush() argument
1830 …fkey_dump(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_dump() argument
1848 if (ext_hdrs[SADB_X_EXT_FILTER - 1]) { in pfkey_dump()
1849 struct sadb_x_filter *xfilter = ext_hdrs[SADB_X_EXT_FILTER - 1]; in pfkey_dump()
1883 …y_promisc(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_promisc() argument
2242 …ey_spdadd(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spdadd() argument
2253 if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_spdadd()
2254 ext_hdrs[SADB_EXT_ADDRESS_DST-1]) || in pfkey_spdadd()
2255 !ext_hdrs[SADB_X_EXT_POLICY-1]) in pfkey_spdadd()
2258 pol = ext_hdrs[SADB_X_EXT_POLICY-1]; in pfkey_spdadd()
2272 sa = ext_hdrs[SADB_EXT_ADDRESS_SRC-1]; in pfkey_spdadd()
2281 sa = ext_hdrs[SADB_EXT_ADDRESS_DST-1]; in pfkey_spdadd()
2294 sec_ctx = ext_hdrs[SADB_X_EXT_SEC_CTX - 1]; in pfkey_spdadd()
2314 if ((lifetime = ext_hdrs[SADB_EXT_LIFETIME_HARD-1]) != NULL) { in pfkey_spdadd()
2320 if ((lifetime = ext_hdrs[SADB_EXT_LIFETIME_SOFT-1]) != NULL) { in pfkey_spdadd()
2357 …spddelete(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spddelete() argument
2369 if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_spddelete()
2370 ext_hdrs[SADB_EXT_ADDRESS_DST-1]) || in pfkey_spddelete()
2371 !ext_hdrs[SADB_X_EXT_POLICY-1]) in pfkey_spddelete()
2374 pol = ext_hdrs[SADB_X_EXT_POLICY-1]; in pfkey_spddelete()
2380 sa = ext_hdrs[SADB_EXT_ADDRESS_SRC-1]; in pfkey_spddelete()
2388 sa = ext_hdrs[SADB_EXT_ADDRESS_DST-1]; in pfkey_spddelete()
2396 sec_ctx = ext_hdrs[SADB_X_EXT_SEC_CTX - 1]; in pfkey_spddelete()
2544 const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_migrate() argument
2557 if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC - 1], in pfkey_migrate()
2558 ext_hdrs[SADB_EXT_ADDRESS_DST - 1]) || in pfkey_migrate()
2559 !ext_hdrs[SADB_X_EXT_POLICY - 1]) { in pfkey_migrate()
2564 kma = ext_hdrs[SADB_X_EXT_KMADDRESS - 1]; in pfkey_migrate()
2565 pol = ext_hdrs[SADB_X_EXT_POLICY - 1]; in pfkey_migrate()
2588 sa = ext_hdrs[SADB_EXT_ADDRESS_SRC - 1]; in pfkey_migrate()
2597 sa = ext_hdrs[SADB_EXT_ADDRESS_DST - 1]; in pfkey_migrate()
2636 const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_migrate() argument
2643 …ey_spdget(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spdget() argument
2652 if ((pol = ext_hdrs[SADB_X_EXT_POLICY-1]) == NULL) in pfkey_spdget()
2733 …y_spddump(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spddump() argument
2775 …_spdflush(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spdflush() argument
2800 const struct sadb_msg *hdr, void * const *ext_hdrs);
2829 void *ext_hdrs[SADB_EXT_MAX]; in pfkey_process() local
2839 memset(ext_hdrs, 0, sizeof(ext_hdrs)); in pfkey_process()
2840 err = parse_exthdrs(skb, hdr, ext_hdrs); in pfkey_process()
2844 err = pfkey_funcs[hdr->sadb_msg_type](sk, skb, hdr, ext_hdrs); in pfkey_process()