Lines Matching refs:ext_hdrs
525 static int parse_exthdrs(struct sk_buff *skb, const struct sadb_msg *hdr, void **ext_hdrs) in parse_exthdrs() argument
552 if (ext_hdrs[ext_type-1] != NULL) in parse_exthdrs()
574 ext_hdrs[ext_type-1] = (void *) p; in parse_exthdrs()
670 …state *pfkey_xfrm_state_lookup(struct net *net, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_xfrm_state_lookup() argument
678 sa = ext_hdrs[SADB_EXT_SA - 1]; in pfkey_xfrm_state_lookup()
687 addr = ext_hdrs[SADB_EXT_ADDRESS_DST - 1]; in pfkey_xfrm_state_lookup()
1081 void * const *ext_hdrs) in pfkey_msg2xfrm_state() argument
1092 sa = ext_hdrs[SADB_EXT_SA - 1]; in pfkey_msg2xfrm_state()
1094 !present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_msg2xfrm_state()
1095 ext_hdrs[SADB_EXT_ADDRESS_DST-1])) in pfkey_msg2xfrm_state()
1098 !ext_hdrs[SADB_EXT_KEY_ENCRYPT-1]) in pfkey_msg2xfrm_state()
1101 !ext_hdrs[SADB_EXT_KEY_AUTH-1]) in pfkey_msg2xfrm_state()
1103 if (!!ext_hdrs[SADB_EXT_LIFETIME_HARD-1] != in pfkey_msg2xfrm_state()
1104 !!ext_hdrs[SADB_EXT_LIFETIME_SOFT-1]) in pfkey_msg2xfrm_state()
1131 key = ext_hdrs[SADB_EXT_KEY_AUTH - 1]; in pfkey_msg2xfrm_state()
1136 key = ext_hdrs[SADB_EXT_KEY_ENCRYPT-1]; in pfkey_msg2xfrm_state()
1157 lifetime = ext_hdrs[SADB_EXT_LIFETIME_HARD - 1]; in pfkey_msg2xfrm_state()
1164 lifetime = ext_hdrs[SADB_EXT_LIFETIME_SOFT - 1]; in pfkey_msg2xfrm_state()
1172 sec_ctx = ext_hdrs[SADB_X_EXT_SEC_CTX - 1]; in pfkey_msg2xfrm_state()
1187 key = ext_hdrs[SADB_EXT_KEY_AUTH - 1]; in pfkey_msg2xfrm_state()
1233 key = (struct sadb_key*) ext_hdrs[SADB_EXT_KEY_ENCRYPT-1]; in pfkey_msg2xfrm_state()
1253 …x->props.family = pfkey_sadb_addr2xfrm_addr((struct sadb_address *) ext_hdrs[SADB_EXT_ADDRESS_SRC-… in pfkey_msg2xfrm_state()
1255 pfkey_sadb_addr2xfrm_addr((struct sadb_address *) ext_hdrs[SADB_EXT_ADDRESS_DST-1], in pfkey_msg2xfrm_state()
1258 if (ext_hdrs[SADB_X_EXT_SA2-1]) { in pfkey_msg2xfrm_state()
1259 const struct sadb_x_sa2 *sa2 = ext_hdrs[SADB_X_EXT_SA2-1]; in pfkey_msg2xfrm_state()
1269 if (ext_hdrs[SADB_EXT_ADDRESS_PROXY-1]) { in pfkey_msg2xfrm_state()
1270 const struct sadb_address *addr = ext_hdrs[SADB_EXT_ADDRESS_PROXY-1]; in pfkey_msg2xfrm_state()
1280 if (ext_hdrs[SADB_X_EXT_NAT_T_TYPE-1]) { in pfkey_msg2xfrm_state()
1291 n_type = ext_hdrs[SADB_X_EXT_NAT_T_TYPE-1]; in pfkey_msg2xfrm_state()
1294 if (ext_hdrs[SADB_X_EXT_NAT_T_SPORT-1]) { in pfkey_msg2xfrm_state()
1296 ext_hdrs[SADB_X_EXT_NAT_T_SPORT-1]; in pfkey_msg2xfrm_state()
1299 if (ext_hdrs[SADB_X_EXT_NAT_T_DPORT-1]) { in pfkey_msg2xfrm_state()
1301 ext_hdrs[SADB_X_EXT_NAT_T_DPORT-1]; in pfkey_msg2xfrm_state()
1320 …_reserved(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_reserved() argument
1325 …ey_getspi(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_getspi() argument
1342 if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_getspi()
1343 ext_hdrs[SADB_EXT_ADDRESS_DST-1])) in pfkey_getspi()
1350 if ((sa2 = ext_hdrs[SADB_X_EXT_SA2-1]) != NULL) { in pfkey_getspi()
1360 saddr = ext_hdrs[SADB_EXT_ADDRESS_SRC-1]; in pfkey_getspi()
1361 daddr = ext_hdrs[SADB_EXT_ADDRESS_DST-1]; in pfkey_getspi()
1394 range = ext_hdrs[SADB_EXT_SPIRANGE-1]; in pfkey_getspi()
1430 …y_acquire(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_acquire() argument
1517 …pfkey_add(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_add() argument
1524 x = pfkey_msg2xfrm_state(net, hdr, ext_hdrs); in pfkey_add()
1554 …ey_delete(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_delete() argument
1561 if (!ext_hdrs[SADB_EXT_SA-1] || in pfkey_delete()
1562 !present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_delete()
1563 ext_hdrs[SADB_EXT_ADDRESS_DST-1])) in pfkey_delete()
1566 x = pfkey_xfrm_state_lookup(net, hdr, ext_hdrs); in pfkey_delete()
1594 …pfkey_get(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_get() argument
1602 if (!ext_hdrs[SADB_EXT_SA-1] || in pfkey_get()
1603 !present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_get()
1604 ext_hdrs[SADB_EXT_ADDRESS_DST-1])) in pfkey_get()
1607 x = pfkey_xfrm_state_lookup(net, hdr, ext_hdrs); in pfkey_get()
1706 …_register(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_register() argument
1775 …key_flush(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_flush() argument
1847 …fkey_dump(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_dump() argument
1865 if (ext_hdrs[SADB_X_EXT_FILTER - 1]) { in pfkey_dump()
1866 struct sadb_x_filter *xfilter = ext_hdrs[SADB_X_EXT_FILTER - 1]; in pfkey_dump()
1893 …y_promisc(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_promisc() argument
2250 …ey_spdadd(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spdadd() argument
2261 if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_spdadd()
2262 ext_hdrs[SADB_EXT_ADDRESS_DST-1]) || in pfkey_spdadd()
2263 !ext_hdrs[SADB_X_EXT_POLICY-1]) in pfkey_spdadd()
2266 pol = ext_hdrs[SADB_X_EXT_POLICY-1]; in pfkey_spdadd()
2280 sa = ext_hdrs[SADB_EXT_ADDRESS_SRC-1]; in pfkey_spdadd()
2289 sa = ext_hdrs[SADB_EXT_ADDRESS_DST-1]; in pfkey_spdadd()
2302 sec_ctx = ext_hdrs[SADB_X_EXT_SEC_CTX - 1]; in pfkey_spdadd()
2322 if ((lifetime = ext_hdrs[SADB_EXT_LIFETIME_HARD-1]) != NULL) { in pfkey_spdadd()
2328 if ((lifetime = ext_hdrs[SADB_EXT_LIFETIME_SOFT-1]) != NULL) { in pfkey_spdadd()
2365 …spddelete(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spddelete() argument
2377 if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_spddelete()
2378 ext_hdrs[SADB_EXT_ADDRESS_DST-1]) || in pfkey_spddelete()
2379 !ext_hdrs[SADB_X_EXT_POLICY-1]) in pfkey_spddelete()
2382 pol = ext_hdrs[SADB_X_EXT_POLICY-1]; in pfkey_spddelete()
2388 sa = ext_hdrs[SADB_EXT_ADDRESS_SRC-1]; in pfkey_spddelete()
2396 sa = ext_hdrs[SADB_EXT_ADDRESS_DST-1]; in pfkey_spddelete()
2404 sec_ctx = ext_hdrs[SADB_X_EXT_SEC_CTX - 1]; in pfkey_spddelete()
2550 const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_migrate() argument
2563 if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC - 1], in pfkey_migrate()
2564 ext_hdrs[SADB_EXT_ADDRESS_DST - 1]) || in pfkey_migrate()
2565 !ext_hdrs[SADB_X_EXT_POLICY - 1]) { in pfkey_migrate()
2570 kma = ext_hdrs[SADB_X_EXT_KMADDRESS - 1]; in pfkey_migrate()
2571 pol = ext_hdrs[SADB_X_EXT_POLICY - 1]; in pfkey_migrate()
2594 sa = ext_hdrs[SADB_EXT_ADDRESS_SRC - 1]; in pfkey_migrate()
2603 sa = ext_hdrs[SADB_EXT_ADDRESS_DST - 1]; in pfkey_migrate()
2642 const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_migrate() argument
2649 …ey_spdget(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spdget() argument
2658 if ((pol = ext_hdrs[SADB_X_EXT_POLICY-1]) == NULL) in pfkey_spdget()
2737 …y_spddump(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spddump() argument
2779 …_spdflush(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spdflush() argument
2804 const struct sadb_msg *hdr, void * const *ext_hdrs);
2833 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()