lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4f3dc357-8c90-49fd-96ea-bc28932ea509@gmail.com>
Date: Thu, 25 Jan 2024 11:08:54 -0700
From: David Ahern <dsahern@...il.com>
To: Aahil Awatramani <aahila@...gle.com>, Mahesh Bandewar
 <maheshb@...gle.com>, David Dillow <dillow@...gle.com>,
 Jay Vosburgh <j.vosburgh@...il.com>, Hangbin Liu <liuhangbin@...il.com>,
 netdev@...r.kernel.org
Subject: Re: [PATCH] ip/bond: add coupled_control support

On 1/24/24 5:38 PM, Aahil Awatramani wrote:
> diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h
> index d17271fb..ff4ceeaf 100644
> --- a/include/uapi/linux/if_link.h
> +++ b/include/uapi/linux/if_link.h
> @@ -1503,6 +1503,7 @@ enum {
>  	IFLA_BOND_AD_LACP_ACTIVE,
>  	IFLA_BOND_MISSED_MAX,
>  	IFLA_BOND_NS_IP6_TARGET,
> +	IFLA_BOND_COUPLED_CONTROL,
>  	__IFLA_BOND_MAX,
>  };
>  

at best uapi changes should be a separate patch which gets dropped when
we sync headers with the kernel.

> diff --git a/ip/iplink_bond.c b/ip/iplink_bond.c
> index 214244da..68bc157a 100644
> --- a/ip/iplink_bond.c
> +++ b/ip/iplink_bond.c
> @@ -176,7 +184,7 @@ static int bond_parse_opt(struct link_util *lu, int argc, char **argv,
>  {
>  	__u8 mode, use_carrier, primary_reselect, fail_over_mac;
>  	__u8 xmit_hash_policy, num_peer_notif, all_slaves_active;
> -	__u8 lacp_active, lacp_rate, ad_select, tlb_dynamic_lb;
> +	__u8 lacp_active, lacp_rate, ad_select, tlb_dynamic_lb, coupled_control;
>  	__u16 ad_user_port_key, ad_actor_sys_prio;
>  	__u32 miimon, updelay, downdelay, peer_notify_delay, arp_interval, arp_validate;
>  	__u32 arp_all_targets, resend_igmp, min_links, lp_interval;
> @@ -367,6 +375,13 @@ static int bond_parse_opt(struct link_util *lu, int argc, char **argv,
>  
>  			lacp_active = get_index(lacp_active_tbl, *argv);
>  			addattr8(n, 1024, IFLA_BOND_AD_LACP_ACTIVE, lacp_active);
> +		} else if (strcmp(*argv, "coupled_control") == 0) {
> +			NEXT_ARG();
> +			if (get_index(coupled_control_tbl, *argv) < 0)
> +				invarg("invalid coupled_control", *argv);
> +
> +			coupled_control = get_index(coupled_control_tbl, *argv);

parse_on_off

> +			addattr8(n, 1024, IFLA_BOND_COUPLED_CONTROL, coupled_control);
>  		} else if (matches(*argv, "ad_select") == 0) {
>  			NEXT_ARG();
>  			if (get_index(ad_select_tbl, *argv) < 0)
> @@ -659,6 +674,15 @@ static void bond_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
>  			     lacp_rate);
>  	}
>  
> +	if (tb[IFLA_BOND_COUPLED_CONTROL]) {
> +		const char *coupled_control = get_name(coupled_control_tbl,
> +						   rta_getattr_u8(tb[IFLA_BOND_COUPLED_CONTROL]));
> +		print_string(PRINT_ANY,
> +			     "coupled_control",
> +			     "coupled_control %s ",
> +			     coupled_control);

print_on_off

> +	}
> +
>  	if (tb[IFLA_BOND_AD_SELECT]) {
>  		const char *ad_select = get_name(ad_select_tbl,
>  						 rta_getattr_u8(tb[IFLA_BOND_AD_SELECT]));

pw-bot: cr

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ