From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 12D37A034F; Fri, 4 Feb 2022 15:47:13 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A39CF4013F; Fri, 4 Feb 2022 15:47:12 +0100 (CET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id 6385D40041 for ; Fri, 4 Feb 2022 15:47:10 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643986030; x=1675522030; h=message-id:date:to:cc:references:from:subject: in-reply-to:content-transfer-encoding:mime-version; bh=WCknowDYjDnb8mHRQkdAnH1MEuHarbzTNxj9ufQEykw=; b=kj1/NPRK1Lik653r/u9vfxc7fs8yZlOwh9CtcBxw/8Wu/xBxVLIrut0M /2yXs5IuhAHcRap1D/uAPFekEnNFRnOWiiBcu8k4KP83gs9PAf+cUuDE/ IK/gXHLvyozxhvmyJC2QmuQDJjeCSL/mrwJtJF9SiLYDJyh15cHhCRdCQ LKQw1gPVE0qr3ri6S3Er4wbN+0r6JSiTDPJTpFRKpCx4tP8gsP110VaAw IpHbtkmyDxfAmr07LN5uRolhwdApx4F7iXRzUEsnaz7pZFs2TLf92ZwQn gJK77HJFKI18JQDWkdnnusp3gV/hjrb5jv94Q2gRF8EeEX5cw+R8djxYW w==; X-IronPort-AV: E=McAfee;i="6200,9189,10247"; a="272878755" X-IronPort-AV: E=Sophos;i="5.88,343,1635231600"; d="scan'208";a="272878755" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Feb 2022 06:47:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,343,1635231600"; d="scan'208";a="627795094" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by fmsmga002.fm.intel.com with ESMTP; 04 Feb 2022 06:47:09 -0800 Received: from orsmsx606.amr.corp.intel.com (10.22.229.19) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Fri, 4 Feb 2022 06:47:08 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Fri, 4 Feb 2022 06:47:08 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.176) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Fri, 4 Feb 2022 06:47:07 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q1Qgt9V85JvbLQDhYYOv/OVvATKZ+esj944q9B/xm1x3oVzCuNq6A9kx5pSSVQEnzA8JP7b0l8pn3xX2AeeEFAds8bjfyaH6Hl08Gy4g6ngh4XKTPKsH4onZoD79SElfBhSbk0RqLx3CqsVWTbMPq4OmDITrB4qNTWWxY0fHWvB4+CV9Svo2n34egRgjLvAYu+czjyfQ46oWkXm51sjiWiTn5FYf2SnHGYnmMa8lsR//4PBvRQt4f8UebWYg5eNzrdDoOifIGDwm3u267DkPEzyo6+1HCTJ+gb69jHRom6UcstDyjh6YHRdwmhSAna1tnieoYS3jZ68sXWKT2udZOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2pKb4mci8hfDtfE4+XgBeq9//kdOpJ/ubdIKCFdFV50=; b=Upb/mT/sNsXTw74bsUUcMs9unfTUznJ+uhXumaWJUOJ3+HMkmLm/Ha9AMD7BpPLpEBwyyKkrFtmhdllVFJGj78PC2mEgvSkQsH7B0VOIKiSW93GFm+T3/Lp/nkzGaaiPGM0t1Qm3LT40Y+PhjuGOqZmg2WCMI5fTQDMPxmNx/8eEet93T/AqN9lNZk9gVCHXCX3IoPcI9yoei9N97vglWdlHAYKjN/rQsFs/XXQaKnOy82q3v4lS47TTsLPvoasGIg4pMun68dfQrEIYiFhoAo7z/HDdio3qDvfyu88/6Dufj22eNYZ4h+cNKdYr4Z8uK7nxJ5rcs//g024iMpuYZw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) by CY4PR1101MB2247.namprd11.prod.outlook.com (2603:10b6:910:19::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.11; Fri, 4 Feb 2022 14:47:05 +0000 Received: from PH0PR11MB5000.namprd11.prod.outlook.com ([fe80::5046:8550:928d:850e]) by PH0PR11MB5000.namprd11.prod.outlook.com ([fe80::5046:8550:928d:850e%7]) with mapi id 15.20.4951.012; Fri, 4 Feb 2022 14:47:05 +0000 Message-ID: Date: Fri, 4 Feb 2022 14:46:59 +0000 Content-Language: en-US To: Robert Sanford , CC: , , , "David Marchand" , Ray Kinsella References: <1639592401-56845-2-git-send-email-rsanford@akamai.com> <1640116650-3475-1-git-send-email-rsanford@akamai.com> <1640116650-3475-5-git-send-email-rsanford@akamai.com> From: Ferruh Yigit Subject: Re: [PATCH v2 4/8] net/bonding: support enabling LACP short timeout X-User: ferruhy In-Reply-To: <1640116650-3475-5-git-send-email-rsanford@akamai.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0424.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18b::15) To PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 97c0d43c-c8a7-46e4-17fe-08d9e7ed365c X-MS-TrafficTypeDiagnostic: CY4PR1101MB2247:EE_ X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: D9f4N/KQE2q6uNHGv90juJfbouA+UWsnuMWFzvDRcLYI9G1yL12B3csRqaf08339fl2hIw9g6viCn9WydWDuEpwvYRIVa+jRnu/2y2PFlB7Knh7RiyTRfrkxter83yNQA5MMdixQtJ2iAoq66qzjqMB/J3dpRp1MOWPE6Bf16KTHVarh1XnPcnfTYw3aONhvYUXoG97MweTZ4+VwRFxlsawVHJxqBoh7xJIER2LJza7UQCcKTx6RcLMhZm/YuRi7z3v0ZvRxnxLJR/xdqFMTVJBiNNK+AgndESqCks7flgeCtZkSyjLylaRPomvc9qXqbbL1VwQB4C6F9AN9S3wuq9+UPITdBjOtzFLTBvVTziWiBJMjMLm0ZmtNTUmi6N7jApRqL+bIeMW1X/ICxw4cXieWgqHp/0++E5trcxI2af/IX9ZiY8yfYehV0sIt7SQaG00nm3SXKfMcuet3o98teU2KUpYYKT3Tw7+5FA7oPDkttq3i3gEb6n3LwmeuZ+Gu+JaZ9fb+uMWTP5YslV6oI8Jx7Fp+ba3KEp9bWfCoAmui4jkQ1xEQvoyDw509d5E6MeVeU0jfaZRH8s3XUR8tn79IHQie7+uER4qUgoRjV+EaLCoWPeB9wOljBi+t/NFWx2Da6IQ4cDfp3OZnkhCMEminYuDdqi0hxoRFo2sTcQ1bsPXGLMAaTixOvL/LtmvasmGuUhsqgiMBjajPlQbo+g== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5000.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(53546011)(55236004)(5660300002)(83380400001)(6506007)(6666004)(2616005)(26005)(38100700002)(36756003)(44832011)(31686004)(186003)(82960400001)(66556008)(66946007)(6486002)(66476007)(4326008)(54906003)(8676002)(8936002)(6512007)(508600001)(2906002)(86362001)(31696002)(316002)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TVJYZmpHYUtPZzUrQitCaWhkdWVCeDhIR2ZacVkrYkNYOHJRczd0bzA1bjhV?= =?utf-8?B?a3Vsb3VobW9YYXVSY1NiZXVaNUw0MzU1dm1FRUYzU0phUzlic0xvYmVqRFly?= =?utf-8?B?c2t3YnhKWDdON0NjOFB4L1dYdjh5M053ZUtSLzkrbW1sSnhYTzlPa29jMmxm?= =?utf-8?B?TFM3dmlPbVJnaW1DQmNITDd4eUVIWlVyT3JuQnhDNm1wU1dXRUZuS3FMaHhC?= =?utf-8?B?SzFoeWdUMEN6aFpMdDV0K21EckdBVDYvRUdBQUxtSE1SSEwwUFd0Smd5dENT?= =?utf-8?B?OU9iSHdXZTYrdkliYTdvL3dSYktnUnptcmdwY3VobHYrUk9BbXI1bXNuem1l?= =?utf-8?B?ODhxdmYxdlRUbWhrc1dJZ1Vxd0ZNWWtHM0xCUlpzemNsOERRNUEwWGNUMkFZ?= =?utf-8?B?eUNsWVdGTkI2RjV6Z2E3bkR6dnpybEhSOXh2aUZ1bmlJdGFralJzQWQwL0lV?= =?utf-8?B?ZFI2L09Nc2dlWkNVM1dPQjFhM1ZtSXNZMGZQUlorKzdpcmhrMXRkdURVazBX?= =?utf-8?B?MU1rZkd0cDBaSzZhZFhEZllteWtSZ3dZWGFpY2d3cWJLNVhMZzdWZ3FVRDQz?= =?utf-8?B?R091cStRQUVqSEJhQUllSUZUSWFoN0t6bWdiRkhmZDMrZE5La3pTczRnVTNR?= =?utf-8?B?a2dwcENhZC82VDZFMFRjQUwwYWkyeTRmVmNqNWxwOUk5VXhDdTlwNzN5YzhE?= =?utf-8?B?SG9XNUNtNGlTUlNYaHdNNUVXRzFiZmtQSThSZnl1ckJLNXVua2FEZHlXTVl2?= =?utf-8?B?a0xLSVFqNWFLMzZpWHUyZUQ4S0FWa0lZQ2FGZm4xMlZOUVlReFRrWHJXTVRu?= =?utf-8?B?aExMcGJVV2RpWXg5YnJTY1V1UllWTlJRTVpVNjRoREY1eGFDT1ljM0VwZFNx?= =?utf-8?B?elB3TmZTNVJmT0lMT2lYLzl0cC9ENVd3VHlUUG8va2NtWFh0M2lMSEN6ZXpI?= =?utf-8?B?aVpzZXBNUWdZS2wzMlZaZEQ2TGVralRtSUc0eW1pejlaQkxKLzRjOFZZNUJm?= =?utf-8?B?Zk05QmNOakZqSGlOSGFmUTkrWGdEN1IwUXF6RWs0R1VnSlVZRklzTndzdlE5?= =?utf-8?B?RUtnd1pJMS9zYmNCREdrMEYzdG9vcUt0a05WRDBBaklZMk1wYWx1NDg5MnNh?= =?utf-8?B?aHBCa242cTBnYWhuUS9BSTdpV2szSnFneGxXSmlyc1FQZndkZHlabmwzSWV6?= =?utf-8?B?TnhJZ1h6bjBHT1U1a1NNL1paSVBtb08vQ2F2K3VNZ2k1WG5EN3dTNDN6S3ZZ?= =?utf-8?B?ZWFRN01EYlZXZWJSWG16RnQwUFdaYXNzbSt3NldnbGh3dmY1akQ4SlNHYzlr?= =?utf-8?B?akhnUFVMczFKMnVoOEtpVGJ2WXJvL2drMCtJYWhiYTZCVFlsNWU4a1FYZUtG?= =?utf-8?B?Wnlxbk9pWUdlNjRDa2dyYVV3OWFNT3Y4U3FLUGZHQWUySHZYR0J1UzFrMUFm?= =?utf-8?B?MUMrcGRtL240TGxaYUdieVNFYUtUc0IrS2lDcWRRUVJ0MGQydnVpeEJIUlBY?= =?utf-8?B?Si96c1Y1RFhXYkRGR1RDSE5vODNTMEk4VUJwUzUvQmJ0eHdIUkVQSnNMM1JO?= =?utf-8?B?SHpCQTFENU41QXRrbjNISjdGdSs4NndXbHpibUlnUm8vUzhRWE1kNWIrMXYr?= =?utf-8?B?NUJEcmY2RWxDRXkvaVdiTUx1Qks5M29hdS9mUDVnZ0lHMndtT1VTd3ZaQ2pL?= =?utf-8?B?cHJSb3MxZWl5QS92YUcyWXpCQkpHZHhOODJOeWV5MzN6Tzk0Sk5LYWwvTnBm?= =?utf-8?B?VHJ6MThJbkhMMHRvNTAxRVVoTnlEdmN2N1VkMmwyRE40NkNDeFE4c09uSmNr?= =?utf-8?B?YmlmWURDTEs4ZGFrZ3hYMW96bmJLcmR5ZUY4di9mRStNY0xaeC82MzExekVy?= =?utf-8?B?Ym85UEZWWEVFeDFnbmFqeVpXa3VsSEl4eGJOQWpLVkNWdHdjUGFQdkVuS2d6?= =?utf-8?B?enlQNFFZdzJMbEZCUnM3RVR6N3ZnTGtLdkJ3a2dja0pkbzloYTZZeERZR0g1?= =?utf-8?B?Zlg0T2NOOGVaUDZuSW5jS3lPbEc0VW1ha0QxQWF5anBKdUdqSk8wMndJRXhR?= =?utf-8?B?Rk1JZC9SSDBVYjZ2M2lqQWxvdGZIR2ZkUk9wb0RMdFZTeU94R3pSaDNjZ3lh?= =?utf-8?B?eHQ4aWJqc05HQVdWZDgvYXJ5aHpPTEtmL1dtNXVYd1dKSEtuQnJzNnJkVENH?= =?utf-8?Q?UWNl5jS7uRAWc5Jy0krVZrU=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 97c0d43c-c8a7-46e4-17fe-08d9e7ed365c X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5000.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2022 14:47:05.7249 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: CcahhWlTiLg6glNKnqZh1/L2pWMHbD+Y+2MQzZWlkFzSoKTGBWXKn9RjzD+iV5lTMb4lOeLrGFwRl6VxnRnung== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1101MB2247 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On 12/21/2021 7:57 PM, Robert Sanford wrote: > - Add support for enabling LACP short timeout, i.e., link partner can > use fast periodic time interval between transmits. > > Signed-off-by: Robert Sanford > --- > drivers/net/bonding/eth_bond_8023ad_private.h | 3 ++- > drivers/net/bonding/rte_eth_bond_8023ad.c | 28 +++++++++++++++++++++++---- > drivers/net/bonding/rte_eth_bond_8023ad.h | 3 +++ > 3 files changed, 29 insertions(+), 5 deletions(-) > > diff --git a/drivers/net/bonding/eth_bond_8023ad_private.h b/drivers/net/bonding/eth_bond_8023ad_private.h > index 60db31e..bfde03c 100644 > --- a/drivers/net/bonding/eth_bond_8023ad_private.h > +++ b/drivers/net/bonding/eth_bond_8023ad_private.h > @@ -159,7 +159,6 @@ struct mode8023ad_private { > uint64_t rx_marker_timeout; > uint64_t update_timeout_us; > rte_eth_bond_8023ad_ext_slowrx_fn slowrx_cb; > - uint8_t external_sm; > struct rte_ether_addr mac_addr; > > struct rte_eth_link slave_link; > @@ -178,6 +177,8 @@ struct mode8023ad_private { > uint16_t tx_qid; > } dedicated_queues; > enum rte_bond_8023ad_agg_selection agg_selection; > + uint8_t short_timeout_enabled : 1; > + uint8_t short_timeout_updated : 1; > }; > > /** > diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c > index 9ed2a46..5c175e7 100644 > --- a/drivers/net/bonding/rte_eth_bond_8023ad.c > +++ b/drivers/net/bonding/rte_eth_bond_8023ad.c > @@ -868,10 +868,10 @@ bond_mode_8023ad_periodic_cb(void *arg) > struct rte_eth_link link_info; > struct rte_ether_addr slave_addr; > struct rte_mbuf *lacp_pkt = NULL; > + uint8_t short_timeout_updated = internals->mode4.short_timeout_updated; > uint16_t slave_id; > uint16_t i; > > - > /* Update link status on each port */ > for (i = 0; i < internals->active_slave_count; i++) { > uint16_t key; > @@ -916,6 +916,13 @@ bond_mode_8023ad_periodic_cb(void *arg) > slave_id = internals->active_slaves[i]; > port = &bond_mode_8023ad_ports[slave_id]; > > + if (short_timeout_updated) { > + if (internals->mode4.short_timeout_enabled) > + ACTOR_STATE_SET(port, LACP_SHORT_TIMEOUT); > + else > + ACTOR_STATE_CLR(port, LACP_SHORT_TIMEOUT); > + } > + > if ((port->actor.key & > rte_cpu_to_be_16(BOND_LINK_FULL_DUPLEX_KEY)) == 0) { > > @@ -960,6 +967,9 @@ bond_mode_8023ad_periodic_cb(void *arg) > show_warnings(slave_id); > } > > + if (short_timeout_updated) > + internals->mode4.short_timeout_updated = 0; > + > rte_eal_alarm_set(internals->mode4.update_timeout_us, > bond_mode_8023ad_periodic_cb, arg); > } > @@ -1054,7 +1064,6 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev *bond_dev, > /* Given slave must not be in active list. */ > RTE_ASSERT(find_slave_by_id(internals->active_slaves, > internals->active_slave_count, slave_id) == internals->active_slave_count); > - RTE_SET_USED(internals); /* used only for assert when enabled */ > > memcpy(&port->actor, &initial, sizeof(struct port_params)); > /* Standard requires that port ID must be greater than 0. > @@ -1065,7 +1074,9 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev *bond_dev, > memcpy(&port->partner_admin, &initial, sizeof(struct port_params)); > > /* default states */ > - port->actor_state = STATE_AGGREGATION | STATE_LACP_ACTIVE | STATE_DEFAULTED; > + port->actor_state = STATE_AGGREGATION | STATE_LACP_ACTIVE | > + STATE_DEFAULTED | (internals->mode4.short_timeout_enabled ? > + STATE_LACP_SHORT_TIMEOUT : 0); > port->partner_state = STATE_LACP_ACTIVE | STATE_AGGREGATION; > port->sm_flags = SM_FLAGS_BEGIN; > > @@ -1209,6 +1220,7 @@ bond_mode_8023ad_conf_get(struct rte_eth_dev *dev, > struct mode8023ad_private *mode4 = &internals->mode4; > uint64_t ms_ticks = rte_get_tsc_hz() / 1000; > > + memset(conf, 0, sizeof(*conf)); > conf->fast_periodic_ms = mode4->fast_periodic_timeout / ms_ticks; > conf->slow_periodic_ms = mode4->slow_periodic_timeout / ms_ticks; > conf->short_timeout_ms = mode4->short_timeout / ms_ticks; > @@ -1219,6 +1231,7 @@ bond_mode_8023ad_conf_get(struct rte_eth_dev *dev, > conf->rx_marker_period_ms = mode4->rx_marker_timeout / ms_ticks; > conf->slowrx_cb = mode4->slowrx_cb; > conf->agg_selection = mode4->agg_selection; > + conf->lacp_timeout_control = mode4->short_timeout_enabled; > } > > static void > @@ -1234,6 +1247,7 @@ bond_mode_8023ad_conf_get_default(struct rte_eth_bond_8023ad_conf *conf) > conf->update_timeout_ms = BOND_MODE_8023AX_UPDATE_TIMEOUT_MS; > conf->slowrx_cb = NULL; > conf->agg_selection = AGG_STABLE; > + conf->lacp_timeout_control = 0; > } > > static void > @@ -1274,6 +1288,11 @@ bond_mode_8023ad_setup(struct rte_eth_dev *dev, > mode4->slowrx_cb = conf->slowrx_cb; > mode4->agg_selection = AGG_STABLE; > > + if (mode4->short_timeout_enabled != conf->lacp_timeout_control) { > + mode4->short_timeout_enabled = conf->lacp_timeout_control; > + mode4->short_timeout_updated = 1; > + } > + > if (dev->data->dev_started) > bond_mode_8023ad_start(dev); > } > @@ -1478,7 +1497,8 @@ bond_8023ad_setup_validate(uint16_t port_id, > conf->aggregate_wait_timeout_ms == 0 || > conf->tx_period_ms == 0 || > conf->rx_marker_period_ms == 0 || > - conf->update_timeout_ms == 0) { > + conf->update_timeout_ms == 0 || > + conf->lacp_timeout_control > 1) { > RTE_BOND_LOG(ERR, "given mode 4 configuration is invalid"); > return -EINVAL; > } > diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.h b/drivers/net/bonding/rte_eth_bond_8023ad.h > index 7e9a018..87f6b2f 100644 > --- a/drivers/net/bonding/rte_eth_bond_8023ad.h > +++ b/drivers/net/bonding/rte_eth_bond_8023ad.h > @@ -139,6 +139,9 @@ struct rte_eth_bond_8023ad_conf { > uint32_t update_timeout_ms; > rte_eth_bond_8023ad_ext_slowrx_fn slowrx_cb; > enum rte_bond_8023ad_agg_selection agg_selection; > + uint8_t lacp_timeout_control; > + /**< LACPDU.Actor_State.LACP_Timeout flag: 0=Long 1=Short. */ > + uint8_t reserved_8s[3]; > }; > > struct rte_eth_bond_8023ad_slave_info { The changes gives ABI warning [1], it increases size of struct that is parameter to the public API. So old applications will send a smaller struct, but new DPDK library will check beyond the size of the struct, most probably some unrelated memory in the stack, this looks an ABI break to me. @Ray can you please check if I am missing anything? [1] [C] 'function int rte_eth_bond_8023ad_conf_get(uint16_t, rte_eth_bond_8023ad_conf*)' at rte_eth_bond_8023ad.c:1423:1 has some indirect sub-type changes: parameter 2 of type 'rte_eth_bond_8023ad_conf*' has sub-type changes: in pointed to type 'struct rte_eth_bond_8023ad_conf' at rte_eth_bond_8023ad.h:131:1: Error: ABI issue reported for 'abidiff --suppr devtools/libabigail.abignore --no-added-syms --headers-dir1 reference/usr/local/include --headers-dir2 install/usr/local/include reference/dump/librte_net_bond.dump install/dump/librte_net_bond.dump' ABIDIFF_ABI_CHANGE, this change requires a review (abidiff flagged this as a potential issue). type size hasn't changed 2 data member insertions: 'uint8_t rte_eth_bond_8023ad_conf::lacp_timeout_control', at offset 352 (in bits) at rte_eth_bond_8023ad.h:142:1 'uint8_t rte_eth_bond_8023ad_conf::reserved_8s[3]', at offset 360 (in bits) at rte_eth_bond_8023ad.h:144:1