Files
kernel_arpi/include/linux
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-08-01 22:35:55 +08:00
2014-07-08 13:36:52 -07:00
2014-06-26 15:46:55 -03:00
2014-08-22 13:56:47 -07:00
2014-08-07 14:40:08 -04:00
2014-08-06 18:01:24 -07:00
2014-08-06 18:01:19 -07:00
2014-08-19 10:19:39 -05:00
2014-07-08 09:40:06 +02:00
2014-06-16 16:26:54 +02:00
2014-07-22 21:55:45 +01:00
2014-07-17 22:07:37 +02:00
2014-07-09 14:58:37 +01:00
2014-07-15 22:40:22 +02:00
2014-09-13 12:30:26 -04: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-08-08 15:57:17 -07:00
2014-08-08 15:57:24 -07:00
2014-08-22 21:28:02 -07:00
2014-08-08 15:57:22 -07:00
2014-09-16 15:02:55 -06:00