The interested reader can check the previous articles (links: sample skeleton driver and loading the skeleton driver) before going through this article. In the sample skeleton driver, a set of callbacks were defined and later registered with the Linux network stack. The code snippet is shown below In the above code snippets, the network device […]
Understanding the network device driver sample
The skeleton network device driver that is discussed in the current article can be found in this previous article here . Kindly refer the code which can be used to compile a network skeleton drive module, loaded and can be used to perform a few basic network operations to understand Linux networking. Compile the code […]
Sample skeleton network device driver in Linux
The below sample network driver does pretty much nothing. Hence, the term skeleton network driver. It does allow the understanding of basic concepts regarding how a network device driver works in the Linux kernel. The network devices are connected to the network stack and communicate with the outside world using network packets. The network device […]
A few other SKB APIs
The previous article (here) discussed a few of the commonly used Socket Buff (SKB) APIs to modify the socket buffer allocated. The below APIs are also used to access different regions of the buffer or to act on the buffer in a desired manner and more widely seen. There are quite a few APIs that […]
Socket Buffer(SKB) Manipulation APIs
The SKB structure buffer for data is manipulated using various support APIs. Some of the APIs are described below with a pictorial representation of how the operation takes place. A few other SKB APIs
Linux Socket Buffer (SKB)
The socket buffer is the most commonly heard data structure in the Linux networking code. It forms the basis of how data packets are handled in the Linux network stack. The data structure can be viewed in the header file – skbuff.h. The structure – struct sk_buff contains numerous parameters. We look at some of […]