| 3308 | } |
| 3309 | |
| 3310 | struct ifmultiaddr * |
| 3311 | if_findmulti(struct ifnet *ifp, const struct sockaddr *sa) |
| 3312 | { |
| 3313 | struct ifmultiaddr *ifma; |
| 3314 | |
| 3315 | IF_ADDR_LOCK_ASSERT(ifp); |
| 3316 | |
| 3317 | CK_STAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { |
| 3318 | if (sa->sa_family == AF_LINK) { |
| 3319 | if (sa_dl_equal(ifma->ifma_addr, sa)) |
| 3320 | break; |
| 3321 | } else { |
| 3322 | if (sa_equal(ifma->ifma_addr, sa)) |
| 3323 | break; |
| 3324 | } |
| 3325 | } |
| 3326 | |
| 3327 | return ifma; |
| 3328 | } |
| 3329 | |
| 3330 | /* |
| 3331 | * Allocate a new ifmultiaddr and initialize based on passed arguments. We |
no outgoing calls
no test coverage detected