Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net
Two new tls tests added in parallel in both net and net-next. Used Stephen Rothwell's linux-next resolution. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -15,6 +15,7 @@ TEST_GEN_FILES += udpgso udpgso_bench_tx udpgso_bench_rx ip_defrag
|
||||
TEST_GEN_PROGS = reuseport_bpf reuseport_bpf_cpu reuseport_bpf_numa
|
||||
TEST_GEN_PROGS += reuseport_dualstack reuseaddr_conflict tls
|
||||
|
||||
KSFT_KHDR_INSTALL := 1
|
||||
include ../lib.mk
|
||||
|
||||
$(OUTPUT)/reuseport_bpf_numa: LDFLAGS += -lnuma
|
||||
|
@@ -502,6 +502,55 @@ TEST_F(tls, recv_peek_multiple)
|
||||
EXPECT_EQ(memcmp(test_str, buf, send_len), 0);
|
||||
}
|
||||
|
||||
TEST_F(tls, recv_peek_multiple_records)
|
||||
{
|
||||
char const *test_str = "test_read_peek_mult_recs";
|
||||
char const *test_str_first = "test_read_peek";
|
||||
char const *test_str_second = "_mult_recs";
|
||||
int len;
|
||||
char buf[64];
|
||||
|
||||
len = strlen(test_str_first);
|
||||
EXPECT_EQ(send(self->fd, test_str_first, len, 0), len);
|
||||
|
||||
len = strlen(test_str_second) + 1;
|
||||
EXPECT_EQ(send(self->fd, test_str_second, len, 0), len);
|
||||
|
||||
len = sizeof(buf);
|
||||
memset(buf, 0, len);
|
||||
EXPECT_NE(recv(self->cfd, buf, len, MSG_PEEK), -1);
|
||||
|
||||
/* MSG_PEEK can only peek into the current record. */
|
||||
len = strlen(test_str_first) + 1;
|
||||
EXPECT_EQ(memcmp(test_str_first, buf, len), 0);
|
||||
|
||||
len = sizeof(buf);
|
||||
memset(buf, 0, len);
|
||||
EXPECT_NE(recv(self->cfd, buf, len, 0), -1);
|
||||
|
||||
/* Non-MSG_PEEK will advance strparser (and therefore record)
|
||||
* however.
|
||||
*/
|
||||
len = strlen(test_str) + 1;
|
||||
EXPECT_EQ(memcmp(test_str, buf, len), 0);
|
||||
|
||||
/* MSG_MORE will hold current record open, so later MSG_PEEK
|
||||
* will see everything.
|
||||
*/
|
||||
len = strlen(test_str_first);
|
||||
EXPECT_EQ(send(self->fd, test_str_first, len, MSG_MORE), len);
|
||||
|
||||
len = strlen(test_str_second) + 1;
|
||||
EXPECT_EQ(send(self->fd, test_str_second, len, 0), len);
|
||||
|
||||
len = sizeof(buf);
|
||||
memset(buf, 0, len);
|
||||
EXPECT_NE(recv(self->cfd, buf, len, MSG_PEEK), -1);
|
||||
|
||||
len = strlen(test_str) + 1;
|
||||
EXPECT_EQ(memcmp(test_str, buf, len), 0);
|
||||
}
|
||||
|
||||
TEST_F(tls, recv_peek_large_buf_mult_recs)
|
||||
{
|
||||
char const *test_str = "test_read_peek_mult_recs";
|
||||
@@ -524,6 +573,7 @@ TEST_F(tls, recv_peek_large_buf_mult_recs)
|
||||
EXPECT_EQ(memcmp(test_str, buf, len), 0);
|
||||
}
|
||||
|
||||
|
||||
TEST_F(tls, pollin)
|
||||
{
|
||||
char const *test_str = "test_poll";
|
||||
|
Reference in New Issue
Block a user