mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-18 07:10:27 +01:00
In kernel, the valid range for the weight is 1-256 (on netlink this is
expressed as u8 in rtnh_hops, ranging 0-255).
We need an additional value, to represent
- unset weight, for non-ECMP routes in kernel.
- in libnm API, to express routes that should not be merged as ECMP
routes (the default).
Extend the type in NMPlatformIP4Route.weight to u16, and fix the code
for the special handling of the numeric range.
Also the libnm API needs to change. Modify the type of the attribute on
D-Bus from "b" to "u", to use a 32 bit integer. We use 32 bit, because
we already have common code to handle 32 bit unsigned integers, despite
only requiring 257 values. It seems better to stick to a few data types
(u32) instead of introducing more, only because the range is limited.
Co-Authored-By: Fernando Fernandez Mancera <ffmancera@riseup.net>
Fixes:
|
||
|---|---|---|
| .. | ||
| plugins | ||
| nm-agent-manager.c | ||
| nm-agent-manager.h | ||
| nm-secret-agent.c | ||
| nm-secret-agent.h | ||
| nm-settings-connection.c | ||
| nm-settings-connection.h | ||
| nm-settings-plugin.c | ||
| nm-settings-plugin.h | ||
| nm-settings-storage.c | ||
| nm-settings-storage.h | ||
| nm-settings-utils.c | ||
| nm-settings-utils.h | ||
| nm-settings.c | ||
| nm-settings.h | ||