|Linux| IPC methods introduce, comparison and examples

Threads can share resource with each other, but processes can’t.
Communicating to another processes should use IPC methods.
Common IPC methods in Linux are pipe, shared memory, signal, message queue and domain socket.

This article will introduce shared memory and message queue.
The most efficiency is shared memory (than domain socket).

|Network| How to monitor the network traffic of the specific application

If we want to write a service in the Android framework, how can we do ?
There are some things we should know before starting to implement.
– what is UID in Android ? what’s different with Linux UID ?
– what is the relationship between UID and PID ?
– how can we use libpcap for Applications in the embedded system ?

This article will answer those questions and point out a direction.

|Linux| eBPF – BCC config and test

BCC := BPF Compiler Collection (ref. https://lwn.net/Articles/742082/ )

Originally, BPF is a tool for analyzing network traffic. After years, eBPF has been improved to be used for non-networking purposes, such as for attaching eBPF programs to various tracepoints. wiki

Comparing with XDP (driver layer tool for network, XDP test), BCC provides a tool chain for high level languages.
With this tool, developers can implement their own analyzing tools to manage BPF tools by Python, Lua or other high level languages.

This article will show how to config and run a test code.

|Network| My first XDP BPF code

BPF is a famous system performance tool. Specially, it is powerful for network engineers.
Recently, I attend a study group to talk about this topic.
https://hackmd.io/@yenWu/BJUR6cgWI

But, what is XDP? What is its relationship between BPF and XDP?
XDP: eXpress Data Path, exists in the network driver layer. BTW, only in RX. Therefore, with this tool, we can manage packet very early.(before traffic control)

This article is a note for setting up and testing an example.