KKloud TarusKKloud Tarus
  • Blog
  • Series
  • Team
  • About

Blog

Thoughts on engineering, design, and building great products.

SeriesAll poststcAPFAPIARPAWSAdmissionAffinityAggregationAnsibleAppArmorArchitectureAuthenticationAuthorizationAutomationAutoscaling
Tự Viết Một Chương Trình tc: __sk_buff v...
NetworkingLinux

Tự Viết Một Chương Trình tc: __sk_buff và Chuỗi tcx

Bài 12 đọc datapath tc của Cilium từ ngoài. Bài này tự viết một chương trình tc — đếm và phân loại gói egress theo giao thức — để nắm __sk_buff từ trong ra. Điểm khác cốt lõi với XDP: tc thấy sk_buff với metadata đã điền sẵn (skb->protocol, skb->len), không phải gói thô. Ta gắn nó bằng tcx trên một interface thật, chạy ra số đếm đúng, rồi gặp một bài học thật: cùng chương trình đó gắn sau Cilium trên card mạng lại không chạy lần nào, vì cách chuỗi tcx kết thúc.

K
KaiMay 24, 2026
tc/sched_cls và Mổ Datapath Cilium Đang ...
NetworkingKubernetes

tc/sched_cls và Mổ Datapath Cilium Đang Chạy

Sau XDP là tc — hook nơi gói đã có sk_buff, thấy được cả ingress lẫn egress, và là nơi Cilium đặt gần như toàn bộ datapath của nó. Bài này không viết tc mẫu cho có; nó mổ thẳng 74 chương trình sched_cls đang chạy thật trên một node của cụm: chúng gắn vào đâu (card mạng, từng pod), gọi nhau qua tail call thế nào, và tra những BPF map nào để cân bằng tải một Service hay áp NetworkPolicy. Load balancing kube-proxy-less hóa ra chỉ là một lần tra map.

K
KaiMay 24, 2026
KKloud TarusKKloud Tarus

Explore. Build. Share.

  • Blog
  • Team
  • About
© 2026 KKloud Tarus. All rights reserved.