~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/bpf/progs/bpf_tracing_net.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */
  2 #ifndef __BPF_TRACING_NET_H__
  3 #define __BPF_TRACING_NET_H__
  4 
  5 #include <vmlinux.h>
  6 #include <bpf/bpf_core_read.h>
  7 
  8 #define AF_INET                 2
  9 #define AF_INET6                10
 10 
 11 #define SOL_SOCKET              1
 12 #define SO_REUSEADDR            2
 13 #define SO_SNDBUF               7
 14 #define SO_RCVBUF               8
 15 #define SO_KEEPALIVE            9
 16 #define SO_PRIORITY             12
 17 #define SO_REUSEPORT            15
 18 #define SO_RCVLOWAT             18
 19 #define SO_BINDTODEVICE         25
 20 #define SO_MARK                 36
 21 #define SO_MAX_PACING_RATE      47
 22 #define SO_BINDTOIFINDEX        62
 23 #define SO_TXREHASH             74
 24 #define __SO_ACCEPTCON          (1 << 16)
 25 
 26 #define IP_TOS                  1
 27 
 28 #define SOL_IPV6                41
 29 #define IPV6_TCLASS             67
 30 #define IPV6_AUTOFLOWLABEL      70
 31 
 32 #define TC_ACT_UNSPEC           (-1)
 33 #define TC_ACT_OK               0
 34 #define TC_ACT_SHOT             2
 35 
 36 #define SOL_TCP                 6
 37 #define TCP_NODELAY             1
 38 #define TCP_MAXSEG              2
 39 #define TCP_KEEPIDLE            4
 40 #define TCP_KEEPINTVL           5
 41 #define TCP_KEEPCNT             6
 42 #define TCP_SYNCNT              7
 43 #define TCP_WINDOW_CLAMP        10
 44 #define TCP_CONGESTION          13
 45 #define TCP_THIN_LINEAR_TIMEOUTS        16
 46 #define TCP_USER_TIMEOUT        18
 47 #define TCP_NOTSENT_LOWAT       25
 48 #define TCP_SAVE_SYN            27
 49 #define TCP_SAVED_SYN           28
 50 #define TCP_CA_NAME_MAX         16
 51 #define TCP_NAGLE_OFF           1
 52 
 53 #define TCP_ECN_OK              1
 54 #define TCP_ECN_QUEUE_CWR       2
 55 #define TCP_ECN_DEMAND_CWR      4
 56 #define TCP_ECN_SEEN            8
 57 
 58 #define TCP_CONG_NEEDS_ECN     0x2
 59 
 60 #define ICSK_TIME_RETRANS       1
 61 #define ICSK_TIME_PROBE0        3
 62 #define ICSK_TIME_LOSS_PROBE    5
 63 #define ICSK_TIME_REO_TIMEOUT   6
 64 
 65 #define ETH_ALEN                6
 66 #define ETH_HLEN                14
 67 #define ETH_P_IP                0x0800
 68 #define ETH_P_IPV6              0x86DD
 69 
 70 #define NEXTHDR_TCP             6
 71 
 72 #define TCPOPT_NOP              1
 73 #define TCPOPT_EOL              0
 74 #define TCPOPT_MSS              2
 75 #define TCPOPT_WINDOW           3
 76 #define TCPOPT_TIMESTAMP        8
 77 #define TCPOPT_SACK_PERM        4
 78 
 79 #define TCPOLEN_MSS             4
 80 #define TCPOLEN_WINDOW          3
 81 #define TCPOLEN_TIMESTAMP       10
 82 #define TCPOLEN_SACK_PERM       2
 83 
 84 #define CHECKSUM_NONE           0
 85 #define CHECKSUM_PARTIAL        3
 86 
 87 #define IFNAMSIZ                16
 88 
 89 #define RTF_GATEWAY             0x0002
 90 
 91 #define TCP_INFINITE_SSTHRESH   0x7fffffff
 92 #define TCP_PINGPONG_THRESH     3
 93 
 94 #define FLAG_DATA_ACKED 0x04 /* This ACK acknowledged new data.         */
 95 #define FLAG_SYN_ACKED 0x10 /* This ACK acknowledged SYN.               */
 96 #define FLAG_DATA_SACKED 0x20 /* New SACK.                              */
 97 #define FLAG_SND_UNA_ADVANCED \
 98         0x400 /* Snd_una was changed (!= FLAG_DATA_ACKED) */
 99 #define FLAG_ACKED (FLAG_DATA_ACKED | FLAG_SYN_ACKED)
100 #define FLAG_FORWARD_PROGRESS (FLAG_ACKED | FLAG_DATA_SACKED)
101 
102 #define fib_nh_dev              nh_common.nhc_dev
103 #define fib_nh_gw_family        nh_common.nhc_gw_family
104 #define fib_nh_gw6              nh_common.nhc_gw.ipv6
105 
106 #define inet_daddr              sk.__sk_common.skc_daddr
107 #define inet_rcv_saddr          sk.__sk_common.skc_rcv_saddr
108 #define inet_dport              sk.__sk_common.skc_dport
109 
110 #define udp_portaddr_hash       inet.sk.__sk_common.skc_u16hashes[1]
111 
112 #define ir_loc_addr             req.__req_common.skc_rcv_saddr
113 #define ir_num                  req.__req_common.skc_num
114 #define ir_rmt_addr             req.__req_common.skc_daddr
115 #define ir_rmt_port             req.__req_common.skc_dport
116 #define ir_v6_rmt_addr          req.__req_common.skc_v6_daddr
117 #define ir_v6_loc_addr          req.__req_common.skc_v6_rcv_saddr
118 
119 #define sk_num                  __sk_common.skc_num
120 #define sk_dport                __sk_common.skc_dport
121 #define sk_family               __sk_common.skc_family
122 #define sk_rmem_alloc           sk_backlog.rmem_alloc
123 #define sk_refcnt               __sk_common.skc_refcnt
124 #define sk_state                __sk_common.skc_state
125 #define sk_net                  __sk_common.skc_net
126 #define sk_v6_daddr             __sk_common.skc_v6_daddr
127 #define sk_v6_rcv_saddr         __sk_common.skc_v6_rcv_saddr
128 #define sk_flags                __sk_common.skc_flags
129 #define sk_reuse                __sk_common.skc_reuse
130 #define sk_cookie               __sk_common.skc_cookie
131 
132 #define s6_addr32               in6_u.u6_addr32
133 
134 #define tw_daddr                __tw_common.skc_daddr
135 #define tw_rcv_saddr            __tw_common.skc_rcv_saddr
136 #define tw_dport                __tw_common.skc_dport
137 #define tw_refcnt               __tw_common.skc_refcnt
138 #define tw_v6_daddr             __tw_common.skc_v6_daddr
139 #define tw_v6_rcv_saddr         __tw_common.skc_v6_rcv_saddr
140 
141 #define tcp_jiffies32 ((__u32)bpf_jiffies64())
142 
143 static inline struct inet_connection_sock *inet_csk(const struct sock *sk)
144 {
145         return (struct inet_connection_sock *)sk;
146 }
147 
148 static inline void *inet_csk_ca(const struct sock *sk)
149 {
150         return (void *)inet_csk(sk)->icsk_ca_priv;
151 }
152 
153 static inline struct tcp_sock *tcp_sk(const struct sock *sk)
154 {
155         return (struct tcp_sock *)sk;
156 }
157 
158 static inline bool tcp_in_slow_start(const struct tcp_sock *tp)
159 {
160         return tp->snd_cwnd < tp->snd_ssthresh;
161 }
162 
163 static inline bool tcp_is_cwnd_limited(const struct sock *sk)
164 {
165         const struct tcp_sock *tp = tcp_sk(sk);
166 
167         /* If in slow start, ensure cwnd grows to twice what was ACKed. */
168         if (tcp_in_slow_start(tp))
169                 return tp->snd_cwnd < 2 * tp->max_packets_out;
170 
171         return !!BPF_CORE_READ_BITFIELD(tp, is_cwnd_limited);
172 }
173 
174 #endif
175 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php