mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-16 14:08:12 +02:00
platform: use signed int for NMPlatformLnkBond.primary
On netlink API, the attribute is indeed u32. However, this is an ifindex wihch in most other kernel APIs and in NetworkManager code is a signed integer. Note that of course kernel would only ever assign numbers that are valid ifindexes, thus in the suitable range. Also, in _parse_lnk_bond() don't fallback to IFLA_BOND_ACTIVE_SLAVE. The active slave is not the same as the primary.
This commit is contained in:
parent
4fdd01309c
commit
4d1b41b83e
3 changed files with 4 additions and 4 deletions
|
|
@ -1590,7 +1590,7 @@ _parse_lnk_bond(const char *kind, struct nlattr *info_data)
|
|||
if (tb[IFLA_BOND_MODE])
|
||||
props->mode = nla_get_u8(tb[IFLA_BOND_MODE]);
|
||||
if (tb[IFLA_BOND_PRIMARY])
|
||||
props->primary = nla_get_u32(tb[IFLA_BOND_PRIMARY]);
|
||||
props->primary = NM_CLAMP((int) nla_get_u32(tb[IFLA_BOND_PRIMARY]), 0, G_MAXINT);
|
||||
if (tb[IFLA_BOND_MIIMON]) {
|
||||
props->miimon = nla_get_u32(tb[IFLA_BOND_MIIMON]);
|
||||
props->miimon_has = TRUE;
|
||||
|
|
@ -4536,7 +4536,7 @@ _nl_msg_new_link_set_linkinfo(struct nl_msg *msg, NMLinkType link_type, gconstpo
|
|||
NLA_PUT_U32(msg, IFLA_BOND_PACKETS_PER_SLAVE, props->packets_per_port);
|
||||
if (props->peer_notif_delay_has)
|
||||
NLA_PUT_U32(msg, IFLA_BOND_PEER_NOTIF_DELAY, props->peer_notif_delay);
|
||||
if (props->primary)
|
||||
if (props->primary > 0)
|
||||
NLA_PUT_U32(msg, IFLA_BOND_PRIMARY, props->primary);
|
||||
if (props->resend_igmp_has)
|
||||
NLA_PUT_U32(msg, IFLA_BOND_RESEND_IGMP, props->resend_igmp);
|
||||
|
|
|
|||
|
|
@ -6094,7 +6094,7 @@ nm_platform_lnk_bond_to_string(const NMPlatformLnkBond *lnk, char *buf, gsize le
|
|||
&len,
|
||||
"bond"
|
||||
" mode %u"
|
||||
" primary %u"
|
||||
" primary %d"
|
||||
"%s" /* miimon */
|
||||
"%s" /* updelay */
|
||||
"%s" /* downdelay */
|
||||
|
|
|
|||
|
|
@ -905,7 +905,7 @@ typedef struct {
|
|||
guint32 min_links;
|
||||
guint32 packets_per_port;
|
||||
guint32 peer_notif_delay;
|
||||
guint32 primary;
|
||||
int primary;
|
||||
guint32 resend_igmp;
|
||||
guint32 updelay;
|
||||
guint16 ad_actor_sys_prio;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue