]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r291578:
authorae <ae@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 8 Dec 2015 07:26:16 +0000 (07:26 +0000)
committerae <ae@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 8 Dec 2015 07:26:16 +0000 (07:26 +0000)
commit26842c389a0327445ef4588f122deaeaf0d5ec80
tree7b2e26c1c170e30f2e439168fe91db1d5a954630
parent773a9deb57fa481e22246e56423014c27646416a
MFC r291578:
  mld_v2_dispatch_general_query() is used by mld_fasttimo_vnet() to send
  a reply to the MLDv2 General Query. In case when router has a lot of
  multicast groups, the reply can take several packets due to MTU limitation.
  Also we have a limit MLD_MAX_RESPONSE_BURST == 4, that limits the number
  of packets we send in one shot. Then we recalculate the timer value and
  schedule the remaining packets for sending.
  The problem is that when we call mld_v2_dispatch_general_query() to send
  remaining packets, we queue new reply in the same mbuf queue. And when
  number of packets is bigger than MLD_MAX_RESPONSE_BURST, we get endless
  reply of MLDv2 reports.
  To fix this, add the check for remaining packets in the queue.

  PR: 204831

git-svn-id: svn://svn.freebsd.org/base/stable/10@291986 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/netinet6/mld6.c