<?xml-stylesheet type="text/xsl" href="https://blog.leonhw.com/sitemap.xsl"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  
  <url>
    <loc>https://blog.leonhw.com/categories/</loc>
    <lastmod>2026-02-02T00:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/ebpf/</loc>
    <lastmod>2026-02-02T00:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/categories/ebpf/</loc>
    <lastmod>2026-02-02T00:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/categories/ebpf-talk/</loc>
    <lastmod>2026-02-02T00:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-158-introduce-fsession/</loc>
    <lastmod>2026-02-02T00:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/fsession/</loc>
    <lastmod>2026-02-02T00:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/</loc>
    <lastmod>2026-02-02T00:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/</loc>
    <lastmod>2026-02-02T00:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/</loc>
    <lastmod>2026-02-02T00:40:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-157-lru-hash-map-issues/</loc>
    <lastmod>2026-01-26T00:08:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/lru-hash-map/</loc>
    <lastmod>2026-01-26T00:08:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/lru-percpu-hash-map/</loc>
    <lastmod>2026-01-26T00:08:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-156-percpu-map-flags/</loc>
    <lastmod>2026-01-12T00:08:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/percpu-array-map/</loc>
    <lastmod>2026-01-12T00:08:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/percpu-cgroup-storage/</loc>
    <lastmod>2026-01-12T00:08:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/percpu-hash-map/</loc>
    <lastmod>2026-01-12T00:08:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpfsnoop/</loc>
    <lastmod>2025-11-23T23:32:18+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/linux/</loc>
    <lastmod>2025-11-23T23:32:18+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/linux-%E7%BD%91%E7%BB%9C/</loc>
    <lastmod>2025-11-23T23:32:18+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/categories/linux-%E7%BD%91%E7%BB%9C/</loc>
    <lastmod>2025-11-23T23:32:18+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/linux-networking-6-inflight-page/</loc>
    <lastmod>2025-11-23T23:32:18+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/page_pool/</loc>
    <lastmod>2025-11-23T23:32:18+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/tcp/</loc>
    <lastmod>2025-11-23T23:32:18+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/categories/bpfsnoop/</loc>
    <lastmod>2025-08-31T21:40:58+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-155-bpfsnoop-python-repl/</loc>
    <lastmod>2025-08-31T21:40:58+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/python/</loc>
    <lastmod>2025-08-31T21:40:58+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/drgn/</loc>
    <lastmod>2025-07-27T22:13:05+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-154-bond0-rx_dropped/</loc>
    <lastmod>2025-07-27T22:13:05+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-153-bpfsnoop-v0.5.0/</loc>
    <lastmod>2025-07-21T00:10:57+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-152-debug-i40e-using-bpfsnoop/</loc>
    <lastmod>2025-06-23T00:17:37+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/i40e/</loc>
    <lastmod>2025-06-23T00:17:37+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/xdp/</loc>
    <lastmod>2025-06-23T00:17:37+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-151-bpfsnoop-v0.4.0/</loc>
    <lastmod>2025-05-26T00:55:14+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpflbr/</loc>
    <lastmod>2025-04-06T21:19:09+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/btrace/</loc>
    <lastmod>2025-04-06T21:19:09+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-150-bpfsnoop-v0.3.0/</loc>
    <lastmod>2025-04-06T21:19:09+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/tracepoint/</loc>
    <lastmod>2025-04-06T21:19:09+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-149-reset-tcp-connection-in-xdp/</loc>
    <lastmod>2025-03-30T23:26:12+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-148-tp_btf/</loc>
    <lastmod>2025-03-23T22:54:19+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/tp_btf/</loc>
    <lastmod>2025-03-23T22:54:19+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-147-tracepoint-vs-raw_tp-tp_btf-vs-kprobe-vs-fentry-fexit/</loc>
    <lastmod>2025-03-17T00:25:07+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/fentry/</loc>
    <lastmod>2025-03-17T00:25:07+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/fexit/</loc>
    <lastmod>2025-03-17T00:25:07+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/kprobe/</loc>
    <lastmod>2025-03-17T00:25:07+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/lbr/</loc>
    <lastmod>2025-03-17T00:25:07+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/raw_tp/</loc>
    <lastmod>2025-03-17T00:25:07+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bice/</loc>
    <lastmod>2025-03-09T23:10:43+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-146-btrace-v0.2.0/</loc>
    <lastmod>2025-03-09T23:10:43+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/elibpcap/</loc>
    <lastmod>2025-03-09T23:10:43+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/pwru/</loc>
    <lastmod>2025-03-09T23:10:43+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/socketrace/</loc>
    <lastmod>2025-03-09T23:10:43+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-145-lbr/</loc>
    <lastmod>2025-02-23T23:41:14+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-144-dynamic-filter-func-arg/</loc>
    <lastmod>2025-02-09T23:01:04+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-143-capture-packets-on-netdev-layer/</loc>
    <lastmod>2025-01-19T23:34:17+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-142-tcpw-introduction/</loc>
    <lastmod>2024-12-22T21:29:52+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/socket/</loc>
    <lastmod>2024-12-22T21:29:52+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/tcpw/</loc>
    <lastmod>2024-12-22T21:29:52+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/arm64/</loc>
    <lastmod>2024-12-16T00:13:36+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/backtrace/</loc>
    <lastmod>2024-12-16T00:13:36+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-141-backtrace-on-arm64/</loc>
    <lastmod>2024-12-16T00:13:36+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-140-fd-socket/</loc>
    <lastmod>2024-12-09T00:24:48+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/syscall/</loc>
    <lastmod>2024-12-09T00:24:48+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpf2bpf/</loc>
    <lastmod>2024-12-01T23:58:54+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-139-tailcall-issues/</loc>
    <lastmod>2024-12-01T23:58:54+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/freplace/</loc>
    <lastmod>2024-12-01T23:58:54+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/tailcall/</loc>
    <lastmod>2024-12-01T23:58:54+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/tailcall-issues/</loc>
    <lastmod>2024-12-01T23:58:54+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-138-debug-tailcall-bug-with-fentry/</loc>
    <lastmod>2024-11-24T23:13:45+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpf-map/</loc>
    <lastmod>2024-11-17T15:33:46+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-137-monitor-map-update-and-deletion/</loc>
    <lastmod>2024-11-17T15:33:46+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/mad/</loc>
    <lastmod>2024-11-17T15:33:46+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpftool/</loc>
    <lastmod>2024-11-03T20:49:54+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-136-fix-bpftool-disasm-bug/</loc>
    <lastmod>2024-11-03T20:49:54+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/gdb/</loc>
    <lastmod>2024-11-03T20:49:54+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/libbfd/</loc>
    <lastmod>2024-11-03T20:49:54+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/llvm/</loc>
    <lastmod>2024-11-03T20:49:54+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-135-check-disas-of-bpf-prog/</loc>
    <lastmod>2024-10-27T23:38:15+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-134-i-disable-freplace-tailcall-freplace/</loc>
    <lastmod>2024-10-20T22:17:45+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/cleanup/</loc>
    <lastmod>2024-10-13T22:59:44+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-133-guard-spinlock/</loc>
    <lastmod>2024-10-13T22:59:44+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/guard/</loc>
    <lastmod>2024-10-13T22:59:44+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/ringbuf/</loc>
    <lastmod>2024-10-13T22:59:44+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/spinlock/</loc>
    <lastmod>2024-10-13T22:59:44+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-131-improve-tcpoptions/</loc>
    <lastmod>2024-09-08T16:16:23+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/tcp-options/</loc>
    <lastmod>2024-09-08T16:16:23+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-130-tailcall-and-freplace/</loc>
    <lastmod>2024-09-01T21:25:01+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-129-ringbuf/</loc>
    <lastmod>2024-08-25T22:26:28+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpf-jit/</loc>
    <lastmod>2024-08-18T21:59:58+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-128-improve-x86-bpf-jit/</loc>
    <lastmod>2024-08-18T21:59:58+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/x86/</loc>
    <lastmod>2024-08-18T21:59:58+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-127-xdp-tcp-options/</loc>
    <lastmod>2024-08-18T21:23:42+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-126-toa/</loc>
    <lastmod>2024-08-11T21:35:08+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/toa/</loc>
    <lastmod>2024-08-11T21:35:08+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpf-verifier/</loc>
    <lastmod>2024-07-28T22:54:41+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-125-xdp-crc/</loc>
    <lastmod>2024-07-28T22:54:41+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-124-tailcall-hierarchy/</loc>
    <lastmod>2024-07-21T22:14:11+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/kernel-patch/</loc>
    <lastmod>2024-07-21T22:14:11+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-123-skbdist/</loc>
    <lastmod>2024-07-14T21:51:35+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-122-trace-ipv4-sysctl/</loc>
    <lastmod>2024-07-07T22:09:29+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/sysctl/</loc>
    <lastmod>2024-07-07T22:09:29+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-121-learn-bpf-with-drgn/</loc>
    <lastmod>2024-06-30T23:44:55+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-120-trace-rpsxps/</loc>
    <lastmod>2024-06-23T22:21:31+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/rps/</loc>
    <lastmod>2024-06-23T22:21:31+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/xps/</loc>
    <lastmod>2024-06-23T22:21:31+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-119-trace-irq-binding/</loc>
    <lastmod>2024-06-17T00:23:36+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/irq/</loc>
    <lastmod>2024-06-17T00:23:36+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-118-one-line-code-and-two-bugs/</loc>
    <lastmod>2024-06-02T21:42:03+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-117-pcap-in-vista/</loc>
    <lastmod>2024-05-26T16:30:37+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/gopacket/</loc>
    <lastmod>2024-05-26T16:30:37+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/vista/</loc>
    <lastmod>2024-05-26T16:30:37+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpfbak/</loc>
    <lastmod>2024-05-26T16:28:58+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-116-upgrade-xdp-costlessly/</loc>
    <lastmod>2024-05-26T16:28:58+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-115-introduce-vista/</loc>
    <lastmod>2024-05-26T16:28:14+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpf-dispatcher/</loc>
    <lastmod>2024-05-26T16:27:14+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-114-introduce-xdp-dispatcher/</loc>
    <lastmod>2024-05-26T16:27:14+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-113-xdp-mastery-guide/</loc>
    <lastmod>2024-05-26T16:25:19+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/xdp-mastery-guide/</loc>
    <lastmod>2024-05-26T16:25:19+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-112-use-netns-to-keep-away-from-iptables/</loc>
    <lastmod>2024-05-26T16:22:03+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/iptables/</loc>
    <lastmod>2024-05-26T16:22:03+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/netns/</loc>
    <lastmod>2024-05-26T16:22:03+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/ping/</loc>
    <lastmod>2024-05-26T16:22:03+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-111-tcp-option-for-gateway-ping/</loc>
    <lastmod>2024-05-26T16:20:37+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/gateway-ping/</loc>
    <lastmod>2024-05-26T16:20:37+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/tcp-option/</loc>
    <lastmod>2024-05-26T16:20:37+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-110-source-code-of-ebpf-vm-on-ebpf/</loc>
    <lastmod>2024-05-26T16:17:08+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/ebpf-vm-on-ebpf/</loc>
    <lastmod>2024-05-26T16:17:08+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-109-xdpsnoop/</loc>
    <lastmod>2024-05-26T16:15:57+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/xdpsnoop/</loc>
    <lastmod>2024-05-26T16:15:57+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-108-ecapture-supports-pcap-filter/</loc>
    <lastmod>2024-05-26T16:14:02+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/ecapture/</loc>
    <lastmod>2024-05-26T16:14:02+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/pcap-filter/</loc>
    <lastmod>2024-05-26T16:14:02+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-107-introduce-socketrace/</loc>
    <lastmod>2024-05-26T15:53:12+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-106-introduce-ethtoolsnoop/</loc>
    <lastmod>2024-05-26T15:51:23+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/ethtool/</loc>
    <lastmod>2024-05-26T15:51:23+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/ethtoolsnoop/</loc>
    <lastmod>2024-05-26T15:51:23+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-105-network-jitter/</loc>
    <lastmod>2024-05-26T15:49:47+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-104-tailcall-in-bpf2bpf/</loc>
    <lastmod>2024-05-26T15:47:06+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-103-ebpf-vm-on-ebpf/</loc>
    <lastmod>2024-05-26T15:42:24+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-102-introduce-sockdump/</loc>
    <lastmod>2024-05-26T15:40:38+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/sockdump/</loc>
    <lastmod>2024-05-26T15:40:38+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-101-xdp-supports-traceroute/</loc>
    <lastmod>2024-05-26T15:37:31+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/traceroute/</loc>
    <lastmod>2024-05-26T15:37:31+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-100-talk-from-a-pwru-issue/</loc>
    <lastmod>2024-05-26T15:35:08+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-99-tc-dump-supports-pcap-filter/</loc>
    <lastmod>2024-05-15T23:39:22+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/tc-dump/</loc>
    <lastmod>2024-05-15T23:39:22+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-98-contribute-pwru/</loc>
    <lastmod>2024-05-15T23:38:29+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-97-analyse-xdp/</loc>
    <lastmod>2024-05-15T23:37:46+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-96-kernel-bpf-contribution-/</loc>
    <lastmod>2024-05-15T23:33:01+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-95-kernel-bpf-contribution/</loc>
    <lastmod>2024-05-15T23:31:03+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-94-introduce-kfuncs/</loc>
    <lastmod>2024-05-15T23:29:42+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/kfunc/</loc>
    <lastmod>2024-05-15T23:29:42+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-93-tailcall-in-freplace-bug/</loc>
    <lastmod>2024-05-15T23:27:52+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-92-try-trace-tailcall/</loc>
    <lastmod>2024-05-15T23:22:40+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/kernel-module/</loc>
    <lastmod>2024-05-15T23:22:40+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-89-kernel-bpf-contributor/</loc>
    <lastmod>2024-05-15T23:20:40+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-87-introduce-tracepoint/</loc>
    <lastmod>2024-05-15T23:15:33+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-76-introduce-bpf_link/</loc>
    <lastmod>2024-05-12T20:11:06+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-86-tracepoint-__data_loc/</loc>
    <lastmod>2024-04-05T22:45:28+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-85-trace-tracepoint-program/</loc>
    <lastmod>2024-04-04T22:38:55+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-84-trace-kprobe-program/</loc>
    <lastmod>2024-04-04T22:37:42+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-83-trace-tailcall-program/</loc>
    <lastmod>2024-04-04T22:34:32+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-82-trace-freplace-program/</loc>
    <lastmod>2024-04-04T22:30:23+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-81-trace-bpf2bpf-program/</loc>
    <lastmod>2024-04-04T22:28:58+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-80-trace-tc-bpf-program/</loc>
    <lastmod>2024-04-04T22:18:37+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/tc-bpf/</loc>
    <lastmod>2024-04-04T22:18:37+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-79-trace-xdp-program/</loc>
    <lastmod>2024-04-04T21:59:50+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-78-xdp-acl-tuplemerge-algo/</loc>
    <lastmod>2024-04-03T23:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/tuplemerge/</loc>
    <lastmod>2024-04-03T23:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/xdp-acl/</loc>
    <lastmod>2024-04-03T23:20:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-77-ubuntu-23.04/</loc>
    <lastmod>2024-04-03T23:18:57+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/ubuntu/</loc>
    <lastmod>2024-04-03T23:18:57+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpf_timer/</loc>
    <lastmod>2024-04-03T23:17:12+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-75-introduce-bpf_timer/</loc>
    <lastmod>2024-04-03T23:17:12+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpf_iter/</loc>
    <lastmod>2024-04-03T23:14:50+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-74-introduce-bpf_iter/</loc>
    <lastmod>2024-04-03T23:14:50+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/categories/linux/</loc>
    <lastmod>2024-04-03T23:13:16+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/linux-networking-5-netdevsim/</loc>
    <lastmod>2024-04-03T23:13:16+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/netdevsim/</loc>
    <lastmod>2024-04-03T23:13:16+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/linux-networking-4-sequence-files/</loc>
    <lastmod>2024-04-03T23:10:22+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/sequence-file/</loc>
    <lastmod>2024-04-03T23:10:22+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpf-loop/</loc>
    <lastmod>2024-04-03T23:06:44+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-73-verifier-finite-loop/</loc>
    <lastmod>2024-04-03T23:06:44+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-72-challenge-verifier/</loc>
    <lastmod>2024-04-03T23:04:08+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/binary-search/</loc>
    <lastmod>2024-04-03T23:00:58+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-71-binary-search/</loc>
    <lastmod>2024-04-03T23:00:58+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpf-prog/</loc>
    <lastmod>2024-04-03T22:57:57+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpf-stats/</loc>
    <lastmod>2024-04-03T22:57:57+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-70-bpf-prog-stats/</loc>
    <lastmod>2024-04-03T22:57:57+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-69-packet-range-check/</loc>
    <lastmod>2024-04-03T22:56:16+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-68-xdp-shit-on-mellanox/</loc>
    <lastmod>2024-04-03T22:54:12+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/mellanox/</loc>
    <lastmod>2024-04-03T22:54:12+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/xdp-metadata/</loc>
    <lastmod>2024-04-03T22:54:12+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-67-redirect-pkt-with-tc-bpf/</loc>
    <lastmod>2024-04-03T22:50:26+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpf-modular/</loc>
    <lastmod>2024-04-03T22:48:15+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpf-unittest/</loc>
    <lastmod>2024-04-03T22:48:15+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-66-an-idea-about-bpf-prog-modules-and-their-unittests/</loc>
    <lastmod>2024-04-03T22:48:15+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-65-write-unittest-for-xdp/</loc>
    <lastmod>2024-04-03T22:46:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/af_xdp/</loc>
    <lastmod>2024-04-03T22:44:30+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-64-metadata-from-xdp-to-af_xdp/</loc>
    <lastmod>2024-04-03T22:44:30+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpf-helpers/</loc>
    <lastmod>2024-04-03T22:40:29+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-63-helpers-for-bpf-map/</loc>
    <lastmod>2024-04-03T22:40:29+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-62-verifier-core-in-3.18-kernel/</loc>
    <lastmod>2024-04-01T23:30:37+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-61-cfg-check-in-3.18-kernel/</loc>
    <lastmod>2024-04-01T23:28:13+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-60-introduce-spinlock/</loc>
    <lastmod>2024-04-01T22:49:57+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-59-stats-bpf-prog-correctly/</loc>
    <lastmod>2024-04-01T22:49:01+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-58-complain-xdp-acl/</loc>
    <lastmod>2024-04-01T22:46:20+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-57-kprobe.multi-and-fprobe/</loc>
    <lastmod>2024-04-01T21:14:35+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/fprobe/</loc>
    <lastmod>2024-04-01T21:14:35+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/kprobe.multi/</loc>
    <lastmod>2024-04-01T21:14:35+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-56-latency-injection-with-af_xdp/</loc>
    <lastmod>2024-03-31T23:50:45+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-55-xdp-on-veth/</loc>
    <lastmod>2024-03-31T23:47:39+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/veth/</loc>
    <lastmod>2024-03-31T23:47:39+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-54-xdp-on-mellanox/</loc>
    <lastmod>2024-03-31T21:22:06+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-53-dup-bpf-fd/</loc>
    <lastmod>2024-03-31T21:17:16+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-52-eat-dog-food-of-pwru/</loc>
    <lastmod>2024-03-31T21:16:34+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-51-bpf-fd-leak/</loc>
    <lastmod>2024-03-31T21:05:34+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-50-iptables-trace/</loc>
    <lastmod>2024-03-31T21:05:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/iptables-trace/</loc>
    <lastmod>2024-03-31T21:05:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-49-run-bpf-prog-in-kernel-module/</loc>
    <lastmod>2024-03-31T20:47:45+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-48-kprobe-nth-argument/</loc>
    <lastmod>2024-03-29T23:56:03+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpfsyscalldist/</loc>
    <lastmod>2024-03-29T23:55:06+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-47-syscalldist-and-bpfsyscalldist/</loc>
    <lastmod>2024-03-29T23:55:06+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/syscalldist/</loc>
    <lastmod>2024-03-29T23:55:06+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-46-kprobe-ftrace-and-trampoline/</loc>
    <lastmod>2024-03-29T23:51:43+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/ftrace/</loc>
    <lastmod>2024-03-29T23:51:43+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/trampoline/</loc>
    <lastmod>2024-03-29T23:51:43+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-45-skbtracer-iptables/</loc>
    <lastmod>2024-03-29T23:46:26+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/skbtracer/</loc>
    <lastmod>2024-03-29T23:46:26+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-88-tailcall-shared-bpf-map/</loc>
    <lastmod>2023-08-22T22:27:28+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-91-update-tailcall-bpf-map/</loc>
    <lastmod>2023-08-22T22:27:23+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-90-dynamic-or-static-tailcall/</loc>
    <lastmod>2023-08-22T22:27:18+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-44-trampoline-stack-on-x86/</loc>
    <lastmod>2023-05-23T23:02:47+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-43-trampoline-on-x86/</loc>
    <lastmod>2023-05-23T22:55:23+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-42-trampoline-on-x86/</loc>
    <lastmod>2023-05-23T22:45:15+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-41-freplace-on-x86/</loc>
    <lastmod>2023-05-23T22:31:24+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-40-perilogue-on-x86/</loc>
    <lastmod>2023-05-23T22:25:35+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/perilogue/</loc>
    <lastmod>2023-05-23T22:25:35+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-39-poke-on-x86/</loc>
    <lastmod>2023-05-23T22:22:24+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/poke/</loc>
    <lastmod>2023-05-23T22:22:24+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-38-kernel-version/</loc>
    <lastmod>2023-05-23T22:18:00+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-37-loop/</loc>
    <lastmod>2023-05-23T22:14:15+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-36-xdp-redirect-to-af_xdp/</loc>
    <lastmod>2023-05-23T22:09:09+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-35-bpf2bpf-and-tailcall-error/</loc>
    <lastmod>2023-05-23T22:06:44+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-34-af_xdp/</loc>
    <lastmod>2023-05-23T22:02:31+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-33-tailcall-on-x86/</loc>
    <lastmod>2023-05-23T21:48:41+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-32-tailcall-and-bpf2bpf/</loc>
    <lastmod>2023-05-23T21:44:17+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-31-global-variable-constant-variable-and-bpf-map/</loc>
    <lastmod>2023-05-21T23:38:54+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/%E5%B8%B8%E9%87%8F/</loc>
    <lastmod>2023-05-21T23:38:54+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/%E5%85%A8%E5%B1%80%E5%8F%98%E9%87%8F/</loc>
    <lastmod>2023-05-21T23:38:54+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-30-veth-xdp-gro/</loc>
    <lastmod>2023-05-21T23:33:35+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/bpftrace/</loc>
    <lastmod>2023-05-21T23:29:32+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-29-failed-to-xdp-redirect/</loc>
    <lastmod>2023-05-21T23:29:32+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-28-xdp-on-veth/</loc>
    <lastmod>2023-05-21T16:41:37+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/retsnoop/</loc>
    <lastmod>2023-05-21T16:41:37+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-27-xdp-metadata-in-action/</loc>
    <lastmod>2023-05-21T16:34:35+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/metadata/</loc>
    <lastmod>2023-05-21T16:34:35+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-26-iptables-in-bpf/</loc>
    <lastmod>2023-05-21T16:24:22+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-25-xdp-redirect-packet/</loc>
    <lastmod>2023-05-21T16:22:07+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/cilium/ebpf/</loc>
    <lastmod>2023-05-21T16:19:32+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-24-bpf-verifier-enospc/</loc>
    <lastmod>2023-05-21T16:19:32+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-23-a-concrete-usage-of-array-map/</loc>
    <lastmod>2023-05-21T16:17:25+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-22-global-variables-in-action/</loc>
    <lastmod>2023-05-21T16:12:19+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-21-xdp-acl-optimisation/</loc>
    <lastmod>2023-05-21T16:08:36+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-20-xdp-acl-again/</loc>
    <lastmod>2023-05-21T16:03:32+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-19-how-skbs-work/</loc>
    <lastmod>2023-05-21T16:00:09+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/skb/</loc>
    <lastmod>2023-05-21T16:00:09+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-18-another-side-of-bpf-helpers/</loc>
    <lastmod>2023-05-20T17:48:25+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-17-xdp-redirect-packet/</loc>
    <lastmod>2023-05-20T17:41:10+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-16-xdp-generic-mode/</loc>
    <lastmod>2023-05-20T17:37:39+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-15-useful-histogram/</loc>
    <lastmod>2023-05-20T17:32:59+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/histogram/</loc>
    <lastmod>2023-05-20T17:32:59+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-14-bpf2bpf-functions-call/</loc>
    <lastmod>2023-05-20T17:26:45+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-talk-13-bpf-map-new-born-in-cilium_ebpf/</loc>
    <lastmod>2023-05-20T17:17:39+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-map-source-code-reading-guide/</loc>
    <lastmod>2023-01-04T22:34:51+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/categories/drgn/</loc>
    <lastmod>2023-01-01T22:52:56+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/kernel/</loc>
    <lastmod>2023-01-01T22:52:56+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/drgn-netdev_priv/</loc>
    <lastmod>2023-01-01T22:52:56+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-syscalldist/</loc>
    <lastmod>2022-12-22T22:25:37+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-two-map-helpers/</loc>
    <lastmod>2022-12-21T21:26:02+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-asm-and-insn/</loc>
    <lastmod>2022-12-21T21:20:30+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-tailcall-intro/</loc>
    <lastmod>2022-11-24T22:11:05+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-bpf2bpf-functions-call/</loc>
    <lastmod>2022-11-16T22:32:06+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-a-bpf-map-story/</loc>
    <lastmod>2022-11-13T21:06:38+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/btf/</loc>
    <lastmod>2022-11-06T21:42:05+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-external-btf/</loc>
    <lastmod>2022-11-06T21:42:05+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-trampoline-better-than-kprobe/</loc>
    <lastmod>2022-11-01T23:31:04+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-cpu-and-numa/</loc>
    <lastmod>2022-10-31T19:26:29+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/categories/ebpf-co-re/</loc>
    <lastmod>2022-10-31T19:16:57+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-final-step-to-co-re/</loc>
    <lastmod>2022-10-31T19:16:57+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-two-macros/</loc>
    <lastmod>2022-10-30T15:45:41+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-variables-declaration-location/</loc>
    <lastmod>2022-10-29T15:03:41+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-black-magic-correct/</loc>
    <lastmod>2022-08-24T22:09:42+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/ebpf-black-magic/</loc>
    <lastmod>2022-06-11T14:35:17+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/iptables-bpf-acl/</loc>
    <lastmod>2022-04-01T21:14:32+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/categories/iptables/</loc>
    <lastmod>2022-04-01T21:14:32+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/iptables-bpf/</loc>
    <lastmod>2022-04-01T21:14:32+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/linux-namespace/</loc>
    <lastmod>2022-01-22T14:03:18+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/linux-how-nsenter-works/</loc>
    <lastmod>2022-01-22T14:03:18+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/iptables-tproxy/</loc>
    <lastmod>2021-12-24T23:34:52+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/linux-tproxy/</loc>
    <lastmod>2021-12-24T23:34:52+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/linux-how-tproxy-works/</loc>
    <lastmod>2021-12-24T23:34:52+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/linux-kernel/</loc>
    <lastmod>2021-12-19T16:50:09+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/kernel-module-with-bpf/</loc>
    <lastmod>2021-12-19T16:50:09+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/iptables-bpf-source-code-reading/</loc>
    <lastmod>2021-12-19T14:27:19+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/iptables-bpf/</loc>
    <lastmod>2021-12-16T23:26:45+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/go/</loc>
    <lastmod>2021-12-15T21:07:44+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/categories/go/</loc>
    <lastmod>2021-12-15T21:07:44+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/go-functrace/</loc>
    <lastmod>2021-12-15T21:07:44+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/iptables-nfqueue/</loc>
    <lastmod>2021-12-12T15:10:20+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/iptables-nfqueue-usage/</loc>
    <lastmod>2021-12-12T15:10:20+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/iptables-nfqueue/</loc>
    <lastmod>2021-12-09T23:54:39+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/nfnetlink/</loc>
    <lastmod>2021-11-03T23:06:24+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/go-nfnetlink-example/</loc>
    <lastmod>2021-11-03T23:06:24+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/netlink/</loc>
    <lastmod>2021-11-03T22:53:38+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/netlink-and-go/</loc>
    <lastmod>2021-11-03T22:53:38+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/goebpf/</loc>
    <lastmod>2021-11-02T23:19:12+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/skbtracer/</loc>
    <lastmod>2021-11-02T23:19:12+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/linux-how-anti-synflood-works/</loc>
    <lastmod>2021-05-19T21:54:30+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/synflood/</loc>
    <lastmod>2021-05-19T21:54:30+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/linux-custom-netfilter-hook-experiment/</loc>
    <lastmod>2021-04-19T23:48:58+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/netfilter/</loc>
    <lastmod>2021-04-19T23:48:58+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/linux-how-netfilter-works/</loc>
    <lastmod>2021-04-18T12:25:15+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/knetstat/</loc>
    <lastmod>2021-02-12T23:34:58+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/linux-show-socket-ip_transparent-option/</loc>
    <lastmod>2021-02-12T23:34:58+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/ip-route/</loc>
    <lastmod>2021-01-23T18:33:40+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/ip-rule/</loc>
    <lastmod>2021-01-23T18:33:40+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/linux-solve-policy-routing-problem/</loc>
    <lastmod>2021-01-23T18:33:40+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/linux-bridge/</loc>
    <lastmod>2021-01-23T17:31:10+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/tags/linux-netns/</loc>
    <lastmod>2021-01-23T17:31:10+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/linux-replay-proxy-traffic-experiment/</loc>
    <lastmod>2021-01-23T17:31:10+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/linux-bridge-flood-experiment/</loc>
    <lastmod>2021-01-16T16:34:24+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/post/linux-bridge-flood/</loc>
    <lastmod>2021-01-13T23:39:25+08:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
  <url>
    <loc>https://blog.leonhw.com/series/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  
</urlset>