// SPDX-License-Identifier: GPL-2.0 // Copyright (c) 2022 Microsoft Corporation // // Based on tcptracer(8) from BCC by Kinvolk GmbH and // tcpconnect(8) by Anton Protopopov #ifndef __TCPTRACER_H #define __TCPTRACER_H /* The maximum number of items in maps */ #define MAX_ENTRIES 8192 #define TASK_COMM_LEN 16 enum event_type { TCP_EVENT_TYPE_CONNECT, TCP_EVENT_TYPE_ACCEPT, TCP_EVENT_TYPE_CLOSE, }; struct event { union { __u32 saddr_v4; unsigned __int128 saddr_v6; }; union { __u32 daddr_v4; unsigned __int128 daddr_v6; }; char task[TASK_COMM_LEN]; __u64 ts_us; __u32 af; /* AF_INET or AF_INET6 */ __u32 pid; __u32 uid; __u32 netns; __u16 dport; __u16 sport; __u8 type; }; #endif /* __TCPTRACER_H */