Lines Matching refs:ext_hdrs
511 static int parse_exthdrs(struct sk_buff *skb, const struct sadb_msg *hdr, void **ext_hdrs) in parse_exthdrs() argument
538 if (ext_hdrs[ext_type-1] != NULL) in parse_exthdrs()
560 ext_hdrs[ext_type-1] = (void *) p; in parse_exthdrs()
656 …state *pfkey_xfrm_state_lookup(struct net *net, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_xfrm_state_lookup() argument
664 sa = ext_hdrs[SADB_EXT_SA - 1]; in pfkey_xfrm_state_lookup()
673 addr = ext_hdrs[SADB_EXT_ADDRESS_DST - 1]; in pfkey_xfrm_state_lookup()
1065 void * const *ext_hdrs) in pfkey_msg2xfrm_state() argument
1076 sa = ext_hdrs[SADB_EXT_SA - 1]; in pfkey_msg2xfrm_state()
1078 !present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_msg2xfrm_state()
1079 ext_hdrs[SADB_EXT_ADDRESS_DST-1])) in pfkey_msg2xfrm_state()
1082 !ext_hdrs[SADB_EXT_KEY_ENCRYPT-1]) in pfkey_msg2xfrm_state()
1085 !ext_hdrs[SADB_EXT_KEY_AUTH-1]) in pfkey_msg2xfrm_state()
1087 if (!!ext_hdrs[SADB_EXT_LIFETIME_HARD-1] != in pfkey_msg2xfrm_state()
1088 !!ext_hdrs[SADB_EXT_LIFETIME_SOFT-1]) in pfkey_msg2xfrm_state()
1115 key = ext_hdrs[SADB_EXT_KEY_AUTH - 1]; in pfkey_msg2xfrm_state()
1120 key = ext_hdrs[SADB_EXT_KEY_ENCRYPT-1]; in pfkey_msg2xfrm_state()
1141 lifetime = ext_hdrs[SADB_EXT_LIFETIME_HARD - 1]; in pfkey_msg2xfrm_state()
1148 lifetime = ext_hdrs[SADB_EXT_LIFETIME_SOFT - 1]; in pfkey_msg2xfrm_state()
1156 sec_ctx = ext_hdrs[SADB_X_EXT_SEC_CTX - 1]; in pfkey_msg2xfrm_state()
1171 key = ext_hdrs[SADB_EXT_KEY_AUTH - 1]; in pfkey_msg2xfrm_state()
1217 key = (struct sadb_key*) ext_hdrs[SADB_EXT_KEY_ENCRYPT-1]; in pfkey_msg2xfrm_state()
1237 …x->props.family = pfkey_sadb_addr2xfrm_addr((struct sadb_address *) ext_hdrs[SADB_EXT_ADDRESS_SRC-… in pfkey_msg2xfrm_state()
1239 pfkey_sadb_addr2xfrm_addr((struct sadb_address *) ext_hdrs[SADB_EXT_ADDRESS_DST-1], in pfkey_msg2xfrm_state()
1242 if (ext_hdrs[SADB_X_EXT_SA2-1]) { in pfkey_msg2xfrm_state()
1243 const struct sadb_x_sa2 *sa2 = ext_hdrs[SADB_X_EXT_SA2-1]; in pfkey_msg2xfrm_state()
1253 if (ext_hdrs[SADB_EXT_ADDRESS_PROXY-1]) { in pfkey_msg2xfrm_state()
1254 const struct sadb_address *addr = ext_hdrs[SADB_EXT_ADDRESS_PROXY-1]; in pfkey_msg2xfrm_state()
1264 if (ext_hdrs[SADB_X_EXT_NAT_T_TYPE-1]) { in pfkey_msg2xfrm_state()
1275 n_type = ext_hdrs[SADB_X_EXT_NAT_T_TYPE-1]; in pfkey_msg2xfrm_state()
1278 if (ext_hdrs[SADB_X_EXT_NAT_T_SPORT-1]) { in pfkey_msg2xfrm_state()
1280 ext_hdrs[SADB_X_EXT_NAT_T_SPORT-1]; in pfkey_msg2xfrm_state()
1283 if (ext_hdrs[SADB_X_EXT_NAT_T_DPORT-1]) { in pfkey_msg2xfrm_state()
1285 ext_hdrs[SADB_X_EXT_NAT_T_DPORT-1]; in pfkey_msg2xfrm_state()
1304 …_reserved(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_reserved() argument
1309 …ey_getspi(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_getspi() argument
1326 if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_getspi()
1327 ext_hdrs[SADB_EXT_ADDRESS_DST-1])) in pfkey_getspi()
1334 if ((sa2 = ext_hdrs[SADB_X_EXT_SA2-1]) != NULL) { in pfkey_getspi()
1344 saddr = ext_hdrs[SADB_EXT_ADDRESS_SRC-1]; in pfkey_getspi()
1345 daddr = ext_hdrs[SADB_EXT_ADDRESS_DST-1]; in pfkey_getspi()
1378 range = ext_hdrs[SADB_EXT_SPIRANGE-1]; in pfkey_getspi()
1414 …y_acquire(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_acquire() argument
1501 …pfkey_add(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_add() argument
1508 x = pfkey_msg2xfrm_state(net, hdr, ext_hdrs); in pfkey_add()
1538 …ey_delete(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_delete() argument
1545 if (!ext_hdrs[SADB_EXT_SA-1] || in pfkey_delete()
1546 !present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_delete()
1547 ext_hdrs[SADB_EXT_ADDRESS_DST-1])) in pfkey_delete()
1550 x = pfkey_xfrm_state_lookup(net, hdr, ext_hdrs); in pfkey_delete()
1578 …pfkey_get(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_get() argument
1586 if (!ext_hdrs[SADB_EXT_SA-1] || in pfkey_get()
1587 !present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_get()
1588 ext_hdrs[SADB_EXT_ADDRESS_DST-1])) in pfkey_get()
1591 x = pfkey_xfrm_state_lookup(net, hdr, ext_hdrs); in pfkey_get()
1690 …_register(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_register() argument
1762 …key_flush(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_flush() argument
1834 …fkey_dump(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_dump() argument
1852 if (ext_hdrs[SADB_X_EXT_FILTER - 1]) { in pfkey_dump()
1853 struct sadb_x_filter *xfilter = ext_hdrs[SADB_X_EXT_FILTER - 1]; in pfkey_dump()
1887 …y_promisc(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_promisc() argument
2246 …ey_spdadd(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spdadd() argument
2257 if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_spdadd()
2258 ext_hdrs[SADB_EXT_ADDRESS_DST-1]) || in pfkey_spdadd()
2259 !ext_hdrs[SADB_X_EXT_POLICY-1]) in pfkey_spdadd()
2262 pol = ext_hdrs[SADB_X_EXT_POLICY-1]; in pfkey_spdadd()
2276 sa = ext_hdrs[SADB_EXT_ADDRESS_SRC-1]; in pfkey_spdadd()
2285 sa = ext_hdrs[SADB_EXT_ADDRESS_DST-1]; in pfkey_spdadd()
2298 sec_ctx = ext_hdrs[SADB_X_EXT_SEC_CTX - 1]; in pfkey_spdadd()
2318 if ((lifetime = ext_hdrs[SADB_EXT_LIFETIME_HARD-1]) != NULL) { in pfkey_spdadd()
2324 if ((lifetime = ext_hdrs[SADB_EXT_LIFETIME_SOFT-1]) != NULL) { in pfkey_spdadd()
2361 …spddelete(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spddelete() argument
2373 if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC-1], in pfkey_spddelete()
2374 ext_hdrs[SADB_EXT_ADDRESS_DST-1]) || in pfkey_spddelete()
2375 !ext_hdrs[SADB_X_EXT_POLICY-1]) in pfkey_spddelete()
2378 pol = ext_hdrs[SADB_X_EXT_POLICY-1]; in pfkey_spddelete()
2384 sa = ext_hdrs[SADB_EXT_ADDRESS_SRC-1]; in pfkey_spddelete()
2392 sa = ext_hdrs[SADB_EXT_ADDRESS_DST-1]; in pfkey_spddelete()
2400 sec_ctx = ext_hdrs[SADB_X_EXT_SEC_CTX - 1]; in pfkey_spddelete()
2548 const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_migrate() argument
2561 if (!present_and_same_family(ext_hdrs[SADB_EXT_ADDRESS_SRC - 1], in pfkey_migrate()
2562 ext_hdrs[SADB_EXT_ADDRESS_DST - 1]) || in pfkey_migrate()
2563 !ext_hdrs[SADB_X_EXT_POLICY - 1]) { in pfkey_migrate()
2568 kma = ext_hdrs[SADB_X_EXT_KMADDRESS - 1]; in pfkey_migrate()
2569 pol = ext_hdrs[SADB_X_EXT_POLICY - 1]; in pfkey_migrate()
2592 sa = ext_hdrs[SADB_EXT_ADDRESS_SRC - 1]; in pfkey_migrate()
2601 sa = ext_hdrs[SADB_EXT_ADDRESS_DST - 1]; in pfkey_migrate()
2640 const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_migrate() argument
2647 …ey_spdget(struct sock *sk, struct sk_buff *skb, const struct sadb_msg *hdr, void * const *ext_hdrs) in pfkey_spdget() argument
2656 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
2843 memset(ext_hdrs, 0, sizeof(ext_hdrs)); in pfkey_process()
2844 err = parse_exthdrs(skb, hdr, ext_hdrs); in pfkey_process()
2848 err = pfkey_funcs[hdr->sadb_msg_type](sk, skb, hdr, ext_hdrs); in pfkey_process()