Welcome to The Linux Channel – a Linux and Tech Youtube Channel for advance Linux users, systems and network software programmers and tech enthusiasts.

Join a course ↗

Linux Kernel Programming – File Operations or FOPs – struct file_operations
Whenever you do Linux Kernel programming, you must've noticed file operations are defined with respect to certain data-structures. Its quite common you may find these in Linux Device Drivers and so on. So here is my detailed YouTube video episode about Linux Kernel File Operations.
PiPG – Dedicated Raspberry Pi Network Console Port
You can optionally have a dedicated Network Console port for your Raspberry Pi PiPG device. So that you can remotely access the PiPG web UI and configure the same, while sending the generated packets via other dedicated test/alternate ports.
PiPG – PiPG-v1.0.26-02-Nov-2020 – Release
Download the PiPG – PiPG-v1.0.26-02-Nov-2020 – complete MicroSD Image
Linux Kernel Programming | TUN/TAP Driver Source-code | ioctl handlers | #kernel #programming
I was doing a general code walk of Tun/Tap drivers in /drivers/net/tun.c and /drivers/net/tap.c, which is when I stumbled across its ioctl handlers/implementation and then started comparing with generic /net/core/dev_ioctl.c. Network port ioctl support is pretty vital so that whenever we control/configure any network ports (physical or virtual ports, such as tun/tap, veth, lo, dummy, …
IPUtils – Source Code Walk
IPUtils is a popular Linux Open-Source package which includes various utilities for Linux networking such as ping, arping, ping6 and so on.
Socket Options – Socket Programming – setsockopt(), getsockopt()
The setsockopt() function provides an application program (user-space) with the means to control socket behavior. You can use setsockopt() to allocate buffer space, control timeouts, permit socket data broadcasts and so on. And these are some of the socket option names: SO_DEBUG, SO_BROADCAST, SO_REUSEADDR, SO_KEEPALIVE, SO_LINGER, SO_OOBINLINE, SO_SNDBUF, SO_RCVBUF, SO_DONTROUTE, SO_RCVLOWAT, SO_RCVTIMEO, SO_SNDLOWAT, SO_SNDTIMEO. The …
Linux Networking Stack – RFS – Receive Flow Steering
Linux Networking Stack Receive Flow Steering (RFS) aim is to increase data-cache hitrate by steering kernel processing of packets to the CPU where the application thread consuming the packet is running. RFS relies on the same RPS mechanisms to enqueue packets onto the backlog of another CPU and to wake up that CPU.
Multi-Client TCP Server with pthreads Mutex Synchronized – Code-walk of viewer code – Sekhar Pariga
Here is a code-walk of a git-hub source submitted by a viewer Sekhar Pariga, which is a Multi-client TCP Server with pthreads Mutex synchronized. Basically it is a Directory Listing Server, that serves ls, cd, pwd of directory functions to connecting TCP clients which are remotely (locally) executed by the server. Server is implemented using …
C code to check valid IP Address (IPv4) – Live Demo and Example
https://youtu.be/u0a7CKZ5gYU Here is my sample source-code discussed in the video: /* The Linux Channel * Code for Video Episode: 346 C code to check valid IP Address (IPv4) * Author: Kiran Kankipati * Updated: 15-Jun-2018 */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <stdbool.h> #include <ctype.h> static bool check_valid_ip_address(unsigned char *buf); void main() …
How to submit your Linux Kernel Patch – Tutorial
If you are a newbie or even an experienced programmer you might have stumbled at kernel newbies page which is heaven for all those who are willing to involve in Linux kernel development. Today I'm writing about Linux kernel patch Philosophy. Oh yes, You are right submitting kernel patches is none less than a Philosophy.