Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Routing Sockets #95

Open
Andy-Python-Programmer opened this issue Mar 4, 2023 · 2 comments
Open

Routing Sockets #95

Andy-Python-Programmer opened this issue Mar 4, 2023 · 2 comments
Labels
C-kernel Category: kernel RFC Request For Comments

Comments

@Andy-Python-Programmer
Copy link
Owner

Andy-Python-Programmer commented Mar 4, 2023

Routing sockets are used for the kernel's routing tables to be read and altered (BSD). On the other hand, Netlink is a socket family used for inter-process communication (IPC) between both the kernel and userspace processes, and between different userspace processes. They also provide the functionality to alter the kernel's routing tables; initially designed to be a successor to the ioctl approach.

TL;DR: Routing sockets are specifically made for altering routing tables where as Netlink sockets serves different purposes.

Unresolved Questions

Which one of the API's would be better to implement? Could we improve the existing approach, if so, how?

Sources

@Andy-Python-Programmer Andy-Python-Programmer added C-kernel Category: kernel RFC Request For Comments labels Mar 4, 2023
@alimkoca
Copy link

alimkoca commented Mar 4, 2023

Netlink sockets would be better to implement, I think it serves more functionality to us. But developer team can modify the features of netlink to provide proper implementation for Aero.

@cleanbaja
Copy link

cleanbaja commented Mar 5, 2023

+1 for netlink sockets too partly because I'm not familiar with how BSD routing works (I am only aware about netlink), and because netlink sockets serve extra functionality besides. Besides, FreeBSD seems to support them to, which further highlights their functionality

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-kernel Category: kernel RFC Request For Comments
Projects
None yet
Development

No branches or pull requests

3 participants