Understanding the network device driver sample – part 2

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 […]

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 […]