ethrecv

ethrecv
Login

The ethrecv crate is designed to receive Ethernet packets at a high rate.

Capabilities on Linux

To avoid having to run applications as root when using with raw networking, the administrator can give the program specific privileges by set the program's capabilities using the setcap(8) command.

For the actual communication the cap_net_raw capability is needed. If the application needs to make interface changes (like set MTU) the cap_net_admin capability is needed. These can be set using the command:

$ sudo setcap cap_net_raw,cap_net_admin=eip <binfile>

systemd services can be assigned these capabilities by adding the following to the [Service] section.

AmbientCapabilities=CAP_NET_RAW CAP_NET_ADMIN

Feature labels in documentation

The crate's documentation uses automatically generated feature labels, which currently requires nightly featuers. To build the documentation locally use:

RUSTFLAGS="--cfg docsrs" RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc --all-features

Change log

The details of changes can always be found in the timeline, but for a high-level view of changes between released versions there's a manually maintained Change Log.