HOMECOURSESSTUDENTSDONATIONSVIDEOSEVENTSTUTORIALSLINKSNEWSCONTACT


Welcome to The TOFFEE Project :: The Linux Channel

The Linux Channel - a Linux and Tech Youtube Channel for advance Linux users, systems and network software programmers and tech enthusiasts. The Linux Channel is a part of The TOFFEE Project research.

Join a course :: visit ↗


Watch on Youtube - x226 Linux Kernel Tasklets | Big-Picture | vs User-Space pth... ↗

Linux Kernel Dummy Network Interface /drivers/net/dummy.c Network Namespace Research ↗
Wednesday' 24-Feb-2021
When you work on Network Namespaces (which is a feature Linux Kernel provides), you usually create bunch of virtual ethernet ports called as veth interfaces. The veth interface itself is a separate LK virtual network driver which offers this specific functionality. But sometimes besides veth you can also configure an optional interface called dummy interface. The dummy interface, just like veth (and other such virtual interfaces) is provided by LK via the driver drivers/net/dummy.c. The interesting aspect of dummy interface is that it serves as an alter ego of the loop-back localhost (as mentioned in the tldp.org article link below). Which means you can set any valid IP and this can serve as alternate local host ip other than 127.0.0.1. So to learn more, kindly watch my complete video series on this fascinating network interface called Dummy Interface.

Linux Kernel Tasklets | Big-Picture | vs User-Space pthreads ↗
Wednesday' 24-Feb-2021
Linux Kernel Tasklets and Work queues are somewhat similar to user-space process threads in terms of the functionality and of course not in terms of its operation or its internal architecture. You can schedule Tasklet(s) for a registered function to run later. So typically the Interrupt top half (of the interrupt handler) performs a small amount of critical work (not to be confused with critical section), and then schedules such as a tasklet to execute later at the bottom half.

Linux Kernel Dummy Network Interface /drivers/net/dummy.c Network Namespace Research ↗
Wednesday' 24-Feb-2021
When you work on Network Namespaces (which is a feature Linux Kernel provides), you usually create bunch of virtual ethernet ports called as veth interfaces. The veth interface itself is a separate LK virtual network driver which offers this specific functionality. But sometimes besides veth you can also configure an optional interface called dummy interface. The dummy interface, just like veth (and other such virtual interfaces) is provided by LK via the driver drivers/net/dummy.c. The interesting aspect of dummy interface is that it serves as an alter ego of the loop-back localhost (as mentioned in the tldp.org article link below). Which means you can set any valid IP and this can serve as alternate local host ip other than 127.0.0.1. So to learn more, kindly watch my complete video series on this fascinating network interface called Dummy Interface.

Linux Kernel Tasklets | Big-Picture | vs User-Space pthreads ↗
Wednesday' 24-Feb-2021
Linux Kernel Tasklets and Work queues are somewhat similar to user-space process threads in terms of the functionality and of course not in terms of its operation or its internal architecture. You can schedule Tasklet(s) for a registered function to run later. So typically the Interrupt top half (of the interrupt handler) performs a small amount of critical work (not to be confused with critical section), and then schedules such as a tasklet to execute later at the bottom half.

What is a Linux Kernel Module - a Big Picture ↗
Wednesday' 24-Feb-2021
Learning Linux Kernel Programming is always fascinating and yet challenging. So generally you may tend to learn Kernel Module programming, since such a module can be dynamically plugged into running Linux Kernel. But this will lead to confusion, and many assume kernel source is mostly a collection of these modules. Which in reality is not. Not just that, when we say Kernel Module, its a vaguely defined term. The term Module (as we know) is nothing but a collection of APIs, bunch of variables and associated data-structures. Which may or may not be a plugable kernel module. If you ask me, I am a fan of wiring Linux Kernel Modules, which may not be necessarily a pluggable kernel module. It all boils down to the address space at which these modules function inside a monolithic Linux Kernel. Which is nothing but Linux Kernel's address space. Hence here is my detailed multi-episode Youtube video series on Linux Kernel modules, a big picture and the significance of the

Raspberry Pi GPIO Pins - Raw Kernel Access via sysfs - GPIO Linux Kernel Drivers ↗
Wednesday' 24-Feb-2021
Here is a my multi-episode Youtube video series of me doing a live code (Code with Kiran Series). Linux Kernel GPIO drivers of Raspberry Pi offers access/control directly via sysfs filesystem interface. But often people don't see this aspect, instead as a part of IoT, they assume these GPIO pins can be only accessed by some Python, Java or C/C++ code libraries. But in the real case those libraries are just an abstract layer written around the core Kernel GPIO driver's sysfs filesystem. So here is an attempt where we learn this aspect in systems architecture point of view. And then later try to attempt writing such user-space GPIO control code without any third-party libraries. Since the sysfs driver access is via regular files (user-space context), we can now use any language of our choice and access the same like any files. In that process we can attempt writing our own bunch of abstract APIs resembling a typical GPIO access library.

Code with Kiran - Live Coding | Linux Kernel Programming | Kernel Libraries ↗
Wednesday' 24-Feb-2021
Here is a my multi-episode Youtube video series of me doing a live code (Code with Kiran Series). Linux Kernel source consists of many libraries within. For example such as to create and manage Linked Lists, String Operations, Encryption Algorithms, Compression Algorithms, and so on. In the Kernel, various Kernel Modules (including various Device Drivers) will use these Kernel inclusive Libraries. Unlike user-space programming, in Kernel Space when you code, you have to use these Libraries which are actually part of kernel (i.e sharing the same address space). And in some cases you can also make your own libraries and publish as well. In the case of user-space programs, we use third-party libraries (explicit or implicit), but that cannot happen when you code in kernel space. The libraries share the same address space and they are part of Linux Kernel mainline source. Hence it is important to understand the significance of using such library as demonstrated in my video series bel

Multi-Client TCP Server with pthreads Mutex Synchronized - Code-walk of viewer code - Sekhar Pariga ↗
Wednesday' 24-Feb-2021
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 multi-thread pthread library, to serve multiple clients simultaneously. Server keeps the each accepted client session details in the queue data structure. Client session queue contains each clients socket-fd and present working directory as a queue node.

Watch on Youtube - Linux Kernel run-time performance vs GCC Compiler ↗

Linux Kernel Network Programming - Transport Layer L4 TCP/UDP Registration - Protocol APIs ↗
Wednesday' 24-Feb-2021

My Home-Lab Data Storage and Hard drives ↗
Wednesday' 24-Feb-2021

Oracle VM VirtualBox ↗
Wednesday' 24-Feb-2021

B.E(B.Tech, B.S) and M.E(M.Tech, M.S) Collage Final Year Projects ↗
Wednesday' 24-Feb-2021

What is a BSP | Board Support Package | Big Picture | Embedded Systems Software Development ↗
Wednesday' 24-Feb-2021

SNMP and MIB Browsers ↗
Wednesday' 24-Feb-2021

Join The Linux Channel :: Facebook Group ↗

Visit The Linux Channel :: on Youtube ↗


💗 Help shape the future: Sponsor/Donate


Recommended Topics:
Featured Video:
Watch on Youtube - x226 Linux Kernel Tasklets | Big-Picture | vs User-Space pth... ↗

My Home-Lab Data Storage and Hard drives ↗
Wednesday' 24-Feb-2021

Linux Kernel Network Programming - Transport Layer L4 TCP/UDP Registration - Protocol APIs ↗
Wednesday' 24-Feb-2021

Weekly News Digest - Week 8 - February 2018 ↗
Wednesday' 24-Feb-2021
> Asymmetric Processor Cores > Using QCT Quanta LB6M 10GbE Switch for Container Networking > Using SSE Instead Of WebSockets For Unidirectional Data Flow Over HTTP/2 > Why IPv6 networks create DNS configuration problems > Hypervisor or containers: Which solution is right for you? > Blockchain for 2018 and Beyond: A (growing) list of blockchain use cases > Raw sockets backdoor gives attackers complete control of some Linux servers

Oracle VM VirtualBox ↗
Wednesday' 24-Feb-2021

Management ↗
Wednesday' 24-Feb-2021

SNMP and MIB Browsers ↗
Wednesday' 24-Feb-2021

Interactive map of Linux Kernel ↗
Wednesday' 24-Feb-2021

B.E(B.Tech, B.S) and M.E(M.Tech, M.S) Collage Final Year Projects ↗
Wednesday' 24-Feb-2021

What is a BSP | Board Support Package | Big Picture | Embedded Systems Software Development ↗
Wednesday' 24-Feb-2021

Weekly News Digest - Week 12 - March 2018 ↗
Wednesday' 24-Feb-2021
> ReSpeaker Core v2 is a 6-Mic Array Audio Development Kit Powered by Rockchip RK3229 Processor > How to monitor network protocol traffic on your data center Linux servers > Open Source LimeSDR Mini Takes Off in Satellites > Marvell revs up Ethernet to 400Gbps with new ‘Alaska’ chips > Natural Language Processing (NLP) > WAGO PFC200 PLC Runs Embedded Linux, Supports Web and Mobile Visualization


Trending Video:
Watch on Youtube - 352 Linux user-space - Shared Memory IPC - Live Demo and Exa ↗

TCP vs UDP an Expert Opinion ↗
Wednesday' 24-Feb-2021



Recommended Video:
Watch on Youtube - x226 Linux Kernel Tasklets | Big-Picture | vs User-Space pth... ↗