code: def _legacy_bpf_pointer(tcpdump_lines):
      
      X86_64 = os.uname()[4] in ['x86_64', 'aarch64']
      size = int(tcpdump_lines[0])
      bpf = b""
      for l in tcpdump_lines[1:]:
          if six.PY2:
              int_type = long  # noqa: F821
          else:
              int_type = int
          bpf += struct.pack("HBBI", *map(int_type, l.split()))
  
      # Thanks to http://www.netprojects.de/scapy-with-pypy-solved/ for the pypy trick  # noqa: E501
      if conf.use_pypy:
          str_buffer = ctypes.create_string_buffer(bpf)
          return struct.pack('HL', size, ctypes.addressof(str_buffer))
      else:
          # XXX. Argl! We need to give the kernel a pointer on the BPF,
          # Python object header seems to be 20 bytes. 36 bytes for x86 64bits arch.  # noqa: E501
          if X86_64:
              return struct.pack("HL", size, id(bpf) + 36)
          else:
              return struct.pack("HI", size, id(bpf) + 20)
docs: Get old-format BPF Pointer. Deprecated