mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-07 18:20:22 +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.
This commit is contained in:
parent
6d95c406db
commit
c28dd78c05
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);
|
||||
|
|
|
|||
|
|
@ -6093,7 +6093,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 */
|
||||
|
|
|
|||
|
|
@ -889,6 +889,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;
|
||||
|
|
@ -899,7 +900,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