]>
Commit | Line | Data |
---|---|---|
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> |
7 | typedef __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 |
20 | struct 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 */ |
27 | struct ipv4_packet { | |
28 | struct ethhdr eth; | |
29 | struct iphdr iph; | |
30 | struct tcphdr tcp; | |
31 | } __packed; | |
32 | extern struct ipv4_packet pkt_v4; | |
33 | ||
34 | /* ipv6 test vector */ | |
35 | struct ipv6_packet { | |
36 | struct ethhdr eth; | |
37 | struct ipv6hdr iph; | |
38 | struct tcphdr tcp; | |
39 | } __packed; | |
40 | extern struct ipv6_packet pkt_v6; | |
33181bb8 | 41 | |
096eccde | 42 | int settimeo(int fd, int timeout_ms); |
99126abe MKL |
43 | int start_server(int family, int type, const char *addr, __u16 port, |
44 | int timeout_ms); | |
eed92afd MKL |
45 | int *start_reuseport_server(int family, int type, const char *addr_str, |
46 | __u16 port, int timeout_ms, | |
47 | unsigned int nr_listens); | |
48 | void free_fds(int *fds, unsigned int nr_close_fds); | |
99126abe | 49 | int connect_to_fd(int server_fd, int timeout_ms); |
3d778983 | 50 | int connect_to_fd_opts(int server_fd, const struct network_helper_opts *opts); |
99126abe | 51 | int connect_fd_to_fd(int client_fd, int server_fd, int timeout_ms); |
8085e1dc MKL |
52 | int fastopen_connect(int server_fd, const char *data, unsigned int data_len, |
53 | int timeout_ms); | |
0ab5539f JS |
54 | int make_sockaddr(int family, const char *addr_str, __u16 port, |
55 | struct sockaddr_storage *addr, socklen_t *len); | |
372642ea | 56 | char *ping_command(int family); |
33181bb8 SF |
57 | |
58 | #endif |