Summary: IGMP and MLD6 Timers on demand
Project: lwIP - A Lightweight TCP/IP stack
Submitted by: sachin0x18
Submitted on: Mon 22 Apr 2019 02:07:11 PM UTC
Priority: 5 - Normal
Assigned to: None
Discussion Lock: Any
Planned Release: None
The thought behind this patch is to reduce power consumption when running in
low power mode.
The current implementation of IGMP and MLD6 Timer is that they are
periodically fired at an interval of 100ms each.
Timer interrupt is called when the timeout expires. The timer interrupt
function checks if there are any multicast group timeout running, if so then
decrement the timeout value and if it reaches zero then send an appropriate
report packet on the network.
The timer restarts itself even if there are no multicast group timeouts. This
leads to increase in power consumption. Starting the timer only when receiving
a QUERY packet or joining a group will reduce the power consumption.