Thread (17 messages) 17 messages, 5 authors, 2019-09-10

Re: Is bug 200755 in anyone's queue??

From: Eric Dumazet <hidden>
Date: 2019-09-04 19:26:24


On 9/4/19 5:46 PM, Willem de Bruijn wrote:
On Wed, Sep 4, 2019 at 10:51 AM Steve Zabele [off-list ref] wrote:
quoted
I think a dual table approach makes a lot of sense here, especially if we look at the different use cases. For the DNS server example, almost certainly there will not be any connected sockets using the server port, so a test of whether the connected table is empty (maybe a boolean stored with the unconnected table?)

UDP hash tables are shared among netns, and the hashes function depend on a netns salt ( net_hash_mix())

(see udp_hashfn() definition)

So a boolean would be polluted on a slot having both non connected socket on netns A, and a connected socket for netns B.


 should get to the existing code very quickly and not require accessing the memory holding the connected table. For our use case, the connected sockets persist for long periods (at network timescales at least) and so any rehashing should be infrequent and so have limited impact on performance overall.
quoted
So does a dual table approach seem workable to other folks that know the internals?
Let me take a stab and compare. A dual table does bring it more in
line with how the TCP code is structured.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help