Alexei Starovoitov
9cc873e858
selftests/bpf: Add skb_pkt_end test
Add a test that currently makes LLVM generate assembly code:
$ llvm-objdump -S skb_pkt_end.o
0000000000000000 <main_prog>:
; if (skb_shorter(skb, ETH_IPV4_TCP_SIZE))
0: 61 12 50 00 00 00 00 00 r2 = *(u32 *)(r1 + 80)
1: 61 14 4c 00 00 00 00 00 r4 = *(u32 *)(r1 + 76)
2: bf 43 00 00 00 00 00 00 r3 = r4
3: 07 03 00 00 36 00 00 00 r3 += 54
4: b7 01 00 00 00 00 00 00 r1 = 0
5: 2d 23 02 00 00 00 00 00 if r3 > r2 goto +2 <LBB0_2>
6: 07 04 00 00 0e 00 00 00 r4 += 14
; if (skb_shorter(skb, ETH_IPV4_TCP_SIZE))
7: bf 41 00 00 00 00 00 00 r1 = r4
0000000000000040 <LBB0_2>:
8: b4 00 00 00 ff ff ff ff w0 = -1
; if (!(ip = get_iphdr(skb)))
9: 2d 23 05 00 00 00 00 00 if r3 > r2 goto +5 <LBB0_6>
; proto = ip->protocol;
10: 71 12 09 00 00 00 00 00 r2 = *(u8 *)(r1 + 9)
; if (proto != IPPROTO_TCP)
11: 56 02 03 00 06 00 00 00 if w2 != 6 goto +3 <LBB0_6>
; if (tcp->dest != 0)
12: 69 12 16 00 00 00 00 00 r2 = *(u16 *)(r1 + 22)
13: 56 02 01 00 00 00 00 00 if w2 != 0 goto +1 <LBB0_6>
; return tcp->urg_ptr;
14: 69 10 26 00 00 00 00 00 r0 = *(u16 *)(r1 + 38)
0000000000000078 <LBB0_6>:
; }
15: 95 00 00 00 00 00 00 00 exit
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/bpf/20201111031213.25109-3-alexei.starovoitov@gmail.com
2020-11-13 01:42:11 +01:00
..
2020-09-25 13:58:02 -07:00
2020-09-25 13:58:02 -07:00
2020-09-30 11:50:35 -07:00
2020-07-25 20:16:34 -07:00
2020-09-03 17:36:41 -07:00
2020-06-24 18:37:59 -07:00
2020-07-25 20:16:34 -07:00
2020-07-25 20:16:33 -07:00
2020-07-25 20:16:34 -07:00
2020-06-24 18:37:59 -07:00
2020-07-21 13:26:26 -07:00
2020-09-28 16:48:02 -07:00
2020-09-28 18:26:58 -07:00
2020-09-02 16:40:33 +02:00
2020-07-03 23:25:40 +02:00
2020-06-24 18:37:59 -07:00
2020-07-21 13:26:26 -07:00
2020-07-21 13:26:26 -07:00
2020-05-09 17:05:27 -07:00
2020-05-09 17:05:27 -07:00
2020-06-24 18:37:59 -07:00
2020-06-24 18:37:59 -07:00
2020-07-25 20:16:34 -07:00
2020-07-31 00:43:49 +02:00
2020-06-24 18:37:59 -07:00
2020-07-21 13:26:26 -07:00
2020-07-21 13:26:26 -07:00
2020-09-29 11:10:48 -07:00
2020-06-24 18:37:59 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-12-15 16:53:51 -08:00
2019-12-15 16:53:51 -08:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-11-04 16:06:56 +01:00
2019-12-15 16:53:51 -08:00
2019-08-07 14:43:49 -07:00
2019-11-04 16:06:56 +01:00
2019-11-04 16:06:56 +01:00
2019-11-04 16:06:56 +01:00
2019-11-04 16:06:56 +01:00
2019-11-04 16:06:56 +01:00
2020-08-19 14:19:39 -07:00
2020-08-19 14:19:39 -07:00
2020-08-19 14:19:39 -07:00
2020-08-19 14:19:39 -07:00
2019-10-15 16:06:05 -07:00
2019-10-15 16:06:05 -07:00
2019-10-15 16:06:05 -07:00
2019-10-15 16:06:05 -07:00
2019-10-15 16:06:05 -07:00
2019-10-15 16:06:05 -07:00
2019-10-15 16:06:05 -07:00
2019-10-15 16:06:05 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-08-07 14:43:49 -07:00
2019-11-04 16:06:56 +01:00
2020-08-18 18:12:46 -07:00
2019-11-04 16:06:56 +01:00
2020-08-19 14:19:39 -07:00
2020-08-19 14:19:39 -07:00
2020-08-19 14:19:39 -07:00
2020-08-19 14:19:39 -07:00
2020-08-19 14:19:39 -07:00
2020-08-19 14:19:39 -07:00
2020-08-19 14:19:39 -07:00
2020-07-13 10:42:03 -07:00
2019-05-24 14:05:58 -07:00
2019-05-24 14:05:58 -07:00
2019-05-24 14:05:58 -07:00
2019-05-24 14:05:58 -07:00
2019-05-24 14:05:58 -07:00
2019-10-09 15:38:36 -07:00
2020-03-04 17:00:06 +01:00
2020-09-29 11:10:48 -07:00
2020-07-25 20:16:35 -07:00
2020-07-25 20:16:36 -07:00
2020-07-25 20:16:36 -07:00
2020-07-25 20:16:35 -07:00
2020-05-14 18:41:08 -07:00
2020-10-09 17:12:03 +02:00
2020-01-20 16:37:45 -08:00
2020-05-19 11:32:04 -07:00
2020-05-19 11:32:04 -07:00
2020-08-19 14:19:39 -07:00
2020-01-20 16:37:45 -08:00
2020-06-30 22:21:29 +02:00
2020-03-02 16:25:14 -08:00
2020-08-26 12:47:56 -07:00
2020-06-30 22:21:29 +02:00
2020-09-29 13:09:24 -07:00
2020-08-26 12:47:56 -07:00
2020-08-26 12:47:56 -07:00
2020-04-24 17:34:30 -07:00
2020-08-26 12:47:56 -07:00
2020-09-29 13:09:24 -07:00
2020-01-20 16:37:45 -08:00
2020-03-02 16:25:14 -08:00
2020-06-11 16:05:56 +02:00
2020-11-06 08:08:38 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-08-31 23:03:57 +02:00
2020-09-08 18:04:07 -07:00
2020-09-15 18:28:27 -07:00
2020-09-15 18:28:27 -07:00
2020-03-04 13:41:06 -08:00
2020-01-20 16:37:45 -08:00
2020-09-29 11:10:48 -07:00
2020-07-25 20:16:35 -07:00
2020-06-01 14:38:22 -07:00
2020-10-09 22:03:06 +02:00
2020-10-09 22:03:06 +02:00
2020-10-09 22:03:06 +02:00
2020-10-09 22:03:06 +02:00
2020-10-09 22:03:06 +02:00
2019-05-23 16:20:57 +02:00
2019-05-23 16:20:57 +02:00
2019-05-23 16:20:57 +02:00
2019-06-19 02:22:52 +02:00
2019-06-19 02:22:52 +02:00
2020-01-10 17:20:07 +01:00
2020-09-03 17:14:40 -07:00
2020-09-03 17:14:40 -07:00
2020-06-01 14:38:22 -07:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-11-13 01:42:11 +01:00
2020-01-20 16:37:45 -08:00
2020-03-17 19:28:27 +01:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-06-17 10:54:05 -07:00
2019-06-19 02:22:52 +02:00
2019-06-19 02:22:52 +02:00
2020-09-03 17:14:40 -07:00
2019-06-19 02:22:52 +02:00
2020-09-03 17:14:40 -07:00
2020-09-30 11:50:35 -07:00
2020-09-30 11:50:35 -07:00
2020-09-30 11:50:35 -07:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-09-30 11:50:35 -07:00
2020-09-30 11:50:35 -07:00
2020-09-30 11:50:35 -07:00
2020-09-30 11:50:35 -07:00
2020-01-20 16:37:45 -08:00
2020-03-02 16:25:14 -08:00
2020-06-28 10:06:53 -07:00
2020-04-24 17:47:40 -07:00
2020-10-11 10:21:04 -07:00
2020-04-24 17:47:40 -07:00
2020-04-24 17:47:40 -07:00
2020-09-25 13:58:02 -07:00
2020-03-30 17:36:41 -07:00
2020-09-03 17:14:40 -07:00
2020-09-03 17:14:40 -07:00
2020-04-26 10:00:36 -07:00
2020-10-07 18:50:27 -07:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-08-19 14:19:39 -07:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-08-19 14:19:39 -07:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-08-19 14:19:39 -07:00
2020-08-20 16:45:09 +02:00
2020-08-01 23:10:42 -07:00
2020-09-21 16:18:00 -07:00
2020-05-01 10:36:32 -07:00
2020-07-01 09:06:12 +02:00
2020-03-30 15:00:30 -07:00
2020-06-24 11:10:59 -07:00
2020-03-30 01:17:35 +02:00
2020-01-20 16:37:45 -08:00
2020-01-10 17:20:07 +01:00
2020-01-20 16:37:45 -08:00
2020-01-10 17:20:07 +01:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-11-05 20:04:46 -08:00
2019-07-03 15:06:33 +02:00
2020-10-19 15:57:42 -07:00
2020-10-02 15:00:49 -07:00
2020-06-22 17:01:48 -07:00
2020-09-03 17:14:40 -07:00
2020-01-20 16:37:45 -08:00
2020-03-02 22:06:27 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-10-15 20:53:15 +02:00
2020-05-20 20:21:53 -07:00
2020-03-12 17:40:47 -07:00
2020-04-28 17:27:08 -07:00
2020-09-28 17:20:28 -07:00
2020-09-30 23:21:06 -07:00
2020-03-02 16:25:14 -08:00
2020-07-09 00:44:45 +02:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-08-26 12:47:56 -07:00
2020-01-20 16:37:45 -08:00
2020-03-02 16:25:14 -08:00
2020-01-20 16:37:45 -08:00
2020-09-28 21:33:38 -07:00
2020-01-20 16:37:45 -08:00
2020-06-01 14:38:22 -07:00
2020-06-01 14:38:22 -07:00
2020-01-20 16:37:45 -08:00
2020-01-24 22:12:13 +01:00
2020-03-05 14:02:41 -08:00
2020-04-29 23:31:00 +02:00
2020-05-21 17:44:25 -07:00
2020-09-29 16:28:34 -07:00
2020-01-20 16:37:45 -08:00
2020-03-03 16:23:59 -08:00
2020-06-01 14:38:21 -07:00
2020-07-13 17:07:43 -07:00
2020-06-01 14:38:20 -07:00
2020-09-25 13:58:02 -07:00
2020-08-21 15:16:12 -07:00
2020-10-02 15:18:39 -07:00
2020-02-21 22:29:46 +01:00
2020-08-21 15:16:12 -07:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-09-03 17:14:40 -07:00
2020-09-09 11:21:34 -07:00
2020-09-09 11:21:34 -07:00
2020-09-10 20:01:53 -07:00
2020-01-20 16:37:45 -08:00
2020-10-22 01:30:00 +02:00
2020-10-22 01:30:00 +02:00
2020-10-11 10:21:04 -07:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-10-02 11:34:48 -07:00
2020-11-03 17:52:37 -08:00
2020-01-20 16:37:45 -08:00
2020-09-29 13:09:24 -07:00
2020-09-29 13:09:24 -07:00
2020-01-20 16:37:45 -08:00
2020-03-02 16:25:14 -08:00
2020-11-10 15:37:45 -08:00
2020-08-13 16:45:41 -07:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-08-18 17:16:15 -07:00
2020-05-14 21:21:57 -07:00
2020-05-14 21:21:57 -07:00
2020-03-12 17:47:38 -07:00
2020-06-09 11:36:19 -07:00
2020-07-25 20:37:02 -07:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-09-03 17:14:40 -07:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-07-16 17:00:32 +02:00
2020-06-25 22:36:00 +02:00
2020-01-20 16:37:45 -08:00
2020-07-13 16:55:49 -07:00
2020-08-28 21:20:33 +02:00
2020-07-31 00:43:49 +02:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00
2020-01-20 16:37:45 -08:00