Projects in the topic c


netlink interface for ethtool

a project by mkubecek

There seems to be an overall consensus that the ioctl interface used by ethtool is a poor design as it's inflexible, error prone and notoriously hard to extend. It should clearly be replaced by netlink and obsoleted. Unfortunately not much actual work has been done in that direction until this project started. The project started in Hackweek 16 (fall 2017) and has been worked on since, both in Hackweek 17-19 and outside. First two parts of kernel implementation are in mainline since 5.6-rc1, first part of userspace implementation (ethtool utility) has been submitted to upstream at the end of Hackweek 19 (2020-02-16).

Updated almost 4 years ago. 4 hacker ♥️.

Boot system from Ceph RADOS Block Device

an idea by dmdiss

Write a new Dracut module which adds support for booting a system where the root filesystem resides on a remote RBD image. * Pack keyring and ceph.conf (monitor address) in the initramfs image

Updated about 5 years ago. 3 hacker ♥️. Has no hacker: grab it!

Add Ceph support for Azure RESTful protocols

an idea by dmdiss

Microsoft Azure offers a bunch of interesting RESTful protocols, providing access to objects (Block Blobs, similar to S3 Objects), disk images (Page Blobs) and file systems (Azure Files). The underlying services seem to map pretty closely to RADOS, RBD and CephFS respectively, so adding support for these protocols to Ceph, despite being a lot of work, should be relatively straightforward. I've already worked on implementing a C client for these protocols via Elasto, so it might be worth reusing the same code in implementing the server functionality atop the public librados / librbd / libcephfs libraries. The other option would be to use civetweb/rgw, which is already embedded within Ceph for S3/SWIFT gateway support.

Updated over 6 years ago. No love. Has no hacker: grab it!

Make parted great again!

a project by sparschauer

During regular L3 work I often don't find enough time to work on the command line disk partitioner parted which I maintain. Changes often directly affect yast-storage(-ng) and libstorage(-ng). @aschnell opens bugs faster than I can solve them. Upstream is often slow and often wants patches differently.

Updated about 2 years ago. 1 hackers ♥️.

L3: Improve crash-setup, develop a core-setup

a project by sparschauer

The current crash-setup source is located here. Pretty much is working nicely but it doesn't care for the debug source making it impossible to use the crash> gdb list *<symbol> command right away. This is bug 997558 which should be worked on.

Updated about 2 years ago. 4 hacker ♥️.

ethtool ops for netdevsim

a project by mkubecek

This can be seen as a subproject of ethtool netlink interface but from the technical view it's independent. Every new piece of software is going to be buggy and with frequent changes and rewrites, new regressions are introduced. Automated selftests can help a lot but as ethtool deals with hardware devices, we do not want these tests to depend on a specific hardware. The netdevsim driver was created as a virtual device which (unlike e.g. dummy) cannot be used for actual network traffic but implements various configuration interfaces so that it can be used for their (automated) testing.

Updated about 4 years ago. No love. 1 follower.

Improving picotm

a project by tdz

Picotm is a system-level transaction manager. It provides transactional semantics to low-level C operations, such as modifying data structures, (some) file I/O, memory access. Picotm also handles error detection and recovery. It's fully modular, so new functionality can be added. For the Hackweek, I want to dedicate some time to picotm. I want to finish some of the refactoring work that I have been working on. If there's time left, I'd like to investigate two-phase commits and how to support them in picotm.

Updated about 2 years ago. No love. 1 follower.

dmidecode: no more open-coded printfs

a project by jdelvare

There's a long standing request to extend the output of dmidecode to something that would be machine-readable. Something like an XML or JSON-based format. Unfortunately this can't be implemented right now because the output of dmidecode is generated by open-coded printfs as the DMI table is being parsed, with no intermediate structures nor temporary buffers. While implementing a machine-parseable output is out of scope for a single hack week, let's remember that even the longest journey starts with a single footstep. I would like to try and rewrite the 5200 lines of code of dmidecode in such a way that printing the output would be somewhat separated from parsing the DMI table and done by a limited set of dedicated functions. Alternative output formats could later hook into such functions.

Updated about 4 years ago. 3 hacker ♥️. 1 follower.

make "predictable network interface names" more predictable

an idea by mkubecek

Since the so-called "predictable names" for network interfaces were introduced, the concept and mainly its implementation has been a target of a lot of critique and sometimes even hate. On the other hand, similar idea works reasonably well for block devices. In my opinion, the main reason why "predictable names" reception was not nearly as good as for block devices is the difference in how the implementation works. For block devices, the device name provided by kernel is preserved and other names based on multiple naming schemes (by path, by UUID, by various device identifiers) are created as symlinks so that all of them (including the original kernel one) can be used simultaneously. On the other hand, network interface has only one name and as it is not represented by a file, symlinks cannot be used for aliases. Therefore even if there are multiple naming schemes (e.g. based on BIOS enumeration, bus address etc.), only one of them can be used for each network device and it's rather unpredictable which one is it going to be. Moreover, some of the generated names are rather long, ugly and inconveninent and unlike with block devices, one cannot just ignore them and use a different name (e.g. one provided by kernel).

Updated about 4 years ago. 1 hackers ♥️. 2 followers. Has no hacker: grab it!

Phoebe - where AI meets Linux

a project by mvarlese

Project Description

Phoeβe (/ˈfiːbi/) wants to add basic artificial intelligence capabilities to the Linux OS.

Updated about 2 years ago. 8 hacker ♥️. 7 followers.