Lines Matching refs:family

34    2. Hash table by (daddr,family,reqid) to find what SAs exist for given
42 static struct xfrm_state_afinfo *xfrm_state_get_afinfo(unsigned int family);
49 unsigned short family)
51 return __xfrm_dst_hash(daddr, saddr, reqid, family, net->xfrm.state_hmask);
57 unsigned short family)
59 return __xfrm_src_hash(daddr, saddr, family, net->xfrm.state_hmask);
64 __be32 spi, u8 proto, unsigned short family)
66 return __xfrm_spi_hash(daddr, spi, proto, family, net->xfrm.state_hmask);
82 x->props.reqid, x->props.family,
87 x->props.family,
93 x->id.proto, x->props.family,
172 int xfrm_register_type(const struct xfrm_type *type, unsigned short family)
174 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family);
193 int xfrm_unregister_type(const struct xfrm_type *type, unsigned short family)
195 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family);
214 static const struct xfrm_type *xfrm_get_type(u8 proto, unsigned short family)
222 afinfo = xfrm_state_get_afinfo(family);
232 request_module("xfrm-type-%d-%d", family, proto);
247 int xfrm_register_mode(struct xfrm_mode *mode, int family)
256 afinfo = xfrm_state_get_afinfo(family);
281 int xfrm_unregister_mode(struct xfrm_mode *mode, int family)
290 afinfo = xfrm_state_get_afinfo(family);
309 static struct xfrm_mode *xfrm_get_mode(unsigned int encap, int family)
319 afinfo = xfrm_state_get_afinfo(family);
328 request_module("xfrm-mode-%d-%d", family, encap);
661 unsigned short family)
663 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family);
668 if (family != tmpl->encap_family) {
682 unsigned short family)
684 unsigned int h = xfrm_spi_hash(net, daddr, spi, proto, family);
688 if (x->props.family != family ||
691 !xfrm_addr_equal(&x->id.daddr, daddr, family))
706 u8 proto, unsigned short family)
708 unsigned int h = xfrm_src_hash(net, daddr, saddr, family);
712 if (x->props.family != family ||
714 !xfrm_addr_equal(&x->id.daddr, daddr, family) ||
715 !xfrm_addr_equal(&x->props.saddr, saddr, family))
728 __xfrm_state_locate(struct xfrm_state *x, int use_spi, int family)
735 x->id.spi, x->id.proto, family);
740 x->id.proto, family);
752 const struct flowi *fl, unsigned short family,
768 if ((x->sel.family &&
769 !xfrm_selector_match(&x->sel, fl, x->sel.family)) ||
782 if (xfrm_selector_match(&x->sel, fl, x->sel.family) &&
792 unsigned short family)
809 if (x->props.family == encap_family &&
825 if (x->props.family == encap_family &&
854 xfrm_init_tempstate(x, fl, tmpl, daddr, saddr, family);
900 unsigned short family, u8 mode, u8 proto, u32 reqid)
906 h = xfrm_dst_hash(net, daddr, saddr, reqid, family);
908 if (x->props.family == family &&
912 xfrm_state_addr_check(x, daddr, saddr, family) &&
938 x->props.reqid, x->props.family);
941 h = xfrm_src_hash(net, &x->id.daddr, &x->props.saddr, x->props.family);
946 x->props.family);
966 unsigned short family = xnew->props.family;
972 h = xfrm_dst_hash(net, &xnew->id.daddr, &xnew->props.saddr, reqid, family);
974 if (x->props.family == family &&
977 xfrm_addr_equal(&x->id.daddr, &xnew->id.daddr, family) &&
978 xfrm_addr_equal(&x->props.saddr, &xnew->props.saddr, family))
994 unsigned short family, u8 mode,
999 unsigned int h = xfrm_dst_hash(net, daddr, saddr, reqid, family);
1006 x->props.family != family ||
1011 !xfrm_addr_equal(&x->id.daddr, daddr, family) ||
1012 !xfrm_addr_equal(&x->props.saddr, saddr, family))
1024 switch (family) {
1046 x->props.family = family;
1056 h = xfrm_src_hash(net, daddr, saddr, family);
1073 int family;
1078 family = x->props.family;
1084 x1 = __xfrm_state_locate(x, use_spi, family);
1095 !xfrm_addr_equal(&x1->id.daddr, &x->id.daddr, family))) {
1102 x1 = __find_acq_core(net, &x->mark, family, x->props.mode,
1140 x->props.family = orig->props.family;
1290 x1 = __xfrm_state_locate(x, use_spi, x->props.family);
1376 u8 proto, unsigned short family)
1381 x = __xfrm_state_lookup(net, mark, daddr, spi, proto, family);
1390 u8 proto, unsigned short family)
1395 x = __xfrm_state_lookup_byaddr(net, mark, daddr, saddr, proto, family);
1404 int create, unsigned short family)
1409 x = __find_acq_core(net, mark, family, mode, reqid, proto, daddr, saddr, create);
1419 unsigned short family)
1422 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family);
1437 unsigned short family)
1440 struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family);
1520 x0 = xfrm_state_lookup(net, mark, &x->id.daddr, minspi, x->id.proto, x->props.family);
1530 x0 = xfrm_state_lookup(net, mark, &x->id.daddr, htonl(spi), x->id.proto, x->props.family);
1540 h = xfrm_spi_hash(net, &x->id.daddr, x->id.spi, x->id.proto, x->props.family);
1831 if (unlikely(afinfo->family >= NPROTO))
1834 if (unlikely(xfrm_state_afinfo[afinfo->family] != NULL))
1837 rcu_assign_pointer(xfrm_state_afinfo[afinfo->family], afinfo);
1848 if (unlikely(afinfo->family >= NPROTO))
1851 if (likely(xfrm_state_afinfo[afinfo->family] != NULL)) {
1852 if (unlikely(xfrm_state_afinfo[afinfo->family] != afinfo))
1855 RCU_INIT_POINTER(xfrm_state_afinfo[afinfo->family], NULL);
1863 static struct xfrm_state_afinfo *xfrm_state_get_afinfo(unsigned int family)
1866 if (unlikely(family >= NPROTO))
1869 afinfo = rcu_dereference(xfrm_state_afinfo[family]);
1913 int family = x->props.family;
1917 afinfo = xfrm_state_get_afinfo(family);
1932 if (x->sel.family != AF_UNSPEC) {
1933 inner_mode = xfrm_get_mode(x->props.mode, x->sel.family);
1938 family != x->sel.family) {
1948 inner_mode = xfrm_get_mode(x->props.mode, x->props.family);
1958 if (x->props.family == AF_INET)
1970 x->type = xfrm_get_type(x->id.proto, family);
1978 x->outer_mode = xfrm_get_mode(x->props.mode, family);
2073 switch(x->props.family) {
2087 static void xfrm_audit_helper_pktinfo(struct sk_buff *skb, u16 family,
2093 switch (family) {
2150 xfrm_audit_helper_pktinfo(skb, x->props.family, audit_buf);
2168 xfrm_audit_helper_pktinfo(skb, x->props.family, audit_buf);
2176 void xfrm_audit_state_notfound_simple(struct sk_buff *skb, u16 family)
2183 xfrm_audit_helper_pktinfo(skb, family, audit_buf);
2188 void xfrm_audit_state_notfound(struct sk_buff *skb, u16 family,
2197 xfrm_audit_helper_pktinfo(skb, family, audit_buf);
2215 xfrm_audit_helper_pktinfo(skb, x->props.family, audit_buf);