]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r318527
authortruckman <truckman@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 25 May 2017 22:41:34 +0000 (22:41 +0000)
committertruckman <truckman@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 25 May 2017 22:41:34 +0000 (22:41 +0000)
commit6562f19d2c9cc9c0e6884c1adebe83ebf46ee99e
tree1c496090076ea32f7bcaffa237d37063bdd64d5a
parent001a6f2dea24a1b2e378ece1b36914edcdf207b5
MFC r318527

Fix the queue delay estimation in PIE/FQ-PIE when the timestamp
(TS) method is used.  When packet timestamp is used, the "current_qdelay"
keeps storing the last queue delay value calculated in the dequeue
function.  Therefore, when a burst of packets arrives followed by
a pause, the "current_qdelay" will store a high value caused by the
burst and stick to that value during the pause because the queue
delay measurement is done inside the dequeue function.  This causes
the drop probability calculation function to calculate high drop
probability value instead of zero and prevents the burst allowance
mechanism from working properly.  Fix this problem by resetting
"current_qdelay" inside the drop probability calculation function
when the queue length is zero and TS option is used.

Submitted by: Rasool Al-Saadi <ralsaadi@swin.edu.au>

git-svn-id: svn://svn.freebsd.org/base/stable/10@318905 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/netpfil/ipfw/dn_aqm_pie.c
sys/netpfil/ipfw/dn_sched_fq_pie.c