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