]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - tools/testing/selftests/bpf/network_helpers.h
Merge tag 'efi-urgent-for-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git...
[mirror_ubuntu-jammy-kernel.git] / tools / testing / selftests / bpf / network_helpers.h
CommitLineData
33181bb8
SF
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __NETWORK_HELPERS_H
3#define __NETWORK_HELPERS_H
4#include <sys/socket.h>
5#include <sys/types.h>
488a23b8
SF
6#include <linux/types.h>
7typedef __u16 __sum16;
8#include <linux/if_ether.h>
9#include <linux/if_packet.h>
10#include <linux/ip.h>
11#include <linux/ipv6.h>
12#include <netinet/tcp.h>
13#include <bpf/bpf_endian.h>
14
15#define MAGIC_VAL 0x1234
16#define NUM_ITER 100000
17#define VIP_NUM 5
18#define MAGIC_BYTES 123
19
3d778983
MKL
20struct network_helper_opts {
21 const char *cc;
22 int timeout_ms;
43d2b88c 23 bool must_fail;
3d778983
MKL
24};
25
488a23b8
SF
26/* ipv4 test vector */
27struct ipv4_packet {
28 struct ethhdr eth;
29 struct iphdr iph;
30 struct tcphdr tcp;
31} __packed;
32extern struct ipv4_packet pkt_v4;
33
34/* ipv6 test vector */
35struct ipv6_packet {
36 struct ethhdr eth;
37 struct ipv6hdr iph;
38 struct tcphdr tcp;
39} __packed;
40extern struct ipv6_packet pkt_v6;
33181bb8 41
096eccde 42int settimeo(int fd, int timeout_ms);
99126abe
MKL
43int start_server(int family, int type, const char *addr, __u16 port,
44 int timeout_ms);
eed92afd
MKL
45int *start_reuseport_server(int family, int type, const char *addr_str,
46 __u16 port, int timeout_ms,
47 unsigned int nr_listens);
48void free_fds(int *fds, unsigned int nr_close_fds);
99126abe 49int connect_to_fd(int server_fd, int timeout_ms);
3d778983 50int connect_to_fd_opts(int server_fd, const struct network_helper_opts *opts);
99126abe 51int connect_fd_to_fd(int client_fd, int server_fd, int timeout_ms);
8085e1dc
MKL
52int fastopen_connect(int server_fd, const char *data, unsigned int data_len,
53 int timeout_ms);
0ab5539f
JS
54int make_sockaddr(int family, const char *addr_str, __u16 port,
55 struct sockaddr_storage *addr, socklen_t *len);
372642ea 56char *ping_command(int family);
33181bb8
SF
57
58#endif