diff options
author | Kui-Feng Lee <[email protected]> | 2023-03-22 20:23:59 -0700 |
---|---|---|
committer | Martin KaFai Lau <[email protected]> | 2023-03-22 22:53:00 -0700 |
commit | 8fb1a76a0f35c45a424c9eb84b0f97ffd51e6052 (patch) | |
tree | fbe167ee5d52342b50005ab130fdc88d7e4c02e8 /kernel/bpf/syscall.c | |
parent | b671c2067a04c0668df174ff5dfdb573d1f9b074 (diff) |
net: Update an existing TCP congestion control algorithm.
This feature lets you immediately transition to another congestion
control algorithm or implementation with the same name. Once a name
is updated, new connections will apply this new algorithm.
The purpose is to update a customized algorithm implemented in BPF
struct_ops with a new version on the flight. The following is an
example of using the userspace API implemented in later BPF patches.
link = bpf_map__attach_struct_ops(skel->maps.ca_update_1);
.......
err = bpf_link__update_map(link, skel->maps.ca_update_2);
We first load and register an algorithm implemented in BPF struct_ops,
then swap it out with a new one using the same name. After that, newly
created connections will apply the updated algorithm, while older ones
retain the previous version already applied.
This patch also takes this chance to refactor the ca validation into
the new tcp_validate_congestion_control() function.
Cc: [email protected], Eric Dumazet <[email protected]>
Signed-off-by: Kui-Feng Lee <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Martin KaFai Lau <[email protected]>
Diffstat (limited to 'kernel/bpf/syscall.c')
0 files changed, 0 insertions, 0 deletions