diff options
author | Kuniyuki Iwashima <kuniyu@amazon.com> | 2024-10-08 10:29:05 -0700 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-10-09 20:08:08 -0700 |
commit | 1675f385213edc14ed849e079d6866b48e552252 (patch) | |
tree | 658da29158f3867b0f547cafc283c14b6e23ac25 /rust/helpers/mutex.c | |
parent | 49e613194292ff7750a3f889cd2db012da16f68e (diff) |
ipv4: Namespacify IPv4 address GC.
Each IPv4 address could have a lifetime, which is useful for DHCP,
and GC is periodically executed as check_lifetime_work.
check_lifetime() does the actual GC under RTNL.
1. Acquire RTNL
2. Iterate inet_addr_lst
3. Remove IPv4 address if expired
4. Release RTNL
Namespacifying the GC is required for per-netns RTNL, but using the
per-netns hash table will shorten the time on the hash bucket iteration
under RTNL.
Let's add per-netns GC work and use the per-netns hash table.
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Link: https://patch.msgid.link/20241008172906.1326-4-kuniyu@amazon.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'rust/helpers/mutex.c')
0 files changed, 0 insertions, 0 deletions