Mellanox / libvma

Linux user space library for network socket acceleration based on RDMA compatible network adaptors
https://www.mellanox.com/products/software/accelerator-software/vma?mtag=vma
Other
557 stars 152 forks source link

issue: 3655436 Add full TCP_KEEPALIVE support #1052

Closed alexbriskin closed 6 months ago

alexbriskin commented 8 months ago

Description

Please provide a summary of the change.

What

Subject: what this PR is doing in one line.

Why ?

Justification for the PR. If there is existing issue/bug please reference.

How ?

It is optional but for complex PRs please provide information about the design, architecture, approach, etc.

Change type

What kind of change does this PR introduce?

Check list

igor-ivanov commented 8 months ago

@alexbriskin it will be very nice to add gtest for this functionality. It could be used as an template for checking other sockopt parameters. Possible place is tests/gtest/tcp/tcp_sockopt.cc (See: https://github.com/Mellanox/libxlio/blob/master/tests/gtest/tcp/tcp_sockopt.cc) Expected tests:

  1. getsockopt() takes default value from /proc/sys/net/ipv4/tcp_keepalive_time
  2. setsockopt(value1) -> getsockopt(value) : value==value1
  3. accept() -> getsockopt(value) : value==value of listen socket
  4. passing invalid parameters : Return EINVAL
alexbriskin commented 8 months ago

@alexbriskin it will be very nice to add gtest for this functionality. It could be used as an template for checking other sockopt parameters. Possible place is tests/gtest/tcp/tcp_sockopt.cc (See: https://github.com/Mellanox/libxlio/blob/master/tests/gtest/tcp/tcp_sockopt.cc) Expected tests:

  1. getsockopt() takes default value from /proc/sys/net/ipv4/tcp_keepalive_time
  2. setsockopt(value1) -> getsockopt(value) : value==value1
  3. accept() -> getsockopt(value) : value==value of listen socket
  4. passing invalid parameters : Return EINVAL

Done

alexbriskin commented 8 months ago

bot:retest

alexbriskin commented 8 months ago

bot:retest