Re: [PATCH net-next v2 4/4] bonding: balance ICMP echoes in layer3+4 mode
From: Matteo Croce <hidden>
Date: 2019-10-31 16:23:07
Also in:
lkml
On Wed, Oct 30, 2019 at 12:19 AM Matteo Croce [off-list ref] wrote:
On Wed, Oct 30, 2019 at 12:14 AM Eric Dumazet [off-list ref] wrote:quoted
On 10/29/19 4:03 PM, Matteo Croce wrote:quoted
Hi Eric, this would work for locally generated echoes, but what about forwarded packets? The point behind my changeset is to provide consistent results within a session by using the same path for request and response, but avoid all sessions flowing to the same path. This should resemble what happens with TCP and UDP: different connections, different port, probably a different path. And by doing this in the flow dissector, other applications could benefit it.In principle it is fine, but I was not sure of overall impact of your change on performance for 99.9% of packets that are not ICMP :)Good point. I didn't measure it (I will) but all the code additions are under some if (proto == ICMP) or similar. My guess is that performance shouldn't change for non ICMP traffic, but I'm curious to test it.
Indeed if there is some impact it's way below the measurement uncertainty. I've bonded two veth pairs and added a tc drop to the peers, then started mausezahn to generate UDP traffic. Traffic is measured on the veth peers: Stock 5.4-rc5: rx: 261.5 Mbps 605.4 Kpps rx: 261.2 Mbps 604.6 Kpps rx: 261.6 Mbps 605.5 Kpps patched: rx: 261.4 Mbps 605.1 Kpps rx: 261.1 Mbps 604.4 Kpps rx: 260.3 Mbps 602.5 Kpps perf top shows no significatn change in bond* and skb_flow* functions Regards, -- Matteo Croce per aspera ad upstream