Sample application for Loopback network driver

For the loopback driver provided in the previous article, we write a simple RAW socket program to send a packet directly to the virtual network driver. The code is provided below for reference. The above code is pretty much self explanatory. However, a short description is provided below The loopback driver load and application output […]

Understanding GENERIC_NETLINK interface

The number of netlink families are 32. The netlink families which are presently available as of Kernel 6.13.2 are provided in the article here (Netlink Protocol Families). The number of protocol families were seen to be limited and needed a mechanism that would allow different independently defined Netlink families to be defined. To address this […]

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

OWE parameters and OWE key generation

The Authentication key management (AKM) that is introduced for Opportunistic Wireless Encryption (OWE) is AKM type 18. The RFC 8110 describes OWE operation. The below excerpt from the RFC shows the OWE IE that is part of the RSN element. The Key management type is mentioned as “This document” to refer to RFC 8110. RFC […]