Messages in this thread | | | Subject | Re: [net-next] ipv6: fix routing cache overflow for raw sockets | From | Paolo Abeni <> | Date | Tue, 20 Dec 2022 13:35:21 +0100 |
| |
On Mon, 2022-12-19 at 10:48 +1100, Jon Maxwell wrote: > Sending Ipv6 packets in a loop via a raw socket triggers an issue where a > route is cloned by ip6_rt_cache_alloc() for each packet sent. This quickly > consumes the Ipv6 max_size threshold which defaults to 4096 resulting in > these warnings: > > [1] 99.187805] dst_alloc: 7728 callbacks suppressed > [2] Route cache is full: consider increasing sysctl net.ipv6.route.max_size. > . > . > [300] Route cache is full: consider increasing sysctl net.ipv6.route.max_size.
If I read correctly, the maximum number of dst that the raw socket can use this way is limited by the number of packets it allows via the sndbuf limit, right?
Are other FLOWI_FLAG_KNOWN_NH users affected, too? e.g. nf_dup_ipv6, ipvs, seg6?
@DavidA: why do we need to create RTF_CACHE clones for KNOWN_NH flows?
Thanks,
Paolo
| |