Lines Matching defs:sel

198 __xfrm4_selector_match(const struct xfrm_selector *sel, const struct flowi *fl)
202 return addr4_match(fl4->daddr, sel->daddr.a4, sel->prefixlen_d) &&
203 addr4_match(fl4->saddr, sel->saddr.a4, sel->prefixlen_s) &&
204 !((xfrm_flowi_dport(fl, &fl4->uli) ^ sel->dport) & sel->dport_mask) &&
205 !((xfrm_flowi_sport(fl, &fl4->uli) ^ sel->sport) & sel->sport_mask) &&
206 (fl4->flowi4_proto == sel->proto || !sel->proto) &&
207 (fl4->flowi4_oif == sel->ifindex || !sel->ifindex);
211 __xfrm6_selector_match(const struct xfrm_selector *sel, const struct flowi *fl)
215 return addr_match(&fl6->daddr, &sel->daddr, sel->prefixlen_d) &&
216 addr_match(&fl6->saddr, &sel->saddr, sel->prefixlen_s) &&
217 !((xfrm_flowi_dport(fl, &fl6->uli) ^ sel->dport) & sel->dport_mask) &&
218 !((xfrm_flowi_sport(fl, &fl6->uli) ^ sel->sport) & sel->sport_mask) &&
219 (fl6->flowi6_proto == sel->proto || !sel->proto) &&
220 (fl6->flowi6_oif == sel->ifindex || !sel->ifindex);
223 bool xfrm_selector_match(const struct xfrm_selector *sel, const struct flowi *fl,
228 return __xfrm4_selector_match(sel, fl);
230 return __xfrm6_selector_match(sel, fl);
485 const struct xfrm_selector *sel,
494 hash = __sel_hash(sel, family, hmask, dbits, sbits);
1626 u32 if_id, u8 type, int dir, struct xfrm_selector *sel,
1638 !selector_cmp(sel, &pol->selector) &&
1648 u8 type, int dir, struct xfrm_selector *sel,
1657 chain = policy_hash_bysel(net, sel, sel->family, dir);
1663 sel->family, dir, if_id);
1670 &sel->saddr,
1671 &sel->daddr)) {
1682 sel, ctx);
1691 sel, ctx);
1972 const struct xfrm_selector *sel = &pol->selector;
1982 match = xfrm_selector_match(sel, fl, family);
2661 if (xfrm[i]->sel.family == AF_UNSPEC) {
3642 if (!xfrm_selector_match(&x->sel, &fl, family)) {
4279 struct xfrm_selector *sel = &xp->selector;
4285 switch (sel->family) {
4287 audit_log_format(audit_buf, " src=%pI4", &sel->saddr.a4);
4288 if (sel->prefixlen_s != 32)
4290 sel->prefixlen_s);
4291 audit_log_format(audit_buf, " dst=%pI4", &sel->daddr.a4);
4292 if (sel->prefixlen_d != 32)
4294 sel->prefixlen_d);
4297 audit_log_format(audit_buf, " src=%pI6", sel->saddr.a6);
4298 if (sel->prefixlen_s != 128)
4300 sel->prefixlen_s);
4301 audit_log_format(audit_buf, " dst=%pI6", sel->daddr.a6);
4302 if (sel->prefixlen_d != 128)
4304 sel->prefixlen_d);
4361 static struct xfrm_policy *xfrm_migrate_policy_find(const struct xfrm_selector *sel,
4369 chain = policy_hash_direct(net, &sel->daddr, &sel->saddr, sel->family, dir);
4372 xfrm_migrate_selector_match(sel, &pol->selector) &&
4385 xfrm_migrate_selector_match(sel, &pol->selector) &&
4507 int xfrm_migrate(const struct xfrm_selector *sel, u8 dir, u8 type,
4532 pol = xfrm_migrate_policy_find(sel, dir, type, net, if_id);
4567 km_migrate(sel, dir, type, m, num_migrate, k, encap);