• Home
  • Raw
  • Download

Lines Matching refs:fl

72 __xfrm4_selector_match(const struct xfrm_selector *sel, const struct flowi *fl)  in __xfrm4_selector_match()  argument
74 const struct flowi4 *fl4 = &fl->u.ip4; in __xfrm4_selector_match()
78 !((xfrm_flowi_dport(fl, &fl4->uli) ^ sel->dport) & sel->dport_mask) && in __xfrm4_selector_match()
79 !((xfrm_flowi_sport(fl, &fl4->uli) ^ sel->sport) & sel->sport_mask) && in __xfrm4_selector_match()
85 __xfrm6_selector_match(const struct xfrm_selector *sel, const struct flowi *fl) in __xfrm6_selector_match() argument
87 const struct flowi6 *fl6 = &fl->u.ip6; in __xfrm6_selector_match()
91 !((xfrm_flowi_dport(fl, &fl6->uli) ^ sel->dport) & sel->dport_mask) && in __xfrm6_selector_match()
92 !((xfrm_flowi_sport(fl, &fl6->uli) ^ sel->sport) & sel->sport_mask) && in __xfrm6_selector_match()
97 bool xfrm_selector_match(const struct xfrm_selector *sel, const struct flowi *fl, in xfrm_selector_match() argument
102 return __xfrm4_selector_match(sel, fl); in xfrm_selector_match()
104 return __xfrm6_selector_match(sel, fl); in xfrm_selector_match()
1072 const struct flowi *fl, in xfrm_policy_match() argument
1081 (fl->flowi_mark & pol->mark.m) != pol->mark.v || in xfrm_policy_match()
1085 match = xfrm_selector_match(sel, fl, family); in xfrm_policy_match()
1087 ret = security_xfrm_policy_lookup(pol->security, fl->flowi_secid, in xfrm_policy_match()
1094 const struct flowi *fl, in xfrm_policy_lookup_bytype() argument
1105 daddr = xfrm_flowi_daddr(fl, family); in xfrm_policy_lookup_bytype()
1106 saddr = xfrm_flowi_saddr(fl, family); in xfrm_policy_lookup_bytype()
1120 err = xfrm_policy_match(pol, fl, type, family, dir, if_id); in xfrm_policy_lookup_bytype()
1139 err = xfrm_policy_match(pol, fl, type, family, dir, if_id); in xfrm_policy_lookup_bytype()
1165 const struct flowi *fl, in xfrm_policy_lookup() argument
1171 pol = xfrm_policy_lookup_bytype(net, XFRM_POLICY_TYPE_SUB, fl, family, in xfrm_policy_lookup()
1176 return xfrm_policy_lookup_bytype(net, XFRM_POLICY_TYPE_MAIN, fl, family, in xfrm_policy_lookup()
1181 const struct flowi *fl, in xfrm_sk_policy_lookup() argument
1198 match = xfrm_selector_match(&pol->selector, fl, family); in xfrm_sk_policy_lookup()
1206 fl->flowi_secid, in xfrm_sk_policy_lookup()
1385 xfrm_tmpl_resolve_one(struct xfrm_policy *policy, const struct flowi *fl, in xfrm_tmpl_resolve_one() argument
1391 xfrm_address_t *daddr = xfrm_flowi_daddr(fl, family); in xfrm_tmpl_resolve_one()
1392 xfrm_address_t *saddr = xfrm_flowi_saddr(fl, family); in xfrm_tmpl_resolve_one()
1406 error = xfrm_get_saddr(net, fl->flowi_oif, in xfrm_tmpl_resolve_one()
1415 x = xfrm_state_find(remote, local, fl, tmpl, policy, &error, in xfrm_tmpl_resolve_one()
1444 xfrm_tmpl_resolve(struct xfrm_policy **pols, int npols, const struct flowi *fl, in xfrm_tmpl_resolve() argument
1460 ret = xfrm_tmpl_resolve_one(pols[i], fl, &tpp[cnx], family); in xfrm_tmpl_resolve()
1481 static int xfrm_get_tos(const struct flowi *fl, int family) in xfrm_get_tos() argument
1490 tos = afinfo->get_tos(fl); in xfrm_get_tos()
1550 const struct flowi *fl) in xfrm_fill_dst() argument
1559 err = afinfo->fill_dst(xdst, dev, fl); in xfrm_fill_dst()
1573 const struct flowi *fl, in xfrm_bundle_create() argument
1591 xfrm_flowi_addr_get(fl, &saddr, &daddr, family); in xfrm_bundle_create()
1593 tos = xfrm_get_tos(fl, family); in xfrm_bundle_create()
1633 mark = xfrm_smark_get(fl->flowi_mark, xfrm[i]); in xfrm_bundle_create()
1636 dst = xfrm_dst_lookup(xfrm[i], tos, fl->flowi_oif, in xfrm_bundle_create()
1677 err = xfrm_fill_dst(xdst, dev, fl); in xfrm_bundle_create()
1700 static int xfrm_expand_policies(const struct flowi *fl, u16 family, in xfrm_expand_policies() argument
1721 fl, family, in xfrm_expand_policies()
1747 const struct flowi *fl, u16 family, in xfrm_resolve_and_create_bundle() argument
1757 err = xfrm_tmpl_resolve(pols, num_pols, fl, xfrm, family); in xfrm_resolve_and_create_bundle()
1767 dst = xfrm_bundle_create(pols[0], xfrm, err, fl, dst_orig); in xfrm_resolve_and_create_bundle()
1790 struct flowi fl; in xfrm_policy_queue_process() local
1801 xfrm_decode_session(skb, &fl, dst->ops->family); in xfrm_policy_queue_process()
1805 dst = xfrm_lookup(net, dst->path, &fl, sk, 0); in xfrm_policy_queue_process()
1833 xfrm_decode_session(skb, &fl, skb_dst(skb)->ops->family); in xfrm_policy_queue_process()
1835 dst = xfrm_lookup(net, skb_dst(skb)->path, &fl, skb->sk, 0); in xfrm_policy_queue_process()
1902 const struct flowi *fl, in xfrm_create_dummy_bundle() argument
1946 err = xfrm_fill_dst(xdst, dev, fl); in xfrm_create_dummy_bundle()
1960 const struct flowi *fl, in xfrm_bundle_lookup() argument
1971 pols[0] = xfrm_policy_lookup(net, fl, family, dir, if_id); in xfrm_bundle_lookup()
1972 err = xfrm_expand_policies(fl, family, pols, in xfrm_bundle_lookup()
1981 xdst = xfrm_resolve_and_create_bundle(pols, num_pols, fl, family, in xfrm_bundle_lookup()
2004 xdst = xfrm_create_dummy_bundle(net, xflo, fl, num_xfrms, family); in xfrm_bundle_lookup()
2049 const struct flowi *fl, in xfrm_lookup_with_ifid() argument
2067 pols[0] = xfrm_sk_policy_lookup(sk, XFRM_POLICY_OUT, fl, family, in xfrm_lookup_with_ifid()
2069 err = xfrm_expand_policies(fl, family, pols, in xfrm_lookup_with_ifid()
2081 pols, num_pols, fl, in xfrm_lookup_with_ifid()
2112 xdst = xfrm_bundle_lookup(net, fl, family, dir, &xflo, if_id); in xfrm_lookup_with_ifid()
2201 const struct flowi *fl, const struct sock *sk, in xfrm_lookup() argument
2204 return xfrm_lookup_with_ifid(net, dst_orig, fl, sk, flags, 0); in xfrm_lookup()
2212 const struct flowi *fl, in xfrm_lookup_route() argument
2215 struct dst_entry *dst = xfrm_lookup(net, dst_orig, fl, sk, in xfrm_lookup_route()
2230 xfrm_secpath_reject(int idx, struct sk_buff *skb, const struct flowi *fl) in xfrm_secpath_reject() argument
2239 return x->type->reject(x, skb, fl); in xfrm_secpath_reject()
2294 int __xfrm_decode_session(struct sk_buff *skb, struct flowi *fl, in __xfrm_decode_session() argument
2303 afinfo->decode_session(skb, fl, reverse); in __xfrm_decode_session()
2305 err = security_xfrm_decode_session(skb, &fl->flowi_secid); in __xfrm_decode_session()
2333 struct flowi fl; in __xfrm_policy_check() local
2352 if (__xfrm_decode_session(skb, &fl, family, reverse) < 0) { in __xfrm_policy_check()
2357 nf_nat_decode_session(skb, &fl, family); in __xfrm_policy_check()
2365 if (!xfrm_selector_match(&x->sel, &fl, family)) { in __xfrm_policy_check()
2375 pol = xfrm_sk_policy_lookup(sk, dir, &fl, family, if_id); in __xfrm_policy_check()
2383 pol = xfrm_policy_lookup(net, &fl, family, dir, if_id); in __xfrm_policy_check()
2392 xfrm_secpath_reject(xerr_idx, skb, &fl); in __xfrm_policy_check()
2406 &fl, family, in __xfrm_policy_check()
2478 xfrm_secpath_reject(xerr_idx, skb, &fl); in __xfrm_policy_check()
2488 struct flowi fl; in __xfrm_route_forward() local
2492 if (xfrm_decode_session(skb, &fl, family) < 0) { in __xfrm_route_forward()
2503 dst = xfrm_lookup(net, skb_dst(skb), &fl, NULL, XFRM_LOOKUP_QUEUE); in __xfrm_route_forward()