1647b502eSYonghong Song /* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */
2647b502eSYonghong Song #ifndef __BPF_TRACING_NET_H__
3647b502eSYonghong Song #define __BPF_TRACING_NET_H__
4647b502eSYonghong Song 
53982bfaaSYonghong Song #define AF_INET			2
63982bfaaSYonghong Song #define AF_INET6		10
73982bfaaSYonghong Song 
87ff8985cSKuniyuki Iwashima #define SOL_SOCKET		1
931123c03SMartin KaFai Lau #define SO_REUSEADDR		2
107ff8985cSKuniyuki Iwashima #define SO_SNDBUF		7
1131123c03SMartin KaFai Lau #define SO_RCVBUF		8
1231123c03SMartin KaFai Lau #define SO_KEEPALIVE		9
13dca85aacSStanislav Fomichev #define SO_PRIORITY		12
1431123c03SMartin KaFai Lau #define SO_REUSEPORT		15
1531123c03SMartin KaFai Lau #define SO_RCVLOWAT		18
1631123c03SMartin KaFai Lau #define SO_BINDTODEVICE		25
1731123c03SMartin KaFai Lau #define SO_MARK			36
1831123c03SMartin KaFai Lau #define SO_MAX_PACING_RATE	47
1931123c03SMartin KaFai Lau #define SO_BINDTOIFINDEX	62
2031123c03SMartin KaFai Lau #define SO_TXREHASH		74
2131123c03SMartin KaFai Lau #define __SO_ACCEPTCON		(1 << 16)
2231123c03SMartin KaFai Lau 
2331123c03SMartin KaFai Lau #define IP_TOS			1
2431123c03SMartin KaFai Lau 
2531123c03SMartin KaFai Lau #define IPV6_TCLASS		67
2631123c03SMartin KaFai Lau #define IPV6_AUTOFLOWLABEL	70
2704e92818SKuniyuki Iwashima 
2890a3a05eSEyal Birger #define TC_ACT_UNSPEC		(-1)
2990a3a05eSEyal Birger #define TC_ACT_SHOT		2
3090a3a05eSEyal Birger 
31eed92afdSMartin KaFai Lau #define SOL_TCP			6
3231123c03SMartin KaFai Lau #define TCP_NODELAY		1
3331123c03SMartin KaFai Lau #define TCP_MAXSEG		2
3431123c03SMartin KaFai Lau #define TCP_KEEPIDLE		4
3531123c03SMartin KaFai Lau #define TCP_KEEPINTVL		5
3631123c03SMartin KaFai Lau #define TCP_KEEPCNT		6
3731123c03SMartin KaFai Lau #define TCP_SYNCNT		7
3831123c03SMartin KaFai Lau #define TCP_WINDOW_CLAMP	10
39eed92afdSMartin KaFai Lau #define TCP_CONGESTION		13
4031123c03SMartin KaFai Lau #define TCP_THIN_LINEAR_TIMEOUTS	16
4131123c03SMartin KaFai Lau #define TCP_USER_TIMEOUT	18
4231123c03SMartin KaFai Lau #define TCP_NOTSENT_LOWAT	25
4331123c03SMartin KaFai Lau #define TCP_SAVE_SYN		27
44f649f992SMartin KaFai Lau #define TCP_SAVED_SYN		28
45eed92afdSMartin KaFai Lau #define TCP_CA_NAME_MAX		16
4631123c03SMartin KaFai Lau #define TCP_NAGLE_OFF		1
47eed92afdSMartin KaFai Lau 
483982bfaaSYonghong Song #define ICSK_TIME_RETRANS	1
493982bfaaSYonghong Song #define ICSK_TIME_PROBE0	3
503982bfaaSYonghong Song #define ICSK_TIME_LOSS_PROBE	5
513982bfaaSYonghong Song #define ICSK_TIME_REO_TIMEOUT	6
523982bfaaSYonghong Song 
5370a00e2fSMartin KaFai Lau #define ETH_HLEN		14
5470a00e2fSMartin KaFai Lau #define ETH_P_IPV6		0x86DD
5570a00e2fSMartin KaFai Lau 
5670a00e2fSMartin KaFai Lau #define CHECKSUM_NONE		0
5770a00e2fSMartin KaFai Lau #define CHECKSUM_PARTIAL	3
5870a00e2fSMartin KaFai Lau 
59647b502eSYonghong Song #define IFNAMSIZ		16
60647b502eSYonghong Song 
61647b502eSYonghong Song #define RTF_GATEWAY		0x0002
62647b502eSYonghong Song 
633982bfaaSYonghong Song #define TCP_INFINITE_SSTHRESH	0x7fffffff
643982bfaaSYonghong Song #define TCP_PINGPONG_THRESH	3
653982bfaaSYonghong Song 
66647b502eSYonghong Song #define fib_nh_dev		nh_common.nhc_dev
67647b502eSYonghong Song #define fib_nh_gw_family	nh_common.nhc_gw_family
68647b502eSYonghong Song #define fib_nh_gw6		nh_common.nhc_gw.ipv6
69647b502eSYonghong Song 
703982bfaaSYonghong Song #define inet_daddr		sk.__sk_common.skc_daddr
713982bfaaSYonghong Song #define inet_rcv_saddr		sk.__sk_common.skc_rcv_saddr
723982bfaaSYonghong Song #define inet_dport		sk.__sk_common.skc_dport
733982bfaaSYonghong Song 
743982bfaaSYonghong Song #define ir_loc_addr		req.__req_common.skc_rcv_saddr
753982bfaaSYonghong Song #define ir_num			req.__req_common.skc_num
763982bfaaSYonghong Song #define ir_rmt_addr		req.__req_common.skc_daddr
773982bfaaSYonghong Song #define ir_rmt_port		req.__req_common.skc_dport
783982bfaaSYonghong Song #define ir_v6_rmt_addr		req.__req_common.skc_v6_daddr
793982bfaaSYonghong Song #define ir_v6_loc_addr		req.__req_common.skc_v6_rcv_saddr
803982bfaaSYonghong Song 
81eed92afdSMartin KaFai Lau #define sk_num			__sk_common.skc_num
82eed92afdSMartin KaFai Lau #define sk_dport		__sk_common.skc_dport
833982bfaaSYonghong Song #define sk_family		__sk_common.skc_family
84647b502eSYonghong Song #define sk_rmem_alloc		sk_backlog.rmem_alloc
85647b502eSYonghong Song #define sk_refcnt		__sk_common.skc_refcnt
863982bfaaSYonghong Song #define sk_state		__sk_common.skc_state
873982bfaaSYonghong Song #define sk_v6_daddr		__sk_common.skc_v6_daddr
883982bfaaSYonghong Song #define sk_v6_rcv_saddr		__sk_common.skc_v6_rcv_saddr
8931123c03SMartin KaFai Lau #define sk_flags		__sk_common.skc_flags
9031123c03SMartin KaFai Lau #define sk_reuse		__sk_common.skc_reuse
91*a96d1cfbSMartin KaFai Lau #define sk_cookie		__sk_common.skc_cookie
923982bfaaSYonghong Song 
933982bfaaSYonghong Song #define s6_addr32		in6_u.u6_addr32
943982bfaaSYonghong Song 
953982bfaaSYonghong Song #define tw_daddr		__tw_common.skc_daddr
963982bfaaSYonghong Song #define tw_rcv_saddr		__tw_common.skc_rcv_saddr
973982bfaaSYonghong Song #define tw_dport		__tw_common.skc_dport
983982bfaaSYonghong Song #define tw_refcnt		__tw_common.skc_refcnt
993982bfaaSYonghong Song #define tw_v6_daddr		__tw_common.skc_v6_daddr
1003982bfaaSYonghong Song #define tw_v6_rcv_saddr		__tw_common.skc_v6_rcv_saddr
101647b502eSYonghong Song 
102647b502eSYonghong Song #endif
103