aboutgitcodebugslistschat
path: root/test/tcp
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2026-01-16 11:59:26 +1100
committerStefano Brivio <sbrivio@redhat.com>2026-01-18 12:48:09 +0100
commit4a0d507296ef8c1349669e95fd672539734d9a6c (patch)
treefc06f38a7318d6b5209b392f4ee7d6fb7fac2119 /test/tcp
parentfe37028466d3d29d74ebf53e9c53c9f139fbc74e (diff)
downloadpasst-4a0d507296ef8c1349669e95fd672539734d9a6c.tar
passt-4a0d507296ef8c1349669e95fd672539734d9a6c.tar.gz
passt-4a0d507296ef8c1349669e95fd672539734d9a6c.tar.bz2
passt-4a0d507296ef8c1349669e95fd672539734d9a6c.tar.lz
passt-4a0d507296ef8c1349669e95fd672539734d9a6c.tar.xz
passt-4a0d507296ef8c1349669e95fd672539734d9a6c.tar.zst
passt-4a0d507296ef8c1349669e95fd672539734d9a6c.zip
flow, fwd: Optimise forwarding rule lookup using epoll ref when possible
Now that listening sockets include a reference to the forwarding rule which created them we can, in many cases, avoid a linear search of the forwarding table when we want to find the relevant rule. Instead we can take the rule index from the socket's epoll reference, and use that to immediately find the correct rule. This is conceptually simple, but requires a moderate amount of plumbing to get the index from the reference through to the rule lookup. We still allow fall back to linear search if we don't have the index, and this may (rarely) be used in the udp_flush_flow() case, where we could get packets for one flow on a different flow's socket, rather than through a listening socket as usual. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'test/tcp')
0 files changed, 0 insertions, 0 deletions