Alexei Starovoitov
db20fd2b01
bpf: add lookup/update/delete/iterate methods to BPF maps
...
'maps' is a generic storage of different types for sharing data between kernel
and userspace.
The maps are accessed from user space via BPF syscall, which has commands:
- create a map with given type and attributes
fd = bpf(BPF_MAP_CREATE, union bpf_attr *attr, u32 size)
returns fd or negative error
- lookup key in a given map referenced by fd
err = bpf(BPF_MAP_LOOKUP_ELEM, union bpf_attr *attr, u32 size)
using attr->map_fd, attr->key, attr->value
returns zero and stores found elem into value or negative error
- create or update key/value pair in a given map
err = bpf(BPF_MAP_UPDATE_ELEM, union bpf_attr *attr, u32 size)
using attr->map_fd, attr->key, attr->value
returns zero or negative error
- find and delete element by key in a given map
err = bpf(BPF_MAP_DELETE_ELEM, union bpf_attr *attr, u32 size)
using attr->map_fd, attr->key
- iterate map elements (based on input key return next_key)
err = bpf(BPF_MAP_GET_NEXT_KEY, union bpf_attr *attr, u32 size)
using attr->map_fd, attr->key, attr->next_key
- close(fd) deletes the map
Signed-off-by: Alexei Starovoitov <ast@plumgrid.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2014-09-26 15:05:14 -04:00
..
2014-06-10 10:28:45 -07:00
2014-09-04 13:50:11 -04:00
2014-08-06 18:01:23 -07:00
2014-05-19 09:38:24 +02:00
2014-07-08 15:08:45 +04:00
2014-08-08 15:57:26 -07:00
2014-07-23 10:22:35 +09:00
2014-09-02 10:09:43 +02:00
2014-08-09 09:15:07 -07:00
2014-08-25 21:47:22 +01:00
2014-08-07 23:37:07 -07:00
2014-05-06 17:54:53 -04:00
2014-08-07 17:17:39 -07:00
2014-09-23 12:09:27 -04:00
2014-08-11 11:42:39 +02:00
2014-08-19 11:55:38 -07:00
2014-08-24 19:33:10 +02:00
2014-07-22 12:46:11 +05:30
2014-07-11 14:08:26 +02:00
2014-08-25 16:15:32 -07:00
2013-12-23 18:34:58 -08:00
2013-09-10 13:03:41 -07:00
2014-08-28 09:59:42 +01:00
2014-08-30 19:28:04 +01:00
2014-07-18 13:45:24 -04:00
2014-08-13 18:13:19 -06:00
2014-08-06 09:38:14 -07:00
2014-08-09 09:15:07 -07:00
2014-07-07 21:34:43 -07:00
2012-10-08 13:50:19 +10:30
2012-10-08 13:50:20 +10:30
2013-09-24 10:35:17 +01:00
2013-12-02 11:24:18 +00:00
2013-03-12 13:59:14 -07:00
2012-12-02 00:05:12 +00:00
2014-04-18 11:40:30 +02:00
2012-03-16 10:38:24 -04:00
2009-04-01 08:59:23 -07:00
2010-12-06 15:58:43 -05:00
2014-04-03 16:20:49 -07:00
2014-05-27 01:29:01 +02:00
2012-09-10 11:13:16 -07:00
2014-08-06 18:01:27 -07:00
2014-04-18 11:40:30 +02:00
2014-08-15 12:38:41 -06:00
2014-07-01 10:34:38 -06:00
2014-09-26 15:05:14 -04:00
2014-09-19 16:27:07 -04:00
2014-06-04 16:54:02 -07:00
2013-02-21 17:22:16 -08:00
2014-01-23 16:36:56 -08:00
2014-07-24 21:53:47 +10:00
2014-09-24 14:23:34 +08:00
2011-01-13 08:03:17 -08:00
2013-12-04 17:19:44 +01:00
2014-02-09 15:11:47 +01:00
2014-01-21 20:18:26 -08:00
2014-06-04 16:54:06 -07:00
2014-06-12 19:18:49 -07:00
2013-11-15 09:32:21 +09:00
2014-07-03 11:32:43 +01:00
2014-05-28 13:37:21 -07:00
2013-05-20 12:27:59 -07:00
2008-06-04 14:56:12 +01:00
2013-12-29 15:25:48 +01:00
2013-12-02 20:43:14 +01:00
2014-06-06 16:08:18 -07:00
2009-09-10 10:00:05 -07:00
2014-09-14 17:28:32 -07:00
2013-05-12 14:16:21 +02:00
2013-10-03 16:14:12 -07:00
2013-08-18 17:39:55 -07:00
2010-08-04 11:00:45 +02:00
2014-05-24 22:33:41 +09:00
2014-08-05 15:59:35 -07:00
2014-01-21 16:19:41 -08:00
2014-08-11 07:14:01 -07:00
2007-02-09 17:39:36 -05:00
2014-07-10 18:35:23 +02:00
2013-01-17 12:19:09 -08:00
2011-11-29 12:46:19 -05:00
2013-03-03 23:59:59 -08:00
2014-08-08 15:57:33 -07:00
2013-11-09 00:16:24 -05:00
2008-01-28 23:21:18 +01:00
2014-04-03 16:21:06 -07:00
2012-10-13 10:46:48 +01:00
2014-09-05 17:47:02 -07:00
2014-09-05 12:12:20 -07:00
2014-01-16 10:23:02 +10:30
2014-04-29 09:45:56 +09:00
2014-08-22 13:56:47 -07:00
2012-10-13 10:46:48 +01:00
2013-09-26 15:06:58 -07:00
2014-04-01 23:19:14 -04:00
2014-09-10 14:05:07 -07:00
2012-10-13 10:46:48 +01:00
2014-01-21 23:17:20 -08:00
2009-12-17 10:58:17 -05:00
2013-09-12 10:12:47 -07:00
2014-08-11 11:44:11 -07:00
2014-08-09 17:33:44 -07:00
2014-08-22 13:18:48 -04:00
2014-01-23 16:36:52 -08:00
2006-09-30 01:47:55 +02:00
2014-09-13 11:24:03 -07:00
2013-10-11 17:21:14 +11:00
2013-04-30 10:09:06 +02:00
2014-08-08 17:39:48 -07:00
2014-07-23 10:17:54 -07:00
2014-05-03 19:24:26 -04:00
2012-10-13 10:46:48 +01:00
2014-08-19 10:19:39 -05:00
2014-08-26 11:15:58 +02:00
2014-08-11 12:16:51 -07:00
2014-09-04 22:26:14 -07:00
2008-07-09 12:09:28 -04:00
2013-12-11 14:47:40 -05:00
2014-07-09 09:15:01 -07:00
2014-05-27 14:26:31 -07:00
2005-04-16 15:20:36 -07:00
2014-05-14 16:40:04 -07:00
2012-11-10 00:40:24 -08:00
2014-06-04 15:59:13 -07:00
2012-10-09 16:22:39 +09:00
2014-08-08 15:57:32 -07:00
2012-12-09 00:20:28 -05:00
2013-03-15 12:23:09 -07:00
2014-02-25 15:25:45 -08:00
2014-01-27 21:02:39 -08:00
2013-09-13 15:09:52 +02:00
2007-09-16 21:13:58 -07:00
2014-08-28 22:22:29 -04:00
2014-09-12 13:59:03 -07:00
2012-10-13 10:46:48 +01:00
2012-05-31 17:49:32 -07:00
2007-07-31 15:39:40 -07:00
2012-10-13 10:46:48 +01:00
2014-04-01 11:22:57 -07:00
2014-08-10 21:31:58 -07:00
2012-10-13 10:46:48 +01:00
2014-08-08 15:57:33 -07:00
2012-07-21 10:34:00 -07:00
2010-03-15 15:29:39 +01:00
2014-04-25 12:00:49 -07:00
2014-07-28 14:16:30 -04:00
2014-09-02 10:02:13 -07:00
2014-07-23 10:30:34 -04:00
2013-01-06 01:11:25 -08:00
2009-06-16 19:47:57 -07:00
2013-12-20 12:25:45 -08:00
2013-03-22 22:17:36 -06:00
2012-03-16 10:38:24 -04:00
2013-12-11 15:52:34 +01:00
2014-03-18 19:19:41 -04:00
2014-08-08 15:57:18 -07:00
2014-08-06 18:01:21 -07:00
2013-12-20 12:20:26 -08:00
2014-05-27 17:43:11 -07:00
2013-09-11 15:58:01 -07:00
2014-08-08 15:57:23 -07:00
2014-08-08 15:57:27 -07:00
2014-08-06 18:01:18 -07:00
2014-04-09 13:44:35 -07:00
2014-07-27 20:52:44 +09:30
2014-07-27 20:52:42 +09:30
2014-07-17 22:07:37 +02:00
2014-08-11 11:44:11 -07:00
2009-04-01 07:38:54 -04:00
2014-01-27 21:02:39 -08:00
2013-06-26 12:10:56 +02:00
2014-07-24 01:15:04 -07:00
2014-09-26 00:22:47 -04:00
2014-08-25 10:45:28 +02:00
2012-01-31 18:20:28 -05:00
2014-08-22 18:04:43 -04:00
2012-12-11 17:22:27 -08:00
2014-07-29 18:08:50 -07:00
2014-04-07 10:59:19 -07:00
2014-07-07 13:33:46 +01:00
2014-08-11 14:06:23 +01:00
2013-03-29 17:54:33 -07:00
2013-10-30 12:02:58 +08:00
2014-08-08 15:57:18 -07:00
2012-01-10 16:30:42 -08:00
2014-08-06 18:01:17 -07:00
2014-01-23 16:36:55 -08:00
2012-10-13 10:46:48 +01:00
2013-03-01 23:51:07 -05:00
2014-09-10 13:45:01 -06:00
2014-09-24 08:29:36 -06:00
2014-06-17 19:12:39 -04:00
2014-08-27 22:59:39 -07:00
2014-08-23 11:39:09 -07:00
2013-07-03 16:08:03 -07:00
2014-07-08 15:31:26 -07:00
2014-09-03 01:25:32 +02:00
2014-07-23 01:00:36 +02:00
2012-10-13 10:46:48 +01:00
2013-08-19 21:22:34 -07:00
2011-03-31 11:26:23 -03:00
2014-08-13 15:13:44 +10:00
2014-03-21 14:21:13 -04:00
2012-03-20 21:29:38 -04:00
2008-09-02 19:21:38 -07:00
2010-02-08 18:19:41 -06:00
2014-08-24 18:36:01 -07:00
2010-02-10 17:47:17 -08:00
2014-07-25 19:01:53 +01:00
2014-01-16 12:00:56 -08:00
2012-10-13 10:46:48 +01:00
2014-09-03 20:56:32 -07:00
2014-06-10 09:46:00 -04:00
2014-08-08 15:57:24 -07:00
2006-07-13 13:21:35 -07:00
2013-04-29 18:28:22 -07:00
2014-06-21 22:05:30 +02:00
2014-09-13 12:30:26 -04:00
2014-08-08 15:57:26 -07:00
2014-08-14 18:13:46 -06:00
2012-10-13 10:46:48 +01:00
2014-07-30 01:31:46 +10:00
2010-10-22 10:20:06 -07:00
2013-07-09 10:33:28 -07:00
2013-11-15 09:32:20 +09:00
2014-08-05 17:46:42 -07:00
2014-08-28 11:59:38 +05:30
2014-07-02 16:01:51 +02:00
2014-08-08 15:57:26 -07:00
2014-08-08 15:57:31 -07:00
2014-09-19 16:25:23 -04:00
2014-06-27 11:47:58 -07:00
2014-02-17 15:01:37 -08:00
2008-05-26 16:15:32 +02:00
2011-06-14 22:48:51 -04:00
2006-12-07 02:14:08 +01:00
2012-10-13 10:46:48 +01:00
2013-04-30 17:04:03 -07:00
2014-05-23 11:23:27 +09:00
2009-04-10 15:48:52 +02:00
2014-08-08 15:57:17 -07:00
2012-10-13 10:46:48 +01:00
2005-04-16 15:20:36 -07:00
2014-09-26 15:05:14 -04:00
2014-08-08 15:57:24 -07:00
2014-05-27 14:29:56 -07:00
2013-06-12 16:29:44 -07:00
2012-09-13 16:47:34 +02:00
2014-08-22 21:28:02 -07:00
2014-06-04 16:53:56 -07:00
2010-05-27 09:12:51 -07:00
2014-09-04 22:35:59 +02:00
2012-08-21 16:28:31 +02:00
2014-07-18 11:49:57 +02:00
2012-10-09 16:22:32 +09:00
2010-11-29 08:55:25 +11:00
2013-03-15 00:36:09 -04:00
2014-07-01 07:13:39 -04:00
2014-08-06 13:03:43 +02:00
2014-08-07 20:39:36 -04:00
2013-04-15 21:23:03 +01:00
2014-09-01 21:36:28 -07:00
2014-02-12 15:00:34 -08:00
2014-08-08 15:57:22 -07:00
2005-04-16 15:20:36 -07:00
2012-11-20 04:19:49 -08:00
2014-08-08 10:39:16 -06:00
2014-09-18 19:21:20 -04:00
2014-09-16 15:02:55 -06:00
2012-10-13 10:46:48 +01:00
2014-08-06 18:01:19 -07:00
2014-06-04 16:53:57 -07:00
2006-04-26 12:56:16 +01:00
2014-07-16 15:10:41 +02:00
2014-09-13 05:13:08 +09:00
2014-07-16 15:10:39 +02:00
2014-08-08 15:57:26 -07:00
2014-01-30 16:56:55 -08:00