// Copyright (c) 2016 Allan McAleavy. // Copyright (c) 2015 Brendan Gregg. // Licensed under the Apache License, Version 2.0 (the "License") #include struct key_t { u64 ip; }; BPF_HASH(counts, struct key_t); int do_count(struct pt_regs *ctx) { struct key_t key = {}; u64 zero = 0, *val; u64 ip; key.ip = PT_REGS_IP(ctx); val = counts.lookup_or_init(&key, &zero); // update counter if (val) { (*val)++; } return 0; }