Hi Yonghong, I'm currently looking at adding support to iterate sockmap elements. For that purpose, the context passed to the iterator program needs to contain PTR_TO_SOCKET, like so: .ctx_arg_info = { { offsetof(struct bpf_iter__bpf_map_elem, key), PTR_TO_RDONLY_BUF_OR_NULL }, { offsetof(struct bpf_iter__bpf_map_elem, value), PTR_TO_SOCKET }, }, This is in contrast to PTR_TO_RDWR_BUF_OR_NULL. I think I could just add a separate bpf_sockmap_elem iterator, but I'm guessing that this is counter to how you would approach this. What do you think is the best way to achieve this? Best Lorenz -- Lorenz Bauer | Systems Engineer 6th Floor, County Hall/The Riverside Building, SE1 7PB, UK www.cloudflare.com