Lines Matching defs:rap

126 				   struct rp_addr *rap);
440 struct rp_addr *rap;
443 LIST_FOREACH(rap, &rpp->rp_addrhead, ra_entry)
445 if (rr_are_ifid_equal(ifid, &rap->ra_ifid,
451 return rap;
458 struct rp_addr *rap;
460 if ((error = create_ra_entry(&rap)) != 0)
465 bit_copy((caddr_t)&rap->ra_ifid, sizeof(rap->ra_ifid) << 3,
469 rap->ra_addr = ia;
470 IFA_ADDREF_LOCKED(&rap->ra_addr->ia_ifa);
476 LIST_INSERT_HEAD(&rpp->rp_addrhead, rap, ra_entry);
490 struct rp_addr *rap;
494 if ((error = create_ra_entry(&rap)) != 0)
498 bit_copy((caddr_t)&rap->ra_ifid, sizeof(rap->ra_ifid) << 3,
500 64, (sizeof(rap->ra_ifid) << 3) - 64);
514 LIST_INSERT_HEAD(&rpp->rp_addrhead, rap, ra_entry);
515 add_each_addr(&so, rpp, rap);
532 struct rp_addr *rap;
592 rap = search_ifidwithprefix(ifpr2rp(ifpr), &addr);
593 if (rap != NULL) {
594 if (rap->ra_addr == NULL) {
595 rap->ra_addr = ia;
596 IFA_ADDREF(&rap->ra_addr->ia_ifa);
597 } else if (rap->ra_addr != ia) {
601 ip6_sprintf(&addr), plen, rap->ra_addr,
602 ip6_sprintf(IA6_IN6(rap->ra_addr)));
624 struct rp_addr *rap;
635 rap = search_ifidwithprefix(ifpr2rp(ifpr), &addr);
636 if (rap != NULL) {
638 LIST_REMOVE(rap, ra_entry);
640 if (rap->ra_addr) {
641 IFA_REMREF(&rap->ra_addr->ia_ifa);
642 rap->ra_addr = NULL;
644 FREE(rap, M_RR_ADDR);
673 add_each_addr(struct socket *so, struct rr_prefix *rpp, struct rp_addr *rap)
695 (char *)&rap->ra_ifid, sizeof(rap->ra_ifid) << 3,
696 rpp->rp_plen, (sizeof(rap->ra_ifid) << 3) - rpp->rp_plen);
715 if (rap->ra_addr != NULL)
716 ria6 = rap->ra_addr;
718 rap->ra_addr = ia6;
726 if (rap->ra_addr != NULL)
727 ria6 = rap->ra_addr;
729 rap->ra_addr = ia6;
756 if (rap->ra_flags.anycast != 0)
808 struct rp_addr *rap;
854 rap = LIST_FIRST(&new->rp_addrhead);
855 LIST_REMOVE(rap, ra_entry);
856 if (search_ifidwithprefix(rpp, &rap->ra_ifid)
858 if (rap->ra_addr) {
859 IFA_REMREF(&rap->ra_addr->ia_ifa);
860 rap->ra_addr = NULL;
862 FREE(rap, M_RR_ADDR);
865 LIST_INSERT_HEAD(&rpp->rp_addrhead, rap, ra_entry);
888 rap = LIST_FIRST(&new->rp_addrhead);
889 LIST_REMOVE(rap, ra_entry);
890 LIST_INSERT_HEAD(&rpp->rp_addrhead, rap, ra_entry);
927 LIST_FOREACH(rap, &rpp->rp_addrhead, ra_entry) {
930 if ((ia6 = rap->ra_addr) != NULL) {
937 add_each_addr(so, rpp, rap);
1025 struct rp_addr *rap;
1029 if ((error = create_ra_entry(&rap)) != 0)
1031 rap->ra_ifid = orap->ra_ifid;
1035 rap->ra_flags.anycast =
1039 rap->ra_flags.anycast = 0;
1041 LIST_INSERT_HEAD(&rpp->rp_addrhead, rap, ra_entry);
1068 struct rp_addr *rap;
1070 rap = LIST_FIRST(&rpp->rp_addrhead);
1071 LIST_REMOVE(rap, ra_entry);
1072 if (rap->ra_addr) {
1073 IFA_REMREF(&rap->ra_addr->ia_ifa);
1074 rap->ra_addr = NULL;
1076 FREE(rap, M_RR_ADDR);
1115 struct rp_addr *rap;
1121 for (rap = rpp->rp_addrhead.lh_first; rap != NULL;
1122 rap = rap->ra_entry.le_next) {
1125 if ((ia6 = rap->ra_addr) == NULL)
1146 struct rp_addr *rap;
1149 rap = LIST_FIRST(&rpp->rp_addrhead);
1150 if (rap == NULL) {
1153 LIST_REMOVE(rap, ra_entry);
1154 if ((ia6 = rap->ra_addr) == NULL) {
1155 FREE(rap, M_RR_ADDR);
1158 rap->ra_addr = NULL;
1165 FREE(rap, M_RR_ADDR);
1204 struct rp_addr *rap;
1232 (sizeof(rap->ra_ifid) << 3) -
1247 struct rp_addr *rap;
1341 if ((error = create_ra_entry(&rap)) != 0) {
1348 bit_copy((caddr_t)&rap->ra_ifid,
1349 sizeof(rap->ra_ifid) << 3,
1353 (sizeof(rap->ra_ifid) << 3) - rp_tmp.rp_plen);
1357 LIST_INSERT_HEAD(&rp_tmp.rp_addrhead, rap, ra_entry);