@@ -1490,49 +1490,7 @@ static void test_unix_redir(struct test_sockmap_listen *skel, struct bpf_map *ma
1490
1490
/* Returns two connected loopback vsock sockets */
1491
1491
static int vsock_socketpair_connectible (int sotype , int * v0 , int * v1 )
1492
1492
{
1493
- struct sockaddr_storage addr ;
1494
- socklen_t len = sizeof (addr );
1495
- int s , p , c ;
1496
-
1497
- s = socket_loopback (AF_VSOCK , sotype );
1498
- if (s < 0 )
1499
- return -1 ;
1500
-
1501
- c = xsocket (AF_VSOCK , sotype | SOCK_NONBLOCK , 0 );
1502
- if (c == -1 )
1503
- goto close_srv ;
1504
-
1505
- if (getsockname (s , sockaddr (& addr ), & len ) < 0 )
1506
- goto close_cli ;
1507
-
1508
- if (connect (c , sockaddr (& addr ), len ) < 0 && errno != EINPROGRESS ) {
1509
- FAIL_ERRNO ("connect" );
1510
- goto close_cli ;
1511
- }
1512
-
1513
- len = sizeof (addr );
1514
- p = accept_timeout (s , sockaddr (& addr ), & len , IO_TIMEOUT_SEC );
1515
- if (p < 0 )
1516
- goto close_cli ;
1517
-
1518
- if (poll_connect (c , IO_TIMEOUT_SEC ) < 0 ) {
1519
- FAIL_ERRNO ("poll_connect" );
1520
- goto close_acc ;
1521
- }
1522
-
1523
- * v0 = p ;
1524
- * v1 = c ;
1525
-
1526
- return 0 ;
1527
-
1528
- close_acc :
1529
- close (p );
1530
- close_cli :
1531
- close (c );
1532
- close_srv :
1533
- close (s );
1534
-
1535
- return -1 ;
1493
+ return create_pair (AF_VSOCK , sotype | SOCK_NONBLOCK , v0 , v1 );
1536
1494
}
1537
1495
1538
1496
static void vsock_unix_redir_connectible (int sock_mapfd , int verd_mapfd ,
@@ -1681,44 +1639,7 @@ static void test_reuseport(struct test_sockmap_listen *skel,
1681
1639
1682
1640
static int inet_socketpair (int family , int type , int * s , int * c )
1683
1641
{
1684
- struct sockaddr_storage addr ;
1685
- socklen_t len ;
1686
- int p0 , c0 ;
1687
- int err ;
1688
-
1689
- p0 = socket_loopback (family , type | SOCK_NONBLOCK );
1690
- if (p0 < 0 )
1691
- return p0 ;
1692
-
1693
- len = sizeof (addr );
1694
- err = xgetsockname (p0 , sockaddr (& addr ), & len );
1695
- if (err )
1696
- goto close_peer0 ;
1697
-
1698
- c0 = xsocket (family , type | SOCK_NONBLOCK , 0 );
1699
- if (c0 < 0 ) {
1700
- err = c0 ;
1701
- goto close_peer0 ;
1702
- }
1703
- err = xconnect (c0 , sockaddr (& addr ), len );
1704
- if (err )
1705
- goto close_cli0 ;
1706
- err = xgetsockname (c0 , sockaddr (& addr ), & len );
1707
- if (err )
1708
- goto close_cli0 ;
1709
- err = xconnect (p0 , sockaddr (& addr ), len );
1710
- if (err )
1711
- goto close_cli0 ;
1712
-
1713
- * s = p0 ;
1714
- * c = c0 ;
1715
- return 0 ;
1716
-
1717
- close_cli0 :
1718
- xclose (c0 );
1719
- close_peer0 :
1720
- xclose (p0 );
1721
- return err ;
1642
+ return create_pair (family , type | SOCK_NONBLOCK , s , c );
1722
1643
}
1723
1644
1724
1645
static void udp_redir_to_connected (int family , int sock_mapfd , int verd_mapfd ,
0 commit comments