Skip to content

Helper function bpf_sock_hash_update


Add an entry to, or update a map referencing sockets.


Copyright (c) 2015 The Libbpf Authors. All rights reserved.

Returns 0 on success, or a negative error in case of failure.

static long (* const bpf_sock_hash_update)(struct bpf_sock_ops *skops, void *map, void *key, __u64 flags) = (void *) 70;


The skops is used as a new value for the entry associated to key. flags is one of:

  • BPF_NOEXIST - The entry for key must not exist in the map.
  • BPF_EXIST - The entry for key must already exist in the map.
  • BPF_ANY - No condition on the existence of the entry for key.

If the map has eBPF programs (parser and verdict), those will be inherited by the socket being added. If the socket is already attached to eBPF programs, this results in an error.

Program types

This helper call can be used in the following program types:

Map types

This helper call can be used with the following map types:


Docs could be improved

This part of the docs is incomplete, contributions are very welcome