mirror of
https://github.com/varun-r-mallya/Python-BPF.git
synced 2025-12-31 21:06:25 +00:00
Add condition eval and basic if example - workin
This commit is contained in:
@ -1,9 +1,10 @@
|
||||
from pythonbpf import bpf, map, section, bpfglobal, compile
|
||||
from pythonbpf.helpers import bpf_ktime_get_ns
|
||||
from pythonbpf.helpers import ktime
|
||||
from pythonbpf.maps import HashMap
|
||||
|
||||
from ctypes import c_void_p, c_int64, c_int32, c_uint64
|
||||
|
||||
|
||||
@bpf
|
||||
@map
|
||||
def last() -> HashMap:
|
||||
@ -24,13 +25,16 @@ def hello_again(ctx: c_void_p) -> c_int64:
|
||||
print("exited")
|
||||
key = 0
|
||||
tsp = last().lookup(key)
|
||||
if tsp:
|
||||
delta = (bpf_ktime_get_ns() - tsp.value)
|
||||
if delta < 1000000000:
|
||||
print("execve called within last second")
|
||||
last().delete(key)
|
||||
ts = bpf_ktime_get_ns()
|
||||
last().update(key, ts)
|
||||
# if tsp:
|
||||
# delta = (bpf_ktime_get_ns() - tsp.value)
|
||||
# if delta < 1000000000:
|
||||
# print("execve called within last second")
|
||||
# last().delete(key)
|
||||
if True:
|
||||
print("we prevailed")
|
||||
# ts = ktime()
|
||||
ktime()
|
||||
# last().update(key, ts)
|
||||
return c_int64(0)
|
||||
|
||||
|
||||
@ -39,4 +43,5 @@ def hello_again(ctx: c_void_p) -> c_int64:
|
||||
def LICENSE() -> str:
|
||||
return "GPL"
|
||||
|
||||
|
||||
compile()
|
||||
|
||||
Reference in New Issue
Block a user