HOMECOURSESSTUDENTSDONATIONSVIDEOSEVENTSTUTORIALSLINKSNEWSCONTACT


VIDEOS 》 Quagga Routing Suite - OSPF, RIP, RIPng BGP4 | GNU Zebra fork | ZebOS

Before Quagga - brief history:

GNU Zebra (Zebra.org website) is one of the oldest open-source Dynamic Routing Protocol suite stack developed by Kunihiro Ishiguro. Zebra supports features such as RIPv1/RIPv2 for IPv4 and RIPng for IPv6, OSPFv2 and OSPFv3, BGPv4+ and so on. Zebra is an active project for many years.

In the meantime, Kunihiro Ishiguro along with other partner(s)(mainly a venture capitalist Yoshinari Yoshikawa) founded a company called IP Infusion and developed ZebOS stack.
ZebOS stack - Big Picture
ZebOS stack - Big Picture
Image courtesy/source: https://www.ipinfusion.com/wp-content/uploads/2016/11/zebos- ...

ZebOS is an entire proprietary suite which supports all control plane aspects of various dynamic routing protocols such as those supported by Zebra, plus it has many other features (such as ZebIC - Data Plane, ZebM - Management Plane, etc). ZebOS is marketed towards OEMs and product vendors so that they can buy ZebOS license(s), and build their own routing hardware using this framework. It is pretty much a successful business model and we an see many non-CISCO manufactured networking appliances commonly use ZebOS in it.


My exposure and hands on - both Zebra and ZebOS:

I have worked in my past few projects which included both Zebra and ZebOS stack. For couple of my clients during my tenure at TATA ELXSI, I worked on ZebOS framework which couple of their (TATA ELXSI's) clients used as a control plane framework for their product range. I worked specifically on some SNMP and CLI modules which at that time ZebOS has no support yet for few corner cases such as MPLS/VPLS stuff. And besides much before that I worked on Zebra on various aspects such as configuration, customization for a different client.

Introducing Quagga:

After many years of active support Zebra is discontinued, and sometime down the lane a new fork is created from Zebra called Quagga which is now maintained by a separate independent open-source community.


About Quagga - courtesy: Quagga open-source project website

Quagga is a routing software suite, providing implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4 for Unix platforms, particularly FreeBSD, Linux, Solaris and NetBSD. Quagga is a fork of GNU Zebra which was developed by Kunihiro Ishiguro.

The Quagga architecture consists of a core daemon, zebra, which acts as an abstraction layer to the underlying Unix kernel and presents the Zserv API over a Unix or TCP stream to Quagga clients. It is these Zserv clients which typically implement a routing protocol and communicate routing updates to the zebra daemon. Existing Zserv implementations are:

  • kernel interface, static routes, zserv server
  • RIPv1/RIPv2 for IPv4 and RIPng for IPv6
  • OSPFv2 and OSPFv3
  • BGPv4+ (including address family support for multicast and IPv6)
  • IS-IS with support for IPv4 and IPv6

Quagga daemons are each configurable via a network accessible CLI (called a 'vty'). The CLI follows a style similar to that of other routing software. There is an additional tool included with Quagga called 'vtysh', which acts as a single cohesive front-end to all the daemons, allowing one to administer nearly all aspects of the various Quagga daemons in one place.

Refer:
Quagga open-source project website - https://www.quagga.net
Zebra.org website - http://www.zebra.org
Quagga Documentation - https://www.quagga.net/docs/quagga.html
Quagga Download - http://download.savannah.gnu.org/releases/quagga/
-----IP Infusion - https://www.ipinfusion.com
IP Infusion ZebOS Network Stack - https://www.ipinfusion.com/products/zebos/



Suggested Topics:


Video Episodes :: Linux (user-space), Systems Architecture and Networking

OpenWRT - BusyBox and Embedded Linux ↗
Wednesday' 15-Jul-2020

VRF - Virtual Routing and Forwarding ↗
Wednesday' 15-Jul-2020

Quagga Routing Suite - OSPF, RIP, RIPng BGP4 | GNU Zebra fork | ZebOS ↗
Wednesday' 15-Jul-2020
GNU Zebra is one of the oldest open-source Dynamic Routing Protocol suite stack developed by Kunihiro Ishiguro. Zebra supports features such as RIPv1/RIPv2 for IPv4 and RIPng for IPv6, OSPFv2 and OSPFv3, BGPv4+ and so on. Zebra is an active project for many years. After many years of active support Zebra is discontinued, and sometime down the lane a new fork is created from Zebra called Quagga which is now maintained by a separate independent open-source community. Quagga is a routing software suite, providing implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4 for Unix platforms, particularly FreeBSD, Linux, Solaris and NetBSD. Quagga is a fork of GNU Zebra which was developed by Kunihiro Ishiguro. The Quagga architecture consists of a core daemon, zebra, which acts as an abstraction layer to the underlying Unix kernel and presents the Zserv API over a Unix or TCP stream to Quagga clients.

Building my own Userspace Network Stack - Platform/OS and Hardware Independent ↗
Wednesday' 15-Jul-2020

Code Snippets ↗
Wednesday' 15-Jul-2020

Ethtool - Source Code Walk ↗
Wednesday' 15-Jul-2020

Systems Architecture ↗
Wednesday' 15-Jul-2020

Data Visualization and Analytics ↗
Wednesday' 15-Jul-2020

net-tools - Source Code Walk ↗
Wednesday' 15-Jul-2020

NAS (Network Attached Storage) Operating Systems - FreeNAS, OpenZFS, etc ↗
Wednesday' 15-Jul-2020

Online Course - Networking Protocols ↗
Wednesday' 15-Jul-2020

CPU Performance and Benchmarks ↗
Wednesday' 15-Jul-2020

Oracle VM VirtualBox ↗
Wednesday' 15-Jul-2020

Online Course - Linux TUN/TAP virtual network interfaces ↗
Wednesday' 15-Jul-2020

Linux (user-space) RAW Socket Programming ↗
Wednesday' 15-Jul-2020

IPUtils - Source Code Walk ↗
Tuesday' 14-Jul-2020

Wireshark Packet Capture ↗
Wednesday' 15-Jul-2020

Online Course - Linux CLI Scripting ↗
Wednesday' 15-Jul-2020

CUDA GPU Distributed Parallel Computing ↗
Wednesday' 15-Jul-2020

Networking and Q&A ↗
Wednesday' 15-Jul-2020

Join The Linux Channel :: Facebook Group ↗

Visit The Linux Channel :: on Youtube ↗


Join a course:

💎 Linux, Kernel, Networking and Device Drivers: PDF Brochure
💎 PhD or equivalent (or Post Doctoral) looking for assistance: Details
💎 ... or unlimited life-time mentorship: Details


💗 Help shape the future: Sponsor/Donate


Recommended Topics:
Featured Video:
Watch on Youtube - [7272//0] 179 VLOG - NIKON D5300 DSLR camera battery charger MH-24 repair or service #TheLinuxChannel ↗

Roadmap - How to become Linux Kernel Developer - Device Drivers Programmer and a Systems Software Expert ↗
Wednesday' 15-Jul-2020
Many viewers and even sometimes my students ask me how I can become a kernel programmer or just device driver developer and so on. So I shot this video (and an add-on video) where I summarized steps and a roadmap to become a full-fledged Linux Kernel Developer.

Linux Kernel Module to Drop Packets captured via netfilter hooks ↗
Wednesday' 15-Jul-2020
Here is my sample Kernel Module to drop packets (i.e sk_buff instance) captured via netfilter hooks. When you want to drop packets in your custom netfilter hooks make sure you never do a manual kfree_skb(skb) API call. Since it is anyway performed once the flow of the code moves out of your kernel module netfilter hook. All you need to do is to return NF_DROP to drop gracefully the desired packet. Here is my detailed video and a sample Linux Kernel module.

Weekly News Digest - Week 02 - July 2020 ↗
Wednesday' 15-Jul-2020
The Linux Channel :: Weekly News Digest - Week 02 - July 2020
> Google is teaming up with Ubuntu to bring Flutter apps to Linux
> Linux kernel developers: This new BLM coding style avoids words like blacklist
> Zstd'ing The Kernel Might See Mainline With Linux 5.9 For Faster Boot Times
> Linux 5.9 To Bring Arm Memory Tagging Extension Support
> Linux Kernel Raising Compiler Build Requirement To GCC 4.9
> Linux Developers May Discuss Allowing Rust Code Within The Kernel
> Premio Unveils Intel 9th Gen Industrial Motherboard For Advanced Embedded And IoT Solutions

CEO, CTO Talk ↗
Wednesday' 15-Jul-2020

Arduino UNO - RO Water Purifier Controller ↗
Wednesday' 15-Jul-2020
Here is a Youtube VLOG of my DIY RO Water Purifier Controller done via Arduino UNO. I want the Arduino UNO to control the RO pump, so that it pumps for a specific duration and stops automatically. This is done via Opto-isolated 4 Channel 5V 10A Relay Board meant for Arduino UNO, Raspberry Pi or similar SoC boards which offers GPIO pins. To this relay I have connected the RO water purifier booster pump which works at 24V DC connected via 220V AC to 24V DC power supply adaptar. I have also connected a small active 5V buzzer to notify the progress and completion as it fills the tank/canister.

AT&T Archives: The UNIX Operating System ↗
Wednesday' 15-Jul-2020

Data-Plane and Control-Plane of a Networking Device ↗
Wednesday' 15-Jul-2020

Socket Options - Socket Programming - setsockopt(), getsockopt() ↗
Wednesday' 15-Jul-2020

Tour of my new Home Networking Lab within VirtualBox VM ↗
Wednesday' 15-Jul-2020

PyDelhi + PyData + ILUG-D + Linux Chix meetup mash @ Sarai on 17-Dec-2016 ↗
Wednesday' 15-Jul-2020


Trending Video:
Watch on Youtube - [6927//0] Online Course - Networking Protocols - Episode4 - Protocol RFCs ↗

Linux Kernel FileSystems Subsystem ↗
Wednesday' 15-Jul-2020



Recommended Video:
Watch on Youtube - [6539//0] 139 DIY - VLOG - Off-Grid Solar Power System for Raspberry Pi ↗