Displaying 1 to 18 from 18 results

keepalived - Keepalived

  •    C

The main goal of the keepalived project is to add a strong & robust keepalive facility to the Linux Virtual Server project. It implements a multilayer TCP/IP stack checks. Keepalived implements a framework based on three family checks : Layer3, Layer4 & Layer5. This framework gives the daemon the ability of checking a LVS server pool states. Keepalived can be sumarize as a LVS driving daemon. Keepalived implementation is based on an I/O multiplexer to handle a strong multi-threading framework. All the events process use this I/O multiplexer.

pyroute2 - Python netlink library — Linux network setup and monitoring

  •    Python

More samples you can read in the project documentation. Low-level IPRoute utility --- Linux network configuration. The IPRoute class is a 1-to-1 RTNL mapping. There are no implicit interface lookups and so on.

tenus - Linux networking in Go

  •    Go

tenus is a Golang package which allows you to configure and manage Linux network devices programmatically. It communicates with Linux Kernel via netlink to facilitate creation and configuration of network devices on the Linux host. The package also allows for more advanced network setups with Linux containers including Docker. tenus uses runc's implementation of netlink protocol. The package only works with newer Linux Kernels (3.10+) which are shipping reasonably new netlink protocol implementation, so if you are running older kernel this package won't be of much use to you I'm afraid. I have developed this package on Ubuntu Trusty Tahr which ships with 3.13+ and verified its functionality on Precise Pangolin with upgraded kernel to version 3.10. I could worked around the netlink issues by using ioctl syscalls, but I decided to prefer "pure netlink" implementation, so suck it old Kernels.

tenus - Linux networking in Golang

  •    Go

tenus is a Golang package which allows you to configure and manage Linux network devices programmatically. It communicates with Linux Kernel via netlink to facilitate creation and configuration of network devices on the Linux host. The package also allows for more advanced network setups with Linux containers including Docker. tenus uses runc's implementation of netlink protocol. The package only works with newer Linux Kernels (3.10+) which are shipping reasonably new netlink protocol implementation, so if you are running older kernel this package won't be of much use to you I'm afraid. I have developed this package on Ubuntu Trusty Tahr which ships with 3.13+ and verified its functionality on Precise Pangolin with upgraded kernel to version 3.10. I could worked around the netlink issues by using ioctl syscalls, but I decided to prefer "pure netlink" implementation, so suck it old Kernels.




netlink - Package netlink provides low-level access to Linux netlink sockets. MIT Licensed.

  •    Go

Package netlink provides low-level access to Linux netlink sockets. MIT Licensed.For more information about how netlink works, check out my blog series on Linux, Netlink, and Go.

wifi - Package wifi provides access to IEEE 802

  •    C

Package wifi provides access to IEEE 802.11 WiFi device actions and statistics. MIT Licensed.If you would like to contribute support for another operating system, your contributions would be very welcome! Feel free to file an issue to discuss your plans.

tentacool - REST API to manage Linux networking via netlink

  •    Go

tentacool is a Go server controlled via RESTful API through a Unix Domain Socket. Main goal is to manage all under the hood services for a simple "box". All done with a auditable, fast and bulletproof software.

genetlink - Package genetlink implements generic netlink interactions and data types. MIT Licensed.

  •    Go

Package genetlink implements generic netlink interactions and data types. MIT Licensed. For more information about how netlink and generic netlink work, check out my blog series on Linux, Netlink, and Go.


taskstats - Package taskstats provides access to Linux's taskstats interface, for sending per-task and per-process statistics from the kernel to userspace

  •    Go

Package taskstats provides access to Linux's taskstats interface, for sending per-task, per-process, and cgroup statistics from the kernel to userspace. When instrumenting Go programs, use either the taskstats.Self() or taskstats.TGID() method. Using the PID() method on multithreaded programs, including Go programs, will produce inaccurate results.

go-openvswitch - Go packages which enable interacting with Open vSwitch and related tools

  •    Go

Go packages which enable interacting with Open vSwitch and related tools. Apache 2.0 Licensed. See each package's README for additional information.

api-routerd - REST API based Monitoring and System/Network Management

  •    Go

api-routerd is a cloud-enabled, mobile-ready, a super light weight remote management tool which uses REST API for real time configuration and performance as well as health monitoring for systems (containers) and applications. It provides fast API based monitoring without affecting the system it's running on. First configure your $GOPATH. If you have already done this skip this step.

conntrack - Pure-Go Conntrack implementation; for humans.

  •    Go

Package conntrack implements the Conntrack subsystem of the Netfilter (Netlink) protocol family. The package is intended to be clear, user-friendly, thoroughly tested and easy to understand. It is purely written in Go, without any dependency on Cgo or any C library, kernel headers or userspace tools. It uses a native Netlink implementation (https://github.com/mdlayher/netlink) and does not parse or scrape any output of the conntrack command.

netfilter - Pure-Go Netfilter Netlink family implementation.

  •    Go

Package netfilter provides encoding and decoding of Netlink messages into Netfilter attributes. It handles Netfilter-specific nesting of attributes, endianness, and is written around a native Netlink implementation (https://github.com/mdlayher/netlink). It is purely written in Go, without any dependency on Cgo or any C library, kernel headers or userspace tools. The goal of this package is to be used for implementing the Netfilter family of Netlink protocols. For an example implementation, see https://github.com/ti-mo/conntrack.

libipvs - Pure Go lib to work with IPVS using generic netlink socket

  •    Go

This project provides a pure Go client to communicate with IPVS kernel module using generic netlink socket. Netlink socket are used to communicate with various kernel subsystems as an RPC system.

wgctl - Utility to configure and manage your WireGuard tunnels

  •    Go

This is a personal project to allow WireGuard to be configured through the use of YAML files. It uses Netlink (through wireguardctrl) under the hood for all interaction with the system. This tool is very opinionated and designed for my own use (working on that), it might not be what you're looking for.

ethtool - Package ethtool allows control of the Linux ethtool generic netlink interface

  •    Go

Package ethtool allows control of the Linux ethtool generic netlink interface. For more information, see: https://www.kernel.org/doc/html/latest/networking/ethtool-netlink.html.

iscsinl - Go iSCSI initiator netlink library

  •    Go

Currently, after establishing a successful iscsi session with target, iscsinl scans all LUNS i.e uses wild card - - - while writing to /sys/class/scsi_host/host%d/scan. The three - - - stand for channel, SCSI target ID, and LUN, where - means all. In future we would like the iscsnl initiator code to accept LUN as an input argument just like initiatorName, so that user can customize which LUN s(he) wants to be scanned.

wgctl-py - Manage your WireGuard tunnels with ease

  •    Python

This was a test project to get myself familiarized with WireGuard and Netlink. The final project is made with Golang and can be found at https://github.com/apognu/wgctl. This is a personal project to allow WireGuard to be configured through the use of YAML files. It uses Netlink under the hood for all interaction with the system.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.