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-09-04 13:50:11 -04:00
2014-08-06 18:01:23 -07:00
2014-07-25 15:16:27 -07: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-08-05 17:38:45 -07:00
2014-08-07 17:17:39 -07:00
2014-09-23 12:09:27 -04:00
2014-08-06 09:38:14 -07: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-08-25 16:15:32 -07:00
2014-08-28 09:59:42 +01:00
2014-08-30 19:28:04 +01:00
2014-08-13 18:13:19 -06:00
2014-08-06 09:38:14 -07:00
2014-08-07 14:40:09 -04:00
2014-08-09 09:15:07 -07:00
2014-07-30 10:42:55 -07:00
2014-07-30 15:39:46 -04:00
2014-08-06 18:01:27 -07:00
2014-08-15 12:38:41 -06:00
2014-09-26 15:05:14 -04:00
2014-09-19 16:27:07 -04:00
2014-07-24 21:53:47 +10:00
2014-09-24 14:23:34 +08:00
2014-07-23 15:01:52 -07:00
2014-08-06 18:01:16 -07:00
2014-08-01 22:35:55 +08:00
2014-09-14 17:28:32 -07:00
2014-08-05 15:59:35 -07:00
2014-08-06 18:01:16 -07:00
2014-08-11 07:14:01 -07:00
2014-07-23 16:04:47 +02:00
2014-08-08 15:57:33 -07:00
2014-09-05 17:47:02 -07:00
2014-09-05 12:12:20 -07:00
2014-08-22 13:56:47 -07:00
2014-09-10 14:05:07 -07:00
2014-08-07 14:40:08 -04:00
2014-08-11 11:44:11 -07:00
2014-08-06 18:01:12 -07:00
2014-08-09 17:33:44 -07:00
2014-08-22 13:18:48 -04:00
2014-08-06 18:01:15 -07:00
2014-08-06 18:01:24 -07:00
2014-09-13 11:24:03 -07:00
2014-08-08 17:39:48 -07:00
2014-08-06 18:01:22 -07:00
2014-08-04 10:07:36 +02:00
2014-07-23 10:17:54 -07:00
2014-08-06 18:01:19 -07:00
2014-08-06 18:01:19 -07: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
2014-07-25 11:47:46 -07:00
2014-07-23 12:02:30 +02:00
2014-08-08 15:57:32 -07:00
2014-07-23 16:04:47 +02:00
2014-08-02 15:03:58 -07:00
2014-08-28 22:22:29 -04:00
2014-09-12 13:59:03 -07:00
2014-08-10 21:31:58 -07:00
2014-08-08 15:57:33 -07:00
2014-08-06 18:01:24 -07:00
2014-07-28 14:16:30 -04:00
2014-07-23 10:17:54 -07:00
2014-08-06 14:24:47 +02:00
2014-09-02 10:02:13 -07:00
2014-07-23 10:30:34 -04:00
2014-08-06 18:01:24 -07:00
2014-08-06 18:01:15 -07:00
2014-08-08 15:57:18 -07:00
2014-08-06 18:01:21 -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-08-06 18:01:22 -07:00
2014-08-06 18:01:20 -07:00
2014-07-27 20:52:44 +09:30
2014-07-27 20:52:42 +09:30
2014-08-11 11:44:11 -07: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
2014-08-03 17:14:13 -04:00
2014-08-22 18:04:43 -04:00
2014-08-06 18:01:21 -07:00
2014-07-29 18:08:50 -07:00
2014-07-23 12:02:30 +02:00
2014-07-26 00:21:41 +05:30
2014-07-29 21:26:45 -06:00
2014-08-01 12:22:21 -06:00
2014-08-11 14:06:23 +01:00
2014-07-29 12:38:07 +02:00
2014-08-06 18:01:21 -07:00
2014-08-08 15:57:18 -07:00
2014-08-06 18:01:17 -07:00
2014-08-06 18:01:20 -07:00
2014-07-23 01:00:45 +02:00
2014-09-10 13:45:01 -06:00
2014-08-04 10:09:27 -07:00
2014-09-24 08:29:36 -06:00
2014-08-27 22:59:39 -07:00
2014-08-23 11:39:09 -07:00
2014-08-04 10:07:11 -07:00
2014-09-03 01:25:32 +02:00
2014-07-23 01:00:36 +02:00
2014-08-13 15:13:44 +10:00
2014-08-24 18:36:01 -07:00
2014-08-06 18:01:24 -07:00
2014-07-25 19:01:53 +01:00
2014-09-03 20:56:32 -07:00
2014-08-08 15:57:24 -07: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
2014-07-30 01:31:46 +10:00
2014-08-05 17:46:42 -07:00
2014-08-28 11:59:38 +05:30
2014-07-23 01:10:45 +02:00
2014-08-08 15:57:26 -07:00
2014-08-08 15:57:31 -07:00
2014-08-06 13:03:44 +02:00
2014-09-19 16:25:23 -04:00
2014-07-31 14:13:29 -07:00
2014-08-08 15:57:17 -07:00
2014-09-26 15:05:14 -04:00
2014-08-08 15:57:24 -07:00
2014-08-22 21:28:02 -07:00
2014-09-04 22:35:59 +02:00
2014-07-23 10:17:53 -07:00
2014-07-23 10:17:54 -07:00
2014-07-30 09:26:25 +02:00
2014-07-23 15:01:55 -07:00
2014-07-29 23:10:56 +02:00
2014-08-06 13:03:43 +02:00
2014-08-07 20:39:36 -04:00
2014-09-01 21:36:28 -07:00
2014-08-07 14:40:11 -04:00
2014-08-08 15:57:22 -07: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
2014-08-06 18:01:19 -07:00
2014-09-13 05:13:08 +09:00
2014-08-06 18:01:23 -07:00
2014-08-08 15:57:26 -07:00
2014-08-06 18:01:23 -07:00