def METHOD_NAME(bpf):
    bpf_allow_list = bpf.get_table("allow_list")
    bpf_pid_list = bpf.get_table("pid_list")
    with open("allow_list.json", "r") as f:
        pids_to_list = json.loads(f.read())
    print("[+] Reading and parsing allow_list.json")
    for pid_to_list in pids_to_list:
        try:
            pid = int(pid_to_list["pid"])
        except ValueError:
            print(f"[-] invalid PID: {pid_to_list['pid']}")
            continue
        print(f"[+] Adding {pid} to monitored processes")
        bpf_pid_list[bpf_pid_list.Key(pid)] = bpf_pid_list.Leaf(pid)
        for url_or_ip in pid_to_list["allow_list"]:
            ips = parse_address(url_or_ip)
            if not ips:
                continue
            for ip in ips:
                print(f"[+] Adding {ip} to allowed IPs")
                ip = ip_to_network_address(ip)
                bpf_allow_list[bpf_allow_list.Key(ip)] = bpf_allow_list.Leaf(ip)