Lines Matching refs:family

34    2. Hash table by (daddr,family,reqid) to find what SAs exist for given
44 unsigned short family)
46 return __xfrm_dst_hash(daddr, saddr, reqid, family, net->xfrm.state_hmask);
52 unsigned short family)
54 return __xfrm_src_hash(daddr, saddr, family, net->xfrm.state_hmask);
59 __be32 spi, u8 proto, unsigned short family)
61 return __xfrm_spi_hash(daddr, spi, proto, family, net->xfrm.state_hmask);
77 x->props.reqid, x->props.family,
82 x->props.family,
88 x->id.proto, x->props.family,
161 int xfrm_register_type(const struct xfrm_type *type, unsigned short family)
163 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family);
182 int xfrm_unregister_type(const struct xfrm_type *type, unsigned short family)
184 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family);
203 static const struct xfrm_type *xfrm_get_type(u8 proto, unsigned short family)
211 afinfo = xfrm_state_get_afinfo(family);
221 request_module("xfrm-type-%d-%d", family, proto);
236 int xfrm_register_mode(struct xfrm_mode *mode, int family)
245 afinfo = xfrm_state_get_afinfo(family);
270 int xfrm_unregister_mode(struct xfrm_mode *mode, int family)
279 afinfo = xfrm_state_get_afinfo(family);
298 static struct xfrm_mode *xfrm_get_mode(unsigned int encap, int family)
308 afinfo = xfrm_state_get_afinfo(family);
317 request_module("xfrm-mode-%d-%d", family, encap);
636 unsigned short family)
638 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family);
643 if (family != tmpl->encap_family) {
657 unsigned short family)
659 unsigned int h = xfrm_spi_hash(net, daddr, spi, proto, family);
663 if (x->props.family != family ||
666 !xfrm_addr_equal(&x->id.daddr, daddr, family))
681 u8 proto, unsigned short family)
683 unsigned int h = xfrm_src_hash(net, daddr, saddr, family);
687 if (x->props.family != family ||
689 !xfrm_addr_equal(&x->id.daddr, daddr, family) ||
690 !xfrm_addr_equal(&x->props.saddr, saddr, family))
703 __xfrm_state_locate(struct xfrm_state *x, int use_spi, int family)
710 x->id.spi, x->id.proto, family);
715 x->id.proto, family);
727 const struct flowi *fl, unsigned short family,
743 if ((x->sel.family &&
744 !xfrm_selector_match(&x->sel, fl, x->sel.family)) ||
757 if (xfrm_selector_match(&x->sel, fl, x->sel.family) &&
767 unsigned short family)
785 if (x->props.family == encap_family &&
801 if (x->props.family == encap_family &&
841 xfrm_init_tempstate(x, fl, tmpl, daddr, saddr, family);
887 unsigned short family, u8 mode, u8 proto, u32 reqid)
893 h = xfrm_dst_hash(net, daddr, saddr, reqid, family);
895 if (x->props.family == family &&
899 xfrm_state_addr_check(x, daddr, saddr, family) &&
918 unsigned short family)
926 if (x->props.family != family ||
947 x->props.reqid, x->props.family);
950 h = xfrm_src_hash(net, &x->id.daddr, &x->props.saddr, x->props.family);
955 x->props.family);
973 unsigned short family = xnew->props.family;
979 h = xfrm_dst_hash(net, &xnew->id.daddr, &xnew->props.saddr, reqid, family);
981 if (x->props.family == family &&
984 xfrm_addr_equal(&x->id.daddr, &xnew->id.daddr, family) &&
985 xfrm_addr_equal(&x->props.saddr, &xnew->props.saddr, family))
1004 unsigned short family, u8 mode,
1010 unsigned int h = xfrm_dst_hash(net, daddr, saddr, reqid, family);
1017 x->props.family != family ||
1022 !xfrm_addr_equal(&x->id.daddr, daddr, family) ||
1023 !xfrm_addr_equal(&x->props.saddr, saddr, family))
1035 switch (family) {
1057 x->props.family = family;
1067 h = xfrm_src_hash(net, daddr, saddr, family);
1084 int family;
1089 family = x->props.family;
1095 x1 = __xfrm_state_locate(x, use_spi, family);
1106 !xfrm_addr_equal(&x1->id.daddr, &x->id.daddr, family))) {
1113 x1 = __find_acq_core(net, &x->mark, family, x->props.mode,
1150 x->props.family = orig->props.family;
1307 x1 = __xfrm_state_locate(x, use_spi, x->props.family);
1393 u8 proto, unsigned short family)
1398 x = __xfrm_state_lookup(net, mark, daddr, spi, proto, family);
1407 u8 proto, unsigned short family)
1412 x = __xfrm_state_lookup_byaddr(net, mark, daddr, saddr, proto, family);
1421 const xfrm_address_t *saddr, int create, unsigned short family)
1426 x = __find_acq_core(net, mark, family, mode, reqid, proto, daddr, saddr, create);
1436 unsigned short family, struct net *net)
1439 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family);
1454 unsigned short family)
1457 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family);
1563 x0 = xfrm_state_lookup(net, mark, &x->id.daddr, minspi, x->id.proto, x->props.family);
1573 x0 = xfrm_state_lookup(net, mark, &x->id.daddr, htonl(spi), x->id.proto, x->props.family);
1583 h = xfrm_spi_hash(net, &x->id.daddr, x->id.spi, x->id.proto, x->props.family);
1601 if ((filter->family == AF_INET ||
1602 filter->family == AF_INET6) &&
1603 x->props.family != filter->family)
1907 if (unlikely(afinfo->family >= NPROTO))
1910 if (unlikely(xfrm_state_afinfo[afinfo->family] != NULL))
1913 rcu_assign_pointer(xfrm_state_afinfo[afinfo->family], afinfo);
1924 if (unlikely(afinfo->family >= NPROTO))
1927 if (likely(xfrm_state_afinfo[afinfo->family] != NULL)) {
1928 if (unlikely(xfrm_state_afinfo[afinfo->family] != afinfo))
1931 RCU_INIT_POINTER(xfrm_state_afinfo[afinfo->family], NULL);
1939 struct xfrm_state_afinfo *xfrm_state_get_afinfo(unsigned int family)
1942 if (unlikely(family >= NPROTO))
1945 afinfo = rcu_dereference(xfrm_state_afinfo[family]);
1989 int family = x->props.family;
1993 afinfo = xfrm_state_get_afinfo(family);
2008 if (x->sel.family != AF_UNSPEC) {
2009 inner_mode = xfrm_get_mode(x->props.mode, x->sel.family);
2014 family != x->sel.family) {
2024 inner_mode = xfrm_get_mode(x->props.mode, x->props.family);
2034 if (x->props.family == AF_INET)
2046 x->type = xfrm_get_type(x->id.proto, family);
2054 x->outer_mode = xfrm_get_mode(x->props.mode, family);
2145 switch (x->props.family) {
2159 static void xfrm_audit_helper_pktinfo(struct sk_buff *skb, u16 family,
2165 switch (family) {
2220 xfrm_audit_helper_pktinfo(skb, x->props.family, audit_buf);
2238 xfrm_audit_helper_pktinfo(skb, x->props.family, audit_buf);
2246 void xfrm_audit_state_notfound_simple(struct sk_buff *skb, u16 family)
2253 xfrm_audit_helper_pktinfo(skb, family, audit_buf);
2258 void xfrm_audit_state_notfound(struct sk_buff *skb, u16 family,
2267 xfrm_audit_helper_pktinfo(skb, family, audit_buf);
2285 xfrm_audit_helper_pktinfo(skb, x->props.family, audit_buf);