|
Lines 2989-2994
mld_v2_dispatch_general_query(struct mld_ifinfo *m
Link Here
|
| 2989 |
KASSERT(mli->mli_version == MLD_VERSION_2, |
2989 |
KASSERT(mli->mli_version == MLD_VERSION_2, |
| 2990 |
("%s: called when version %d", __func__, mli->mli_version)); |
2990 |
("%s: called when version %d", __func__, mli->mli_version)); |
| 2991 |
|
2991 |
|
|
|
2992 |
/* |
| 2993 |
* Check that there are some packets queued. If so, send them first. |
| 2994 |
* For large number of groups the reply to general query can take |
| 2995 |
* many packets, we should finish sending them before starting of |
| 2996 |
* queuing the new reply. |
| 2997 |
*/ |
| 2998 |
if (mli->mli_gq.ifq_head != NULL) |
| 2999 |
goto send; |
| 3000 |
|
| 2992 |
ifp = mli->mli_ifp; |
3001 |
ifp = mli->mli_ifp; |
| 2993 |
|
3002 |
|
| 2994 |
IF_ADDR_RLOCK(ifp); |
3003 |
IF_ADDR_RLOCK(ifp); |
|
Lines 3024-3029
mld_v2_dispatch_general_query(struct mld_ifinfo *m
Link Here
|
| 3024 |
} |
3033 |
} |
| 3025 |
IF_ADDR_RUNLOCK(ifp); |
3034 |
IF_ADDR_RUNLOCK(ifp); |
| 3026 |
|
3035 |
|
|
|
3036 |
send: |
| 3027 |
mld_dispatch_queue(&mli->mli_gq, MLD_MAX_RESPONSE_BURST); |
3037 |
mld_dispatch_queue(&mli->mli_gq, MLD_MAX_RESPONSE_BURST); |
| 3028 |
|
3038 |
|
| 3029 |
/* |
3039 |
/* |