mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-23 02:32:44 +00:00
For each packet that got stuck with an ARP-cache miss, the router used to send one ARP request and create one ARP waiter. However, in situations where many packets target the same IP at one destination domain and during a short period of time, this causes unnecessary session-quota consumption and network traffic. This issue becomes especially pressing when taking malicious source peers, absent destination peers, and packet batching into account. Therefore, with this commit, the router can accumulate multiple source packets with the same destination IP at one ARP waiter. This means, that only the first packet with an ARP-cache for a certain IP sends an ARP request and creates an ARP waiter. For situations where the ARP request is not answered, this essentially rate-limits ARP requests for one IP at one destination domain according to the lifetime of ARP waiters (default: 10s) Ref #4534
This source-code repository contains genuine low-level OS components and interfaces of Genode. It solely depends on the framework's base API.