Lorenzo Bianconi
d7e79c97c0
net: netfilter: Add kfuncs to allocate and insert CT
...
Introduce bpf_xdp_ct_alloc, bpf_skb_ct_alloc and bpf_ct_insert_entry
kfuncs in order to insert a new entry from XDP and TC programs.
Introduce bpf_nf_ct_tuple_parse utility routine to consolidate common
code.
We extract out a helper __nf_ct_set_timeout, used by the ctnetlink and
nf_conntrack_bpf code, extract it out to nf_conntrack_core, so that
nf_conntrack_bpf doesn't need a dependency on CONFIG_NF_CT_NETLINK.
Later this helper will be reused as a helper to set timeout of allocated
but not yet inserted CT entry.
The allocation functions return struct nf_conn___init instead of
nf_conn, to distinguish allocated CT from an already inserted or looked
up CT. This is later used to enforce restrictions on what kfuncs
allocated CT can be used with.
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Co-developed-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Link: https://lore.kernel.org/r/20220721134245.2450-8-memxor@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2022-07-21 21:03:16 -07:00
..
2021-09-14 00:50:01 +02:00
2022-05-03 10:15:06 +02:00
2022-03-28 08:57:10 -07:00
2021-12-23 01:07:35 +01:00
2022-01-18 14:26:42 -08:00
2022-05-16 13:05:40 +02:00
2022-02-04 06:30:28 +01:00
2019-07-16 13:16:59 +02:00
2022-07-21 21:03:16 -07:00
2019-07-16 13:16:59 +02:00
2022-05-13 18:56:28 +02:00
2022-05-13 18:56:28 +02:00
2022-01-09 23:30:13 +01:00
2022-05-13 18:52:16 +02:00
2021-05-05 23:45:48 +02:00
2020-07-22 01:18:05 +02:00
2021-06-01 23:53:51 +02:00
2019-06-19 17:09:52 +02:00
2022-05-13 18:52:17 +02:00
2021-05-05 23:45:48 +02:00
2022-02-04 06:30:28 +01:00
2022-01-11 10:41:44 +01:00
2022-07-21 21:03:16 -07:00
2022-02-04 06:30:28 +01:00
2021-06-18 14:47:43 +02:00
2019-06-19 17:09:55 +02:00
2021-07-02 02:07:01 +02:00
2021-06-18 14:47:43 +02:00
2021-06-18 14:47:43 +02:00
2022-02-04 05:38:15 +01:00
2022-05-16 13:09:51 +02:00
2022-03-03 13:35:22 +01:00
2022-05-13 18:56:27 +02:00
2021-05-05 23:45:48 +02:00
2022-02-04 06:30:28 +01:00
2019-07-16 13:16:59 +02:00
2019-05-30 11:26:32 -07:00
2022-05-16 10:10:37 +01:00
2019-07-16 13:16:59 +02:00
2022-05-13 18:56:27 +02:00
2022-02-04 06:30:28 +01:00
2022-06-21 10:50:41 +02:00
2022-05-18 17:34:26 +02:00
2022-03-16 11:25:04 +01:00
2022-05-18 17:34:26 +02:00
2022-03-20 00:29:47 +01:00
2021-08-30 01:51:36 +02:00
2020-05-27 22:20:34 +02:00
2022-04-08 14:36:06 +02:00
2021-03-31 22:34:11 +02:00
2019-07-16 13:16:59 +02:00
2022-03-17 13:56:58 -07:00
2019-07-16 13:16:59 +02:00
2019-06-22 08:59:24 -04:00
2019-07-16 13:16:59 +02:00
2022-05-13 18:56:27 +02:00
2021-04-26 03:20:07 +02:00
2019-06-22 08:59:24 -04:00
2019-07-16 13:16:59 +02:00
2019-07-16 13:16:59 +02:00
2022-03-01 11:51:15 +01:00
2020-07-24 15:41:54 -07:00
2022-02-04 06:30:28 +01:00
2022-07-02 21:04:10 +02:00
2022-06-27 19:22:54 +02:00
2022-06-06 19:19:15 +02:00
2022-06-27 19:22:54 +02:00
2021-05-29 01:04:53 +02:00
2021-06-07 13:01:52 -07:00
2022-06-17 23:31:20 +02:00
2021-12-29 08:48:14 -08:00
2022-03-03 14:38:48 +00:00
2021-05-05 22:26:09 +02:00
2022-03-03 11:55:12 -08:00
2022-05-27 11:16:33 +02:00
2022-04-11 11:47:58 +01:00
2022-03-20 00:29:46 +01:00
2021-10-22 11:41:16 +01:00
2021-05-29 01:04:54 +02:00
2021-05-29 01:04:54 +02:00
2022-03-20 00:29:46 +01:00
2022-03-20 00:29:46 +01:00
2022-04-05 11:55:46 +02:00
2022-04-05 11:55:46 +02:00
2022-03-20 00:29:46 +01:00
2022-03-20 00:29:46 +01:00
2022-03-20 00:29:46 +01:00
2022-03-20 00:29:47 +01:00
2022-03-20 00:29:47 +01:00
2022-03-20 00:29:47 +01:00
2022-04-11 12:10:09 +02:00
2022-05-31 23:32:53 +02:00
2022-03-20 00:29:46 +01:00
2022-03-20 00:29:47 +01:00
2022-03-20 00:29:47 +01:00
2022-04-05 11:55:46 +02:00
2022-05-26 22:50:34 +02:00
2022-03-20 00:29:46 +01:00
2022-03-20 00:29:46 +01:00
2022-03-20 00:29:46 +01:00
2022-06-08 12:30:59 +02:00
2022-06-01 15:53:39 +02:00
2022-06-08 12:30:59 +02:00
2022-03-20 00:29:46 +01:00
2022-03-20 00:29:47 +01:00
2022-03-20 00:29:46 +01:00
2022-03-20 00:29:46 +01:00
2022-04-05 11:55:46 +02:00
2022-03-20 00:29:46 +01:00
2022-03-20 00:29:46 +01:00
2022-03-20 00:29:46 +01:00
2022-03-20 00:29:46 +01:00
2020-10-31 10:40:42 +01:00
2022-03-20 00:29:46 +01:00
2021-05-29 01:04:27 +02:00
2022-06-27 19:03:37 +02:00
2021-12-24 16:58:17 +01:00
2021-05-29 01:04:27 +02:00
2022-07-02 21:04:19 +02:00
2021-05-29 01:04:27 +02:00
2022-04-22 15:49:15 +02:00
2022-04-28 16:15:23 +02:00
2022-03-20 00:29:46 +01:00
2022-03-20 00:29:46 +01:00
2022-03-20 00:29:47 +01:00
2022-03-20 00:29:47 +01:00
2020-10-30 12:57:39 +01:00
2022-01-22 08:33:37 +02:00
2019-06-19 17:09:55 +02:00
2021-06-01 23:53:51 +02:00
2021-08-17 00:45:07 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-09-13 12:33:06 +02:00
2020-07-29 20:09:18 +02:00
2020-07-29 20:09:18 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2022-01-09 23:30:13 +01:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-22 08:59:24 -04:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2022-01-22 08:33:37 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-22 08:59:24 -04:00
2020-08-28 19:55:51 +02:00
2021-11-08 12:14:05 +01:00
2019-05-30 11:26:32 -07:00
2019-06-25 01:32:59 +02:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:38 -07:00
2019-06-19 17:09:55 +02:00
2021-05-29 01:04:52 +02:00
2021-09-21 03:46:56 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2020-06-25 00:50:31 +02:00
2019-06-19 17:09:55 +02:00
2020-12-01 09:45:29 +01:00
2021-09-21 03:46:56 +02:00
2019-06-19 17:09:55 +02:00
2019-06-25 01:32:59 +02:00
2019-09-13 12:32:48 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2021-10-18 12:54:41 +01:00
2019-06-19 17:09:55 +02:00
2022-01-22 08:33:37 +02:00
2019-06-19 17:09:55 +02:00
2021-05-03 23:02:44 +02:00
2019-08-13 12:14:26 +02:00
2022-02-13 23:55:48 +01:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-22 08:59:24 -04:00
2019-06-22 08:59:24 -04:00
2020-07-29 20:09:18 +02:00
2021-04-26 03:20:07 +02:00
2021-03-31 22:34:10 +02:00