| 1153 | } |
| 1154 | |
| 1155 | static void |
| 1156 | nd6_dad_del(struct dadq *dp) |
| 1157 | { |
| 1158 | |
| 1159 | DADQ_WLOCK(); |
| 1160 | if (dp->dad_ondadq) { |
| 1161 | /* |
| 1162 | * Remove dp from the dadq and release the dadq's |
| 1163 | * reference. |
| 1164 | */ |
| 1165 | TAILQ_REMOVE(&V_dadq, dp, dad_list); |
| 1166 | dp->dad_ondadq = false; |
| 1167 | DADQ_WUNLOCK(); |
| 1168 | nd6_dad_rele(dp); |
| 1169 | } else |
| 1170 | DADQ_WUNLOCK(); |
| 1171 | } |
| 1172 | |
| 1173 | static struct dadq * |
| 1174 | nd6_dad_find(struct ifaddr *ifa, struct nd_opt_nonce *n) |
no test coverage detected