Lines Matching refs:sel

63 __xfrm4_selector_match(const struct xfrm_selector *sel, const struct flowi *fl)  in __xfrm4_selector_match()  argument
67 return addr4_match(fl4->daddr, sel->daddr.a4, sel->prefixlen_d) && in __xfrm4_selector_match()
68 addr4_match(fl4->saddr, sel->saddr.a4, sel->prefixlen_s) && in __xfrm4_selector_match()
69 !((xfrm_flowi_dport(fl, &fl4->uli) ^ sel->dport) & sel->dport_mask) && in __xfrm4_selector_match()
70 !((xfrm_flowi_sport(fl, &fl4->uli) ^ sel->sport) & sel->sport_mask) && in __xfrm4_selector_match()
71 (fl4->flowi4_proto == sel->proto || !sel->proto) && in __xfrm4_selector_match()
72 (fl4->flowi4_oif == sel->ifindex || !sel->ifindex); in __xfrm4_selector_match()
76 __xfrm6_selector_match(const struct xfrm_selector *sel, const struct flowi *fl) in __xfrm6_selector_match() argument
80 return addr_match(&fl6->daddr, &sel->daddr, sel->prefixlen_d) && in __xfrm6_selector_match()
81 addr_match(&fl6->saddr, &sel->saddr, sel->prefixlen_s) && in __xfrm6_selector_match()
82 !((xfrm_flowi_dport(fl, &fl6->uli) ^ sel->dport) & sel->dport_mask) && in __xfrm6_selector_match()
83 !((xfrm_flowi_sport(fl, &fl6->uli) ^ sel->sport) & sel->sport_mask) && in __xfrm6_selector_match()
84 (fl6->flowi6_proto == sel->proto || !sel->proto) && in __xfrm6_selector_match()
85 (fl6->flowi6_oif == sel->ifindex || !sel->ifindex); in __xfrm6_selector_match()
88 bool xfrm_selector_match(const struct xfrm_selector *sel, const struct flowi *fl, in xfrm_selector_match() argument
93 return __xfrm4_selector_match(sel, fl); in xfrm_selector_match()
95 return __xfrm6_selector_match(sel, fl); in xfrm_selector_match()
376 const struct xfrm_selector *sel, in policy_hash_bysel() argument
385 hash = __sel_hash(sel, family, hmask, dbits, sbits); in policy_hash_bysel()
814 int dir, struct xfrm_selector *sel, in xfrm_policy_bysel_ctx() argument
823 chain = policy_hash_bysel(net, sel, sel->family, dir); in xfrm_policy_bysel_ctx()
828 !selector_cmp(sel, &pol->selector) && in xfrm_policy_bysel_ctx()
1071 const struct xfrm_selector *sel = &pol->selector; in xfrm_policy_match() local
1080 match = xfrm_selector_match(sel, fl, family); in xfrm_policy_match()
1673 if (xfrm[i]->sel.family == AF_UNSPEC) { in xfrm_bundle_create()
1775 const struct xfrm_selector *sel) in xfrm_dst_update_parent() argument
1780 sel, sizeof(*sel)); in xfrm_dst_update_parent()
2474 if (!xfrm_selector_match(&x->sel, &fl, family)) { in __xfrm_policy_check()
3073 struct xfrm_selector *sel = &xp->selector; in xfrm_audit_common_policyinfo() local
3079 switch (sel->family) { in xfrm_audit_common_policyinfo()
3081 audit_log_format(audit_buf, " src=%pI4", &sel->saddr.a4); in xfrm_audit_common_policyinfo()
3082 if (sel->prefixlen_s != 32) in xfrm_audit_common_policyinfo()
3084 sel->prefixlen_s); in xfrm_audit_common_policyinfo()
3085 audit_log_format(audit_buf, " dst=%pI4", &sel->daddr.a4); in xfrm_audit_common_policyinfo()
3086 if (sel->prefixlen_d != 32) in xfrm_audit_common_policyinfo()
3088 sel->prefixlen_d); in xfrm_audit_common_policyinfo()
3091 audit_log_format(audit_buf, " src=%pI6", sel->saddr.a6); in xfrm_audit_common_policyinfo()
3092 if (sel->prefixlen_s != 128) in xfrm_audit_common_policyinfo()
3094 sel->prefixlen_s); in xfrm_audit_common_policyinfo()
3095 audit_log_format(audit_buf, " dst=%pI6", sel->daddr.a6); in xfrm_audit_common_policyinfo()
3096 if (sel->prefixlen_d != 128) in xfrm_audit_common_policyinfo()
3098 sel->prefixlen_d); in xfrm_audit_common_policyinfo()
3155 static struct xfrm_policy *xfrm_migrate_policy_find(const struct xfrm_selector *sel, in xfrm_migrate_policy_find() argument
3163 chain = policy_hash_direct(net, &sel->daddr, &sel->saddr, sel->family, dir); in xfrm_migrate_policy_find()
3165 if (xfrm_migrate_selector_match(sel, &pol->selector) && in xfrm_migrate_policy_find()
3174 if (xfrm_migrate_selector_match(sel, &pol->selector) && in xfrm_migrate_policy_find()
3294 int xfrm_migrate(const struct xfrm_selector *sel, u8 dir, u8 type, in xfrm_migrate() argument
3309 if ((pol = xfrm_migrate_policy_find(sel, dir, type, net)) == NULL) { in xfrm_migrate()
3340 km_migrate(sel, dir, type, m, num_migrate, k); in xfrm_migrate()