Commit 53d45da1 authored by Brenden Blanco's avatar Brenden Blanco

Cache function handles in BPF class

* This means repeated calls to get_func() are now allowed
Signed-off-by: default avatarBrenden Blanco <bblanco@plumgrid.com>
parent 5e414945
...@@ -182,6 +182,9 @@ class BPF(object): ...@@ -182,6 +182,9 @@ class BPF(object):
raise Exception("Failed to compile BPF module %s" % src_file) raise Exception("Failed to compile BPF module %s" % src_file)
def load_func(self, func_name, prog_type): def load_func(self, func_name, prog_type):
if func_name in self.funcs:
return self.funcs[func_name]
if lib.bpf_function_start(self.module, func_name.encode("ascii")) == None: if lib.bpf_function_start(self.module, func_name.encode("ascii")) == None:
raise Exception("Unknown program %s" % func_name) raise Exception("Unknown program %s" % func_name)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment