| // SPDX-License-Identifier: GPL-2.0 |
| // Copyright (c) 2020 Anton Protopopov |
| #ifndef __TCPCONNECT_H |
| #define __TCPCONNECT_H |
| |
| /* The maximum number of items in maps */ |
| #define MAX_ENTRIES 8192 |
| |
| /* The maximum number of ports to filter */ |
| #define MAX_PORTS 64 |
| |
| #define TASK_COMM_LEN 16 |
| |
| struct ipv4_flow_key { |
| __u32 saddr; |
| __u32 daddr; |
| __u16 sport; |
| __u16 dport; |
| }; |
| |
| struct ipv6_flow_key { |
| __u8 saddr[16]; |
| __u8 daddr[16]; |
| __u16 sport; |
| __u16 dport; |
| }; |
| |
| struct event { |
| union { |
| __u32 saddr_v4; |
| __u8 saddr_v6[16]; |
| }; |
| union { |
| __u32 daddr_v4; |
| __u8 daddr_v6[16]; |
| }; |
| char task[TASK_COMM_LEN]; |
| __u64 ts_us; |
| __u32 af; // AF_INET or AF_INET6 |
| __u32 pid; |
| __u32 uid; |
| __u16 sport; |
| __u16 dport; |
| }; |
| |
| #endif /* __TCPCONNECT_H */ |