This reverts commit
c8c590f07ad7ffaa6ef11e90b81202212077497b which is
commit
90a695c3d31e1c9f0adb8c4c80028ed4ea7ed5ab upstream.
Commit
c8c590f07ad7 ("selftests/bpf: Implement get_hw_ring_size function
to retrieve current and max interface size") will cause the following
bpf selftests compilation error in the 6.6 stable branch, and it is not
the Stable-dep-of of commit
103c0431c7fb ("selftests/bpf: Drop unneeded
error.h includes"). So let's revert commit
c8c590f07ad7 to fix this
compilation error.
./network_helpers.h:66:43: error: 'struct ethtool_ringparam' declared
inside parameter list will not be visible outside of this definition or
declaration [-Werror]
66 | int get_hw_ring_size(char *ifname, struct ethtool_ringparam *ring_param);
Signed-off-by: Pu Lehui <pulehui@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
return -1;
}
-
-int get_hw_ring_size(char *ifname, struct ethtool_ringparam *ring_param)
-{
- struct ifreq ifr = {0};
- int sockfd, err;
-
- sockfd = socket(AF_INET, SOCK_DGRAM, 0);
- if (sockfd < 0)
- return -errno;
-
- memcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
-
- ring_param->cmd = ETHTOOL_GRINGPARAM;
- ifr.ifr_data = (char *)ring_param;
-
- if (ioctl(sockfd, SIOCETHTOOL, &ifr) < 0) {
- err = errno;
- close(sockfd);
- return -err;
- }
-
- close(sockfd);
- return 0;
-}
#include <linux/if_packet.h>
#include <linux/ip.h>
#include <linux/ipv6.h>
-#include <linux/ethtool.h>
-#include <linux/sockios.h>
#include <netinet/tcp.h>
#include <bpf/bpf_endian.h>
-#include <net/if.h>
#define MAGIC_VAL 0x1234
#define NUM_ITER 100000
struct sockaddr_storage *addr, socklen_t *len);
char *ping_command(int family);
int get_socket_local_port(int sock_fd);
-int get_hw_ring_size(char *ifname, struct ethtool_ringparam *ring_param);
struct nstoken;
/**
#define _GNU_SOURCE
#include <test_progs.h>
#include <network_helpers.h>
+#include <linux/if.h>
#include <linux/if_tun.h>
#include <sys/uio.h>
return 0;
}
+struct ethtool_channels {
+ __u32 cmd;
+ __u32 max_rx;
+ __u32 max_tx;
+ __u32 max_other;
+ __u32 max_combined;
+ __u32 rx_count;
+ __u32 tx_count;
+ __u32 other_count;
+ __u32 combined_count;
+};
+
+#define ETHTOOL_GCHANNELS 0x0000003c /* Get no of channels */
+
static int rxq_num(const char *ifname)
{
struct ethtool_channels ch = {