mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-26 10:00:07 +01:00
platform: use signed int for NMPlatformLnkBond.primary
On netlink API, the attribute is indeed u32. However, this is an ifindex
which 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.
(cherry picked from commit c28dd78c05)
This commit is contained in:
parent
2d4b96cb54
commit
89db629fe2
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);
|
||||
|
|
|
|||
|
|
@ -6096,7 +6096,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 */
|
||||
|
|
|
|||
|
|
@ -895,6 +895,7 @@ extern const NMPlatformLnkBridge nm_platform_lnk_bridge_default;
|
|||
#define NM_BOND_MAX_ARP_TARGETS 16
|
||||
|
||||
typedef struct {
|
||||
int primary;
|
||||
in_addr_t arp_ip_target[NM_BOND_MAX_ARP_TARGETS];
|
||||
guint32 arp_all_targets;
|
||||
guint32 arp_interval;
|
||||
|
|
@ -905,7 +906,6 @@ typedef struct {
|
|||
guint32 min_links;
|
||||
guint32 packets_per_port;
|
||||
guint32 peer_notif_delay;
|
||||
guint32 primary;
|
||||
guint32 resend_igmp;
|
||||
guint32 updelay;
|
||||
guint16 ad_actor_sys_prio;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue