Skip to content

Commit 225fca9

Browse files
mmhalKernel Patches Daemon
authored and
Kernel Patches Daemon
committed
selftests/bpf: sockmap_listen cleanup: Drop af_inet SOCK_DGRAM redir tests
Remove tests covered by sockmap_redir. Acked-by: John Fastabend <[email protected]> Signed-off-by: Michal Luczaj <[email protected]>
1 parent f14479c commit 225fca9

File tree

1 file changed

+0
-126
lines changed

1 file changed

+0
-126
lines changed

tools/testing/selftests/bpf/prog_tests/sockmap_listen.c

Lines changed: 0 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -1366,69 +1366,6 @@ static void test_redir(struct test_sockmap_listen *skel, struct bpf_map *map,
13661366
}
13671367
}
13681368

1369-
static void pairs_redir_to_connected(int cli0, int peer0, int cli1, int peer1,
1370-
int sock_mapfd, int nop_mapfd,
1371-
int verd_mapfd, enum redir_mode mode,
1372-
int send_flags)
1373-
{
1374-
const char *log_prefix = redir_mode_str(mode);
1375-
unsigned int pass;
1376-
int err, n;
1377-
u32 key;
1378-
char b;
1379-
1380-
zero_verdict_count(verd_mapfd);
1381-
1382-
err = add_to_sockmap(sock_mapfd, peer0, peer1);
1383-
if (err)
1384-
return;
1385-
1386-
if (nop_mapfd >= 0) {
1387-
err = add_to_sockmap(nop_mapfd, cli0, cli1);
1388-
if (err)
1389-
return;
1390-
}
1391-
1392-
/* Last byte is OOB data when send_flags has MSG_OOB bit set */
1393-
n = xsend(cli1, "ab", 2, send_flags);
1394-
if (n >= 0 && n < 2)
1395-
FAIL("%s: incomplete send", log_prefix);
1396-
if (n < 2)
1397-
return;
1398-
1399-
key = SK_PASS;
1400-
err = xbpf_map_lookup_elem(verd_mapfd, &key, &pass);
1401-
if (err)
1402-
return;
1403-
if (pass != 1)
1404-
FAIL("%s: want pass count 1, have %d", log_prefix, pass);
1405-
1406-
n = recv_timeout(mode == REDIR_INGRESS ? peer0 : cli0, &b, 1, 0, IO_TIMEOUT_SEC);
1407-
if (n < 0)
1408-
FAIL_ERRNO("%s: recv_timeout", log_prefix);
1409-
if (n == 0)
1410-
FAIL("%s: incomplete recv", log_prefix);
1411-
1412-
if (send_flags & MSG_OOB) {
1413-
/* Check that we can't read OOB while in sockmap */
1414-
errno = 0;
1415-
n = recv(peer1, &b, 1, MSG_OOB | MSG_DONTWAIT);
1416-
if (n != -1 || errno != EOPNOTSUPP)
1417-
FAIL("%s: recv(MSG_OOB): expected EOPNOTSUPP: retval=%d errno=%d",
1418-
log_prefix, n, errno);
1419-
1420-
/* Remove peer1 from sockmap */
1421-
xbpf_map_delete_elem(sock_mapfd, &(int){ 1 });
1422-
1423-
/* Check that OOB was dropped on redirect */
1424-
errno = 0;
1425-
n = recv(peer1, &b, 1, MSG_OOB | MSG_DONTWAIT);
1426-
if (n != -1 || errno != EINVAL)
1427-
FAIL("%s: recv(MSG_OOB): expected EINVAL: retval=%d errno=%d",
1428-
log_prefix, n, errno);
1429-
}
1430-
}
1431-
14321369
static void test_reuseport(struct test_sockmap_listen *skel,
14331370
struct bpf_map *map, int family, int sotype)
14341371
{
@@ -1469,68 +1406,6 @@ static void test_reuseport(struct test_sockmap_listen *skel,
14691406
}
14701407
}
14711408

1472-
static int inet_socketpair(int family, int type, int *s, int *c)
1473-
{
1474-
return create_pair(family, type | SOCK_NONBLOCK, s, c);
1475-
}
1476-
1477-
static void udp_redir_to_connected(int family, int sock_mapfd, int verd_mapfd,
1478-
enum redir_mode mode)
1479-
{
1480-
int c0, c1, p0, p1;
1481-
int err;
1482-
1483-
err = inet_socketpair(family, SOCK_DGRAM, &p0, &c0);
1484-
if (err)
1485-
return;
1486-
err = inet_socketpair(family, SOCK_DGRAM, &p1, &c1);
1487-
if (err)
1488-
goto close_cli0;
1489-
1490-
pairs_redir_to_connected(c0, p0, c1, p1, sock_mapfd, -1, verd_mapfd,
1491-
mode, NO_FLAGS);
1492-
1493-
xclose(c1);
1494-
xclose(p1);
1495-
close_cli0:
1496-
xclose(c0);
1497-
xclose(p0);
1498-
}
1499-
1500-
static void udp_skb_redir_to_connected(struct test_sockmap_listen *skel,
1501-
struct bpf_map *inner_map, int family)
1502-
{
1503-
int verdict = bpf_program__fd(skel->progs.prog_skb_verdict);
1504-
int verdict_map = bpf_map__fd(skel->maps.verdict_map);
1505-
int sock_map = bpf_map__fd(inner_map);
1506-
int err;
1507-
1508-
err = xbpf_prog_attach(verdict, sock_map, BPF_SK_SKB_VERDICT, 0);
1509-
if (err)
1510-
return;
1511-
1512-
skel->bss->test_ingress = false;
1513-
udp_redir_to_connected(family, sock_map, verdict_map, REDIR_EGRESS);
1514-
skel->bss->test_ingress = true;
1515-
udp_redir_to_connected(family, sock_map, verdict_map, REDIR_INGRESS);
1516-
1517-
xbpf_prog_detach2(verdict, sock_map, BPF_SK_SKB_VERDICT);
1518-
}
1519-
1520-
static void test_udp_redir(struct test_sockmap_listen *skel, struct bpf_map *map,
1521-
int family)
1522-
{
1523-
const char *family_name, *map_name;
1524-
char s[MAX_TEST_NAME];
1525-
1526-
family_name = family_str(family);
1527-
map_name = map_type_str(map);
1528-
snprintf(s, sizeof(s), "%s %s %s", map_name, family_name, __func__);
1529-
if (!test__start_subtest(s))
1530-
return;
1531-
udp_skb_redir_to_connected(skel, map, family);
1532-
}
1533-
15341409
static void run_tests(struct test_sockmap_listen *skel, struct bpf_map *map,
15351410
int family)
15361411
{
@@ -1539,7 +1414,6 @@ static void run_tests(struct test_sockmap_listen *skel, struct bpf_map *map,
15391414
test_redir(skel, map, family, SOCK_STREAM);
15401415
test_reuseport(skel, map, family, SOCK_STREAM);
15411416
test_reuseport(skel, map, family, SOCK_DGRAM);
1542-
test_udp_redir(skel, map, family);
15431417
}
15441418

15451419
void serial_test_sockmap_listen(void)

0 commit comments

Comments
 (0)