Lines Matching refs:saidx

743 			if (p->saidx.mode != IPSEC_MODE_TUNNEL)
760 is = (struct sockaddr *)&r1->saidx.src;
761 id = (struct sockaddr *)&r1->saidx.dst;
767 os = (struct sockaddr *)&r2->saidx.src;
768 od = (struct sockaddr *)&r2->saidx.dst;
796 struct secasindex *saidx,
808 if (isr == NULL || saidx == NULL)
812 switch (saidx->mode) {
830 *sav = key_allocsa_policy(saidx);
841 if (saidx->mode == IPSEC_MODE_TRANSPORT) {
842 sin = (struct sockaddr_in *)&saidx->dst;
845 if ((error = key_acquire(saidx, isr->sp)) != 0) {
865 struct secasindex *saidx)
881 if (key_cmpsaidx(&sah->saidx, saidx, CMP_MODE | CMP_REQID))
902 sin = (struct sockaddr_in *)&saidx->dst;
904 if (saidx->mode == IPSEC_MODE_TRANSPORT)
952 if (sah->saidx.mode == IPSEC_MODE_TUNNEL && dstport &&
957 if (sah->saidx.mode == IPSEC_MODE_TRANSPORT &&
962 if ((sah->saidx.mode == IPSEC_MODE_TUNNEL &&
964 (sah->saidx.mode == IPSEC_MODE_TRANSPORT &&
1021 d->sah->saidx.proto, 0, 0, d->refcnt - 1);
1026 /* set sadb_address for saidx's. */
1028 (struct sockaddr *)&d->sah->saidx.src,
1029 d->sah->saidx.src.ss_len << 3,
1035 /* set sadb_address for saidx's. */
1037 (struct sockaddr *)&d->sah->saidx.src,
1038 d->sah->saidx.src.ss_len << 3,
1076 else if (sah->saidx.mode == IPSEC_MODE_TUNNEL && dstport)
1158 if (proto != sav->sah->saidx.proto)
1160 if (family != sav->sah->saidx.src.ss_family ||
1161 family != sav->sah->saidx.dst.ss_family)
1184 (struct sockaddr *)&sav->sah->saidx.src, 0) != 0)
1200 (struct sockaddr *)&sav->sah->saidx.src, 0) != 0)
1220 (struct sockaddr *)&sav->sah->saidx.dst, 0) != 0)
1237 (struct sockaddr *)&sav->sah->saidx.dst, 0) != 0)
1270 struct secasindex saidx;
1277 saidx.mode = outsav->sah->saidx.mode;
1278 saidx.reqid = 0;
1279 saidx.proto = outsav->sah->saidx.proto;
1280 bcopy(&outsav->sah->saidx.src, &saidx.dst, sizeof(struct sockaddr_in));
1281 bcopy(&outsav->sah->saidx.dst, &saidx.src, sizeof(struct sockaddr_in));
1287 if (key_cmpsaidx(&sah->saidx, &saidx, CMP_MODE))
1759 (*p_isr)->saidx.proto = xisr->sadb_x_ipsecrequest_proto;
1774 (*p_isr)->saidx.mode = xisr->sadb_x_ipsecrequest_mode;
1804 (*p_isr)->saidx.reqid = reqid;
1808 (*p_isr)->saidx.reqid =
1830 > sizeof((*p_isr)->saidx.src)) {
1837 bcopy(paddr, &(*p_isr)->saidx.src,
1845 > sizeof((*p_isr)->saidx.dst)) {
1852 bcopy(paddr, &(*p_isr)->saidx.dst,
1911 if (isr->saidx.reqid == auto_reqid) {
1974 xisr->sadb_x_ipsecrequest_proto = isr->saidx.proto;
1975 xisr->sadb_x_ipsecrequest_mode = isr->saidx.mode;
1977 xisr->sadb_x_ipsecrequest_reqid = isr->saidx.reqid;
1980 bcopy(&isr->saidx.src, p, isr->saidx.src.ss_len);
1981 p += isr->saidx.src.ss_len;
1982 bcopy(&isr->saidx.dst, p, isr->saidx.dst.ss_len);
1983 p += isr->saidx.src.ss_len;
1987 + isr->saidx.src.ss_len
1988 + isr->saidx.dst.ss_len);
2224 if (newsp->req && newsp->req->saidx.src.ss_family) {
2227 if (sa->sa_family != newsp->req->saidx.src.ss_family) {
2228 if (newsp->req->saidx.mode != IPSEC_MODE_TUNNEL || newsp->req->saidx.proto != IPPROTO_ESP
2229 || sa->sa_family != AF_INET6 || newsp->req->saidx.src.ss_family != AF_INET) {
2235 if (newsp->req && newsp->req->saidx.dst.ss_family) {
2238 if (sa->sa_family != newsp->req->saidx.dst.ss_family) {
2239 if (newsp->req->saidx.mode != IPSEC_MODE_TUNNEL || newsp->req->saidx.proto != IPPROTO_ESP
2240 || sa->sa_family != AF_INET6 || newsp->req->saidx.dst.ss_family != AF_INET) {
2921 + isr->saidx.src.ss_len
2922 + isr->saidx.dst.ss_len;
3053 struct secasindex *saidx,
3059 if (saidx == NULL)
3066 bcopy(saidx, &newsah->saidx, sizeof(newsah->saidx));
3069 switch (saidx->src.ss_family) {
3071 ((struct sockaddr_in *)(&newsah->saidx.src))->sin_port = IPSEC_PORT_ANY;
3074 ((struct sockaddr_in6 *)(&newsah->saidx.src))->sin6_port = IPSEC_PORT_ANY;
3079 switch (saidx->dst.ss_family) {
3081 ((struct sockaddr_in *)(&newsah->saidx.dst))->sin_port = IPSEC_PORT_ANY;
3084 ((struct sockaddr_in6 *)(&newsah->saidx.dst))->sin6_port = IPSEC_PORT_ANY;
3445 struct secasindex *saidx)
3454 if (key_cmpsaidx(&sah->saidx, saidx, CMP_REQID))
3462 key_newsah2 (struct secasindex *saidx,
3469 sah = key_getsah(saidx);
3471 return(key_newsah(saidx, dir));
3485 struct secasindex *saidx,
3494 if (saidx->src.ss_family != saidx->dst.ss_family) {
3508 key_ismyaddr((struct sockaddr *)&sav->sah->saidx.dst))
4123 switch (sav->sah->saidx.proto) {
4138 switch (sav->sah->saidx.proto) {
4326 m = key_setsadbxsa2(sav->sah->saidx.mode,
4328 sav->sah->saidx.reqid);
4335 (struct sockaddr *)&sav->sah->saidx.src,
4343 (struct sockaddr *)&sav->sah->saidx.dst,
5718 struct secasindex saidx;
5797 KEY_SETSECASIDX(proto, mode, reqid, src0 + 1, dst0 + 1, &saidx);
5803 (void *)mhp->ext[SADB_EXT_SPIRANGE], &saidx);
5810 if ((newsah = key_getsah(&saidx)) == NULL) {
5812 if ((newsah = key_newsah(&saidx, IPSEC_DIR_INBOUND)) == NULL) {
5925 struct secasindex saidx;
5930 KEY_SETSECASIDX(proto, mode, reqid, src, dst, &saidx);
5933 switch (((struct sockaddr *)&saidx.src)->sa_family) {
5935 if (((struct sockaddr *)&saidx.src)->sa_len != sizeof(struct sockaddr_in))
5937 ((struct sockaddr_in *)&saidx.src)->sin_port = 0;
5940 if (((struct sockaddr *)&saidx.src)->sa_len != sizeof(struct sockaddr_in6))
5942 ((struct sockaddr_in6 *)&saidx.src)->sin6_port = 0;
5947 switch (((struct sockaddr *)&saidx.dst)->sa_family) {
5949 if (((struct sockaddr *)&saidx.dst)->sa_len != sizeof(struct sockaddr_in))
5951 ((struct sockaddr_in *)&saidx.dst)->sin_port = 0;
5954 if (((struct sockaddr *)&saidx.dst)->sa_len != sizeof(struct sockaddr_in6))
5956 ((struct sockaddr_in6 *)&saidx.dst)->sin6_port = 0;
5965 spi = key_do_getnewspi(spirange, &saidx);
5982 struct secasindex *saidx)
5999 if (saidx->proto == IPPROTO_IPCOMP) {
6011 if (key_checkspidup(saidx, keymin) != NULL) {
6033 if (key_checkspidup(saidx, newspi) == NULL)
6071 struct secasindex saidx;
6127 KEY_SETSECASIDX(proto, mode, reqid, src0 + 1, dst0 + 1, &saidx);
6132 if ((sah = key_getsah(&saidx)) == NULL) {
6167 if (sav->sah->saidx.proto != proto) {
6171 sav->sah->saidx.proto, proto));
6205 (sav->sah->saidx.mode != IPSEC_MODE_TRANSPORT ||
6206 sav->sah->saidx.src.ss_family != AF_INET))
6295 struct secasindex saidx;
6351 KEY_SETSECASIDX(proto, mode, reqid, src0 + 1, dst0 + 1, &saidx);
6356 if ((newsah = key_getsah(&saidx)) == NULL) {
6358 if ((newsah = key_newsah(&saidx, IPSEC_DIR_OUTBOUND)) == NULL) {
6391 (newsah->saidx.mode != IPSEC_MODE_TRANSPORT ||
6392 newsah->saidx.dst.ss_family != AF_INET))
6566 struct secasindex saidx;
6617 KEY_SETSECASIDX(proto, IPSEC_MODE_ANY, 0, src0 + 1, dst0 + 1, &saidx);
6623 if (key_cmpsaidx(&sah->saidx, &saidx, CMP_HEAD) == 0)
6679 struct secasindex saidx;
6690 KEY_SETSECASIDX(proto, IPSEC_MODE_ANY, 0, src0 + 1, dst0 + 1, &saidx);
6695 if (key_cmpsaidx(&sah->saidx, &saidx, CMP_HEAD) == 0)
6769 struct secasindex saidx;
6804 KEY_SETSECASIDX(proto, IPSEC_MODE_ANY, 0, src0 + 1, dst0 + 1, &saidx);
6812 if (key_cmpsaidx(&sah->saidx, &saidx, CMP_HEAD) == 0)
6831 if ((satype = key_proto2satype(sah->saidx.proto)) == 0) {
7139 const struct secasindex *saidx)
7146 switch (saidx->proto) {
7203 struct secasindex *saidx,
7217 if (saidx == NULL)
7219 if ((satype = key_proto2satype(saidx->proto)) == 0)
7231 if ((newacq = key_getacq(saidx)) != NULL) {
7243 if ((newacq = key_newacq(saidx)) == NULL) {
7264 /* set sadb_address for saidx's. */
7266 (struct sockaddr *)&saidx->src, FULLMASK, IPSEC_ULPROTO_ANY);
7274 (struct sockaddr *)&saidx->dst, FULLMASK, IPSEC_ULPROTO_ANY);
7337 m = key_getprop(saidx);
7388 struct secasindex *saidx)
7407 bcopy(saidx, &newacq->saidx, sizeof(newacq->saidx));
7418 struct secasindex *saidx)
7425 if (key_cmpsaidx(saidx, &acq->saidx, CMP_EXACTLY))
7515 struct secasindex saidx;
7599 KEY_SETSECASIDX(proto, IPSEC_MODE_ANY, 0, src0 + 1, dst0 + 1, &saidx);
7605 if (key_cmpsaidx(&sah->saidx, &saidx, CMP_MODE | CMP_REQID))
7614 error = key_acquire(&saidx, NULL);
7866 if ((satype = key_proto2satype(sav->sah->saidx.proto)) == 0)
7886 m = key_setsadbxsa2(sav->sah->saidx.mode,
7888 sav->sah->saidx.reqid);
7918 (struct sockaddr *)&sav->sah->saidx.src,
7928 (struct sockaddr *)&sav->sah->saidx.dst,
8008 && proto != sah->saidx.proto)
8111 && proto != sah->saidx.proto)
8115 if ((satype = key_proto2satype(sah->saidx.proto)) == 0) {
9084 memcpy(&saidx_swap_sent_addr.src, &sav_sent->sah->saidx.dst, sizeof(saidx_swap_sent_addr.src));
9085 memcpy(&saidx_swap_sent_addr.dst, &sav_sent->sah->saidx.src, sizeof(saidx_swap_sent_addr.dst));
9086 saidx_swap_sent_addr.proto = sav_sent->sah->saidx.proto;
9087 saidx_swap_sent_addr.mode = sav_sent->sah->saidx.mode;
9090 if (key_cmpsaidx(&sav_sent->sah->saidx, &sav_update->sah->saidx, CMP_MODE | CMP_PORT) ||
9091 key_cmpsaidx(&saidx_swap_sent_addr, &sav_update->sah->saidx, CMP_MODE | CMP_PORT)) {