eBPF在cloud native好熱門,趁著這個機會來學學eBPF是什麼以及到底怎麼開發,探索現有的eBPF相關專案,例如bcc和cilium。
起源 今年七月底參加COSCUP的時候,在kubernetes的相關議程一直聽到eBPF這個東西,後來參加LINE x KCD Taiwan Meetup #4...
要介紹eBPF勢必得先聊聊eBPF的前身 Berkeley Packet Filter (BPF),BPF最早是在1993年USENIX上發表的一個在類Unix...
今天我們要正式來聊eBPF了! 在介紹BPF的時候,有提到BPF本身就是一個在kernal內的虛擬機。eBPF在kernal的許多功能內埋入了虛擬機的啟動點。例...
接下來幾天會介紹一些eBPF裡面的重要概念還有eBPF的載入流程 首先要介紹的是Program type。我們可以把eBPF程式區分成不同的BPF progra...
從昨天最後的範例可以看到一個eBPF程式其實一個c語言格式的程式碼 int xdp_prog_simple(struct xdp_md *ctx) {...
使用條件 在開始玩eBPF之前,我們要先確定一下我們的環境能夠使用eBPF。最早在kernal 3.15版加入了eBPF功能。後續在3.15到現在的5.19版間...
接續昨天的內容,當eBPF程式通過verifier的驗證之後會進行JIT(Just In Time)的二次編譯。之前一直提到eBPF是一個執行在kernel內的...
在透過bpf(BPF_PROG_LOAD, ...) system call將eBPF程式載入內核的過程(可以參考原始碼),會替該eBPF程式建立struct...
之前在介紹eBPF的GPL授權的時候,有提到eBPF helper function這個東西,今天我們來比較仔細的介紹一下。 之前提到eBPF程式是在eBPF虛...
在將eBPF程式載入kernel工作後,我們勢必需要一些手段來與eBPF程式做溝通,一方面我們需要輸出偵錯訊息,來對eBPF程式debug,一方面我們可能會希望...