• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // SPDX-License-Identifier: GPL-2.0
2 // Copyright (c) 2020 Anton Protopopov
3 #ifndef __TCPCONNECT_H
4 #define __TCPCONNECT_H
5 
6 /* The maximum number of items in maps */
7 #define MAX_ENTRIES 8192
8 
9 /* The maximum number of ports to filter */
10 #define MAX_PORTS 64
11 
12 #define TASK_COMM_LEN 16
13 
14 struct ipv4_flow_key {
15 	__u32 saddr;
16 	__u32 daddr;
17 	__u16 dport;
18 };
19 
20 struct ipv6_flow_key {
21 	__u8 saddr[16];
22 	__u8 daddr[16];
23 	__u16 dport;
24 };
25 
26 struct event {
27 	union {
28 		__u32 saddr_v4;
29 		__u8 saddr_v6[16];
30 	};
31 	union {
32 		__u32 daddr_v4;
33 		__u8 daddr_v6[16];
34 	};
35 	char task[TASK_COMM_LEN];
36 	__u64 ts_us;
37 	__u32 af; // AF_INET or AF_INET6
38 	__u32 pid;
39 	__u32 uid;
40 	__u16 dport;
41 };
42 
43 #endif /* __TCPCONNECT_H */
44