You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the current implementation, whenever a multicast address m is allocated for a unicast flow u, that allocation is infinite. That is, the translator never reclaims m (to re-use it for a different unicast flow), even if u terminates (as in no more packets pertaining to u are (ever) received at the translator). As a result, the translator will eventually run out of multicast addresses.
Suggested enhancement
The translator should evict a unicast-to-multicast address mapping from its "Forwarding Information Base" (FIB) when it detects that the unicast flow has terminated, and make the multicast address available for re-use. This could be implemented by continuously logging the timestamp of the last packet received for each unicast flow, and then periodically checking these timestamps against the current time and evicting all entries that are not within some threshold of the current time.
These periodic checks should be performed on a separate worker thread so as to not slow down the thread responsible for translating inbound unicast to multicast. Care must be taken to minimize the amount of time this worker thread locks the FIB (to not slow down any ongoing translations), while still ensuring proper synchronization.
The text was updated successfully, but these errors were encountered:
Issue
In the current implementation, whenever a multicast address m is allocated for a unicast flow u, that allocation is infinite. That is, the translator never reclaims m (to re-use it for a different unicast flow), even if u terminates (as in no more packets pertaining to u are (ever) received at the translator). As a result, the translator will eventually run out of multicast addresses.
Suggested enhancement
The translator should evict a unicast-to-multicast address mapping from its "Forwarding Information Base" (FIB) when it detects that the unicast flow has terminated, and make the multicast address available for re-use. This could be implemented by continuously logging the timestamp of the last packet received for each unicast flow, and then periodically checking these timestamps against the current time and evicting all entries that are not within some threshold of the current time.
These periodic checks should be performed on a separate worker thread so as to not slow down the thread responsible for translating inbound unicast to multicast. Care must be taken to minimize the amount of time this worker thread locks the FIB (to not slow down any ongoing translations), while still ensuring proper synchronization.
The text was updated successfully, but these errors were encountered: