From patchwork Wed Dec 15 18:19:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Sanford X-Patchwork-Id: 105147 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 691DDA00C3; Wed, 15 Dec 2021 19:20:33 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6A2CE41143; Wed, 15 Dec 2021 19:20:27 +0100 (CET) Received: from mail-qk1-f177.google.com (mail-qk1-f177.google.com [209.85.222.177]) by mails.dpdk.org (Postfix) with ESMTP id 2AE1340041 for ; Wed, 15 Dec 2021 19:20:26 +0100 (CET) Received: by mail-qk1-f177.google.com with SMTP id t6so20957205qkg.1 for ; Wed, 15 Dec 2021 10:20:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=xYSs9ULqYBCDoNIEvcCwDKXsXeMVHVUbtkfl+YY9mjk=; b=XE4tjn7iNVTmh8cuXgMV5+MkE88ZGlTO98S/RwLCQfPEu+XP8GDLC5MXE0k12N8BLv Xv5OrcHuF5r44s2u3uZztEAoZmd7nZCMDW5ivHCEAW42cvlDtfWmHpSaSLwhKoAiqE0Z fnq5rpx14fR/lrvs/tRFt7FNMX1rlYMGj3iYFLCCaJQWpzqoQpOUG1oUaa0TBXEBrqDO OfyFQs5MDgbtzhJU4YI+gmz/LK0UIpa34eI3bNTPduGYOx4Q4YWB00cNHQD4MtzryD75 xn2uIaMVEGKmGjcTnnsCWGwhCj5b/As8Rvm6IcQMnCfhKqYcqHphLwQ+2LRlc81kbrQ6 KJWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=xYSs9ULqYBCDoNIEvcCwDKXsXeMVHVUbtkfl+YY9mjk=; b=uw5hNgPyW+a4eycW7eg9rrk9iNkuZEd/I5HUWFDkqSlc/tpPjfeAGwFmJRlPuRRwZN NgGU+jPUefVmooibR9YvcCVh6f0Gi3GrcCNjdlyPCE+Kp5n9hXRanXxc/5EYO1rPB8mb /hj6asGrC8TZRcwRFbbQDOVN/UdklE13lMF+PpdOBuuR6mBArX4IR7U4PGvNUfbAGzhm /z4F3gDp3HH88X3WhvrB0rhcscA0RZ+oCSXBPUEOnXb3bj/RTWewfGaRrrfXzA4sJZ/T Hsr3GfH99rqxBGvhjWC8nEJN97pASuNx070wEqt7qLR0brkLAUTQ5qeV2sfFrWC28vvS EAQg== X-Gm-Message-State: AOAM5318imFVK/BwlxFjiDF+AYeJBh4u+aAjQVA2He5C02xhP8H3SQ3T t1DAvWPxQ+hPwkGxS7BOlv0wxrH/Vso= X-Google-Smtp-Source: ABdhPJxkfmMkEAEwWNz1orkqm/ZGOk0182TfJuALwyPGrYBpTkRfH+D47rA3SkyDOns4aluUa9gS8w== X-Received: by 2002:a05:620a:4251:: with SMTP id w17mr9807586qko.550.1639592425154; Wed, 15 Dec 2021 10:20:25 -0800 (PST) Received: from ubuntu.localdomain (99-153-167-175.lightspeed.ftldfl.sbcglobal.net. [99.153.167.175]) by smtp.gmail.com with ESMTPSA id 8sm2075978qtz.28.2021.12.15.10.20.24 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 Dec 2021 10:20:24 -0800 (PST) From: Robert Sanford X-Google-Original-From: Robert Sanford To: dev@dpdk.org Cc: chas3@att.com, humin29@huawei.com Subject: [PATCH 1/7] net/bonding: fix typos and whitespace Date: Wed, 15 Dec 2021 13:19:55 -0500 Message-Id: <1639592401-56845-2-git-send-email-rsanford@akamai.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1639592401-56845-1-git-send-email-rsanford@akamai.com> References: <1639592401-56845-1-git-send-email-rsanford@akamai.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 - Clean up minor typos in comments, strings, and private names. - Fix whitespace in log messages and function formatting (open brace after a new line). - Move closing C++ wrapper to the end of rte_eth_bond_8023ad.h. Signed-off-by: Robert Sanford --- app/test-pmd/cmdline.c | 4 ++-- app/test/test_link_bonding_mode4.c | 28 +++++++++++++-------------- drivers/net/bonding/eth_bond_8023ad_private.h | 10 +++++----- drivers/net/bonding/rte_eth_bond_8023ad.c | 22 ++++++++++----------- drivers/net/bonding/rte_eth_bond_8023ad.h | 15 +++++++------- drivers/net/bonding/rte_eth_bond_pmd.c | 13 ++++++++----- 6 files changed, 48 insertions(+), 44 deletions(-) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index 6e10afe..9fd2c2a 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -630,8 +630,8 @@ static void cmd_help_long_parsed(void *parsed_result, "set bonding mac_addr (port_id) (address)\n" " Set the MAC address of a bonded device.\n\n" - "set bonding mode IEEE802.3AD aggregator policy (port_id) (agg_name)" - " Set Aggregation mode for IEEE802.3AD (mode 4)" + "set bonding mode IEEE802.3AD aggregator policy (port_id) (agg_name)\n" + " Set Aggregation mode for IEEE802.3AD (mode 4)\n\n" "set bonding balance_xmit_policy (port_id) (l2|l23|l34)\n" " Set the transmit balance policy for bonded device running in balance mode.\n\n" diff --git a/app/test/test_link_bonding_mode4.c b/app/test/test_link_bonding_mode4.c index 351129d..2be86d5 100644 --- a/app/test/test_link_bonding_mode4.c +++ b/app/test/test_link_bonding_mode4.c @@ -58,11 +58,11 @@ static const struct rte_ether_addr slave_mac_default = { { 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00 } }; -static const struct rte_ether_addr parnter_mac_default = { +static const struct rte_ether_addr partner_mac_default = { { 0x22, 0xBB, 0xFF, 0xBB, 0x00, 0x00 } }; -static const struct rte_ether_addr parnter_system = { +static const struct rte_ether_addr partner_system = { { 0x33, 0xFF, 0xBB, 0xFF, 0x00, 0x00 } }; @@ -76,7 +76,7 @@ struct slave_conf { uint16_t port_id; uint8_t bonded : 1; - uint8_t lacp_parnter_state; + uint8_t lacp_partner_state; }; struct ether_vlan_hdr { @@ -258,7 +258,7 @@ add_slave(struct slave_conf *slave, uint8_t start) TEST_ASSERT_EQUAL(rte_is_same_ether_addr(&addr, &addr_check), 1, "Slave MAC address is not as expected"); - RTE_VERIFY(slave->lacp_parnter_state == 0); + RTE_VERIFY(slave->lacp_partner_state == 0); return 0; } @@ -288,7 +288,7 @@ remove_slave(struct slave_conf *slave) test_params.bonded_port_id); slave->bonded = 0; - slave->lacp_parnter_state = 0; + slave->lacp_partner_state = 0; return 0; } @@ -501,20 +501,20 @@ make_lacp_reply(struct slave_conf *slave, struct rte_mbuf *pkt) slow_hdr = rte_pktmbuf_mtod(pkt, struct slow_protocol_frame *); /* Change source address to partner address */ - rte_ether_addr_copy(&parnter_mac_default, &slow_hdr->eth_hdr.src_addr); + rte_ether_addr_copy(&partner_mac_default, &slow_hdr->eth_hdr.src_addr); slow_hdr->eth_hdr.src_addr.addr_bytes[RTE_ETHER_ADDR_LEN - 1] = slave->port_id; lacp = (struct lacpdu *) &slow_hdr->slow_protocol; /* Save last received state */ - slave->lacp_parnter_state = lacp->actor.state; + slave->lacp_partner_state = lacp->actor.state; /* Change it into LACP replay by matching parameters. */ memcpy(&lacp->partner.port_params, &lacp->actor.port_params, sizeof(struct port_params)); lacp->partner.state = lacp->actor.state; - rte_ether_addr_copy(&parnter_system, &lacp->actor.port_params.system); + rte_ether_addr_copy(&partner_system, &lacp->actor.port_params.system); lacp->actor.state = STATE_LACP_ACTIVE | STATE_SYNCHRONIZATION | STATE_AGGREGATION | @@ -580,7 +580,7 @@ bond_handshake_done(struct slave_conf *slave) const uint8_t expected_state = STATE_LACP_ACTIVE | STATE_SYNCHRONIZATION | STATE_AGGREGATION | STATE_COLLECTING | STATE_DISTRIBUTING; - return slave->lacp_parnter_state == expected_state; + return slave->lacp_partner_state == expected_state; } static unsigned @@ -1165,7 +1165,7 @@ init_marker(struct rte_mbuf *pkt, struct slave_conf *slave) &marker_hdr->eth_hdr.dst_addr); /* Init source address */ - rte_ether_addr_copy(&parnter_mac_default, + rte_ether_addr_copy(&partner_mac_default, &marker_hdr->eth_hdr.src_addr); marker_hdr->eth_hdr.src_addr.addr_bytes[RTE_ETHER_ADDR_LEN - 1] = slave->port_id; @@ -1353,7 +1353,7 @@ test_mode4_expired(void) /* After test only expected slave should be in EXPIRED state */ FOR_EACH_SLAVE(i, slave) { if (slave == exp_slave) - TEST_ASSERT(slave->lacp_parnter_state & STATE_EXPIRED, + TEST_ASSERT(slave->lacp_partner_state & STATE_EXPIRED, "Slave %u should be in expired.", slave->port_id); else TEST_ASSERT_EQUAL(bond_handshake_done(slave), 1, @@ -1392,7 +1392,7 @@ test_mode4_ext_ctrl(void) }, }; - rte_ether_addr_copy(&parnter_system, &src_mac); + rte_ether_addr_copy(&partner_system, &src_mac); rte_ether_addr_copy(&slow_protocol_mac_addr, &dst_mac); initialize_eth_header(&lacpdu.eth_hdr, &src_mac, &dst_mac, @@ -1446,7 +1446,7 @@ test_mode4_ext_lacp(void) }, }; - rte_ether_addr_copy(&parnter_system, &src_mac); + rte_ether_addr_copy(&partner_system, &src_mac); rte_ether_addr_copy(&slow_protocol_mac_addr, &dst_mac); initialize_eth_header(&lacpdu.eth_hdr, &src_mac, &dst_mac, @@ -1535,7 +1535,7 @@ check_environment(void) if (port->bonded != 0) env_state |= 0x04; - if (port->lacp_parnter_state != 0) + if (port->lacp_partner_state != 0) env_state |= 0x08; if (env_state != 0) diff --git a/drivers/net/bonding/eth_bond_8023ad_private.h b/drivers/net/bonding/eth_bond_8023ad_private.h index 9b5738a..e415f2f 100644 --- a/drivers/net/bonding/eth_bond_8023ad_private.h +++ b/drivers/net/bonding/eth_bond_8023ad_private.h @@ -20,7 +20,7 @@ /** Maximum number of LACP packets from one slave queued in TX ring. */ #define BOND_MODE_8023AX_SLAVE_TX_PKTS 1 /** - * Timeouts deffinitions (5.4.4 in 802.1AX documentation). + * Timeouts definitions (6.4.4 in 802.1AX documentation). */ #define BOND_8023AD_FAST_PERIODIC_MS 900 #define BOND_8023AD_SLOW_PERIODIC_MS 29000 @@ -34,7 +34,7 @@ /** * Interval of showing warning message from state machines. All messages will * be held (and gathered together) to prevent flooding. - * This is no parto of 802.1AX standard. + * This is not part of 802.1AX standard. */ #define BOND_8023AD_WARNINGS_PERIOD_MS 1000 @@ -83,7 +83,7 @@ #define PARTNER_STATE_SET(_p, _f) SET_FLAGS((_p)->partner_state, STATE_ ## _f) #define PARTNER_STATE_CLR(_p, _f) CLEAR_FLAGS((_p)->partner_state, STATE_ ## _f) -/** Variables associated with each port (5.4.7 in 802.1AX documentation). */ +/** Variables associated with each port (6.4.7 in 802.1AX documentation). */ struct port { /** * The operational values of the Actor's state parameters. Bitmask @@ -124,7 +124,7 @@ struct port { uint64_t wait_while_timer; uint64_t tx_machine_timer; uint64_t tx_marker_timer; - /* Agregator parameters */ + /* Aggregator parameters */ /** Used aggregator port ID */ uint16_t aggregator_port_id; @@ -280,7 +280,7 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev *dev, uint16_t port_id); /** * @internal * - * Denitializes and removes given slave from 802.1AX mode. + * Deinitializes and removes given slave from 802.1AX mode. * * @param dev Bonded interface. * @param slave_num Position of slave in active_slaves array diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c index ca50583..43231bc 100644 --- a/drivers/net/bonding/rte_eth_bond_8023ad.c +++ b/drivers/net/bonding/rte_eth_bond_8023ad.c @@ -207,15 +207,15 @@ show_warnings(uint16_t slave_id) if (warnings & WRN_RX_QUEUE_FULL) { RTE_BOND_LOG(DEBUG, "Slave %u: failed to enqueue LACP packet into RX ring.\n" - "Receive and transmit functions must be invoked on bonded" - "interface at least 10 times per second or LACP will notwork correctly", + "Receive and transmit functions must be invoked on bonded\n" + "interface at least 10 times per second or LACP will not work correctly", slave_id); } if (warnings & WRN_TX_QUEUE_FULL) { RTE_BOND_LOG(DEBUG, "Slave %u: failed to enqueue LACP packet into TX ring.\n" - "Receive and transmit functions must be invoked on bonded" + "Receive and transmit functions must be invoked on bonded\n" "interface at least 10 times per second or LACP will not work correctly", slave_id); } @@ -250,7 +250,7 @@ record_default(struct port *port) /** Function handles rx state machine. * - * This function implements Receive State Machine from point 5.4.12 in + * This function implements Receive State Machine from point 6.4.12 in * 802.1AX documentation. It should be called periodically. * * @param lacpdu LACPDU received. @@ -384,7 +384,7 @@ rx_machine(struct bond_dev_private *internals, uint16_t slave_id, /** * Function handles periodic tx state machine. * - * Function implements Periodic Transmission state machine from point 5.4.13 + * Function implements Periodic Transmission state machine from point 6.4.13 * in 802.1AX documentation. It should be called periodically. * * @param port Port to handle state machine. @@ -446,7 +446,7 @@ periodic_machine(struct bond_dev_private *internals, uint16_t slave_id) /** * Function handles mux state machine. * - * Function implements Mux Machine from point 5.4.15 in 802.1AX documentation. + * Function implements Mux Machine from point 6.4.15 in 802.1AX documentation. * It should be called periodically. * * @param port Port to handle state machine. @@ -549,7 +549,7 @@ mux_machine(struct bond_dev_private *internals, uint16_t slave_id) /** * Function handles transmit state machine. * - * Function implements Transmit Machine from point 5.4.16 in 802.1AX + * Function implements Transmit Machine from point 6.4.16 in 802.1AX * documentation. * * @param port @@ -1051,14 +1051,14 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev *bond_dev, struct bond_tx_queue *bd_tx_q; uint16_t q_id; - /* Given slave mus not be in active list */ + /* 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 grater than 0. - * Add 1 do get corresponding port_number */ + /* Standard requires that port ID must be greater than 0. + * Add 1 to get corresponding port_number. */ port->actor.port_number = rte_cpu_to_be_16(slave_id + 1); memcpy(&port->partner, &initial, sizeof(struct port_params)); @@ -1069,7 +1069,7 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev *bond_dev, port->partner_state = STATE_LACP_ACTIVE | STATE_AGGREGATION; port->sm_flags = SM_FLAGS_BEGIN; - /* use this port as agregator */ + /* Use this port as aggregator. */ port->aggregator_port_id = slave_id; if (bond_mode_8023ad_register_lacp_mac(slave_id) < 0) { diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.h b/drivers/net/bonding/rte_eth_bond_8023ad.h index 11a71a5..7e9a018 100644 --- a/drivers/net/bonding/rte_eth_bond_8023ad.h +++ b/drivers/net/bonding/rte_eth_bond_8023ad.h @@ -68,7 +68,7 @@ struct port_params { struct rte_ether_addr system; /**< System ID - Slave MAC address, same as bonding MAC address */ uint16_t key; - /**< Speed information (implementation dependednt) and duplex. */ + /**< Speed information (implementation dependent) and duplex. */ uint16_t port_priority; /**< Priority of this (unused in current implementation) */ uint16_t port_number; @@ -83,7 +83,7 @@ struct lacpdu_actor_partner_params { uint8_t reserved_3[3]; } __rte_packed __rte_aligned(2); -/** LACPDU structure (5.4.2 in 802.1AX documentation). */ +/** LACPDU structure (6.4.2 in 802.1AX documentation). */ struct lacpdu { uint8_t subtype; uint8_t version_number; @@ -153,7 +153,7 @@ struct rte_eth_bond_8023ad_slave_info { /** * @internal * - * Function returns current configuration of 802.3AX mode. + * Function returns current configuration of 802.1AX mode. * * @param port_id Bonding device id * @param conf Pointer to timeout structure. @@ -197,10 +197,6 @@ int rte_eth_bond_8023ad_slave_info(uint16_t port_id, uint16_t slave_id, struct rte_eth_bond_8023ad_slave_info *conf); -#ifdef __cplusplus -} -#endif - /** * Configure a slave port to start collecting. * @@ -331,4 +327,9 @@ rte_eth_bond_8023ad_agg_selection_get(uint16_t port_id); int rte_eth_bond_8023ad_agg_selection_set(uint16_t port_id, enum rte_bond_8023ad_agg_selection agg_selection); + +#ifdef __cplusplus +} +#endif + #endif /* RTE_ETH_BOND_8023AD_H_ */ diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index 84f4900..f6003b0 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -158,7 +158,8 @@ const struct rte_flow_attr flow_attr_8023ad = { int bond_ethdev_8023ad_flow_verify(struct rte_eth_dev *bond_dev, - uint16_t slave_port) { + uint16_t slave_port) +{ struct rte_eth_dev_info slave_info; struct rte_flow_error error; struct bond_dev_private *internals = bond_dev->data->dev_private; @@ -207,7 +208,8 @@ bond_ethdev_8023ad_flow_verify(struct rte_eth_dev *bond_dev, } int -bond_8023ad_slow_pkt_hw_filter_supported(uint16_t port_id) { +bond_8023ad_slow_pkt_hw_filter_supported(uint16_t port_id) +{ struct rte_eth_dev *bond_dev = &rte_eth_devices[port_id]; struct bond_dev_private *internals = bond_dev->data->dev_private; struct rte_eth_dev_info bond_info; @@ -240,8 +242,8 @@ bond_8023ad_slow_pkt_hw_filter_supported(uint16_t port_id) { } int -bond_ethdev_8023ad_flow_set(struct rte_eth_dev *bond_dev, uint16_t slave_port) { - +bond_ethdev_8023ad_flow_set(struct rte_eth_dev *bond_dev, uint16_t slave_port) +{ struct rte_flow_error error; struct bond_dev_private *internals = bond_dev->data->dev_private; struct rte_flow_action_queue lacp_queue_conf = { @@ -809,7 +811,8 @@ struct bwg_slave { }; void -bond_tlb_activate_slave(struct bond_dev_private *internals) { +bond_tlb_activate_slave(struct bond_dev_private *internals) +{ int i; for (i = 0; i < internals->active_slave_count; i++) { From patchwork Wed Dec 15 18:19:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Sanford X-Patchwork-Id: 105148 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id AAA5FA00C3; Wed, 15 Dec 2021 19:20:38 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 60DD54114B; Wed, 15 Dec 2021 19:20:28 +0100 (CET) Received: from mail-qv1-f52.google.com (mail-qv1-f52.google.com [209.85.219.52]) by mails.dpdk.org (Postfix) with ESMTP id EB24D4111B for ; Wed, 15 Dec 2021 19:20:26 +0100 (CET) Received: by mail-qv1-f52.google.com with SMTP id b11so21056803qvm.7 for ; Wed, 15 Dec 2021 10:20:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=aoeCzn+NYKXCXBlb13T4hQKP5WxgXGwGsH2vZTpCZZM=; b=dFxKVQjr8bcUwR9R5qg+JN6i4hROhUHkC/6dHGbqD/KwNOSYea4pqwGagMOctZKgRB JBp3tbNA4bdf5fqgYZsYlbH/gZKqctjocxmxHY0L4/MkiUHyZBMXeIPrJBjPIwBnMZ9s d5pIpYNfPO5uc8ppylUDuh/QZpfmY6WSHJTsfJ1Y4oJTojuCg4lbTWxQyKRIevhEXtoY NDt63AXnGZQ4RKUyJd3nCILjtATJwp3Pd0+JTFTRBhKvkoZZAKHGzqckZzdphCh1ygRv zJW3tkQWru8RK6XjgBP+8Zo2tz9VIBvI7UaKVkpt3znVNAOxBqWx1c7untVw5vVmW3nb aTtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=aoeCzn+NYKXCXBlb13T4hQKP5WxgXGwGsH2vZTpCZZM=; b=5Ev3SQrpkCWr2abTVdvcaAkcA0jpmNlMtWRTXpJ4sVDC2RyG7cRqepzzBk6yhSc8in vW9C48phHwVOllvaccAT13wsV64e4proHwqxo/kahqY+RUWk5LZNz6umrz27zhMfuRID dVxYNeHvWYvtHf9U6lrYkSLVTB5Fkyi3J9H99KcqaJcQ5SJBGcUl11U5GuY2HrlWmteD s0MVu71aMbG8Q6ui+3tJbSy/cwbvlKVN4M0pzjFYOPPz/765/a/+FcNU2J3VwOnRdy0y dbYu1XTTGjvpbDP17lWwvyw3NpiTms6TJ4Iaui+9x3MOKShhtr8Butct3NGSQUjYa4ZS F7Mw== X-Gm-Message-State: AOAM531D+kuRU8ZCJUpzsI2UAdn8U5H8N32XjdNqLRNiKWPlyPzSzcDe sJg4ZMdJR0Ks1eQ+3wALT+ErZyWu2lA= X-Google-Smtp-Source: ABdhPJzAARcgyIs5HsbJ5kl2BNDji8dhH+TrsotOx0pdR/ja13oUpxW859eMHFNf8YRtpQUqeJMpbw== X-Received: by 2002:ad4:5bc3:: with SMTP id t3mr3298224qvt.47.1639592426100; Wed, 15 Dec 2021 10:20:26 -0800 (PST) Received: from ubuntu.localdomain (99-153-167-175.lightspeed.ftldfl.sbcglobal.net. [99.153.167.175]) by smtp.gmail.com with ESMTPSA id 8sm2075978qtz.28.2021.12.15.10.20.25 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 Dec 2021 10:20:25 -0800 (PST) From: Robert Sanford X-Google-Original-From: Robert Sanford To: dev@dpdk.org Cc: chas3@att.com, humin29@huawei.com Subject: [PATCH 2/7] net/bonding: fix bonded dev configuring slave dev Date: Wed, 15 Dec 2021 13:19:56 -0500 Message-Id: <1639592401-56845-3-git-send-email-rsanford@akamai.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1639592401-56845-1-git-send-email-rsanford@akamai.com> References: <1639592401-56845-1-git-send-email-rsanford@akamai.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 - Replace directly overwriting of slave port's private rte_eth_conf by copying it, and then updating it via rte_eth_dev_configure(). Signed-off-by: Robert Sanford --- drivers/net/bonding/rte_eth_bond_pmd.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index f6003b0..8cce0aa 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -1691,6 +1691,7 @@ slave_configure(struct rte_eth_dev *bonded_eth_dev, struct rte_flow_error flow_error; struct bond_dev_private *internals = bonded_eth_dev->data->dev_private; + struct rte_eth_conf dev_conf; /* Stop slave */ errval = rte_eth_dev_stop(slave_eth_dev->data->port_id); @@ -1698,34 +1699,36 @@ slave_configure(struct rte_eth_dev *bonded_eth_dev, RTE_BOND_LOG(ERR, "rte_eth_dev_stop: port %u, err (%d)", slave_eth_dev->data->port_id, errval); + /* Start with a copy of slave's current rte_eth_conf. */ + dev_conf = slave_eth_dev->data->dev_conf; + dev_conf.rx_adv_conf.rss_conf.rss_key = NULL; + /* Enable interrupts on slave device if supported */ - if (slave_eth_dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC) - slave_eth_dev->data->dev_conf.intr_conf.lsc = 1; + dev_conf.intr_conf.lsc = + (slave_eth_dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC) ? 1 : 0; /* If RSS is enabled for bonding, try to enable it for slaves */ if (bonded_eth_dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) { /* rss_key won't be empty if RSS is configured in bonded dev */ - slave_eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_key_len = - internals->rss_key_len; - slave_eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_key = - internals->rss_key; + dev_conf.rx_adv_conf.rss_conf.rss_key_len = + internals->rss_key_len; + dev_conf.rx_adv_conf.rss_conf.rss_key = internals->rss_key; - slave_eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_hf = + dev_conf.rx_adv_conf.rss_conf.rss_hf = bonded_eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_hf; - slave_eth_dev->data->dev_conf.rxmode.mq_mode = + dev_conf.rxmode.mq_mode = bonded_eth_dev->data->dev_conf.rxmode.mq_mode; } if (bonded_eth_dev->data->dev_conf.rxmode.offloads & RTE_ETH_RX_OFFLOAD_VLAN_FILTER) - slave_eth_dev->data->dev_conf.rxmode.offloads |= + dev_conf.rxmode.offloads |= RTE_ETH_RX_OFFLOAD_VLAN_FILTER; else - slave_eth_dev->data->dev_conf.rxmode.offloads &= + dev_conf.rxmode.offloads &= ~RTE_ETH_RX_OFFLOAD_VLAN_FILTER; - slave_eth_dev->data->dev_conf.rxmode.mtu = - bonded_eth_dev->data->dev_conf.rxmode.mtu; + dev_conf.rxmode.mtu = bonded_eth_dev->data->dev_conf.rxmode.mtu; nb_rx_queues = bonded_eth_dev->data->nb_rx_queues; nb_tx_queues = bonded_eth_dev->data->nb_tx_queues; @@ -1747,8 +1750,7 @@ slave_configure(struct rte_eth_dev *bonded_eth_dev, /* Configure device */ errval = rte_eth_dev_configure(slave_eth_dev->data->port_id, - nb_rx_queues, nb_tx_queues, - &(slave_eth_dev->data->dev_conf)); + nb_rx_queues, nb_tx_queues, &dev_conf); if (errval != 0) { RTE_BOND_LOG(ERR, "Cannot configure slave device: port %u, err (%d)", slave_eth_dev->data->port_id, errval); From patchwork Wed Dec 15 18:19:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Sanford X-Patchwork-Id: 105149 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6AD96A00C3; Wed, 15 Dec 2021 19:20:46 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BC9B841158; Wed, 15 Dec 2021 19:20:29 +0100 (CET) Received: from mail-qk1-f174.google.com (mail-qk1-f174.google.com [209.85.222.174]) by mails.dpdk.org (Postfix) with ESMTP id ABB3341147 for ; Wed, 15 Dec 2021 19:20:27 +0100 (CET) Received: by mail-qk1-f174.google.com with SMTP id m192so20928666qke.2 for ; Wed, 15 Dec 2021 10:20:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=pXc71Yjkb1Baq56SEiQnuVV78bH0xh2zlKx/DgaqBRE=; b=YUjrKEtVgeMmNuuXvFkqjyqzP3aC++WJQ3Wqvfjp6FZToqDY3nSnWZMNFB7Gdi7FNz 0GJfJEn1VqPx7KASzCMZnr1cM2GpA534HhNvcwtNLbFuKJswrv38raD34HuQPd3qPSbD 4CXOEb5Nwm8VLXqAVYqN5f5Hb+cKOfr/1Pw6LbxvLEpZOgccKNSlSuA50+frU2e7gOvs OE8O5QmogIHf9jHqC1bJBCfX5rSkyi20y8MoUg5tGOe06WcgFUb1RrAdOBmGqfdcL4Vb P8943O3m7XYURiyq+PCujJlmhxKlUGqfwwz5VBk9hVug7VHrdaJiwBjeFkHj1Ypmb7Pq Ou1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=pXc71Yjkb1Baq56SEiQnuVV78bH0xh2zlKx/DgaqBRE=; b=iRo/uoCfvahB08IO3qvMG3UqC39ue9e94wBx00TXsp8ruMKYP6+lDpEmlRWu8boXnV a7pbmvSDLUEsijusJhzGg8Ek3qOgj6AOttxWsvI0GE1BkL7eAWC5/xI5e5It1ZNTv6Qi dfOUItmqCvl/bmq51rE7MjmtVIaozqLXO2wegix4fm593AmmQzMDyl7kbD8p5mkfRVer C+m6fHYbOZPgWNftJlsjiU7fQc0KH2kHDx4r0uryTrgxHz1PBGHfh3IaYD0AElDGBk7j BfVB0Kd2C3sCUfCNrXc/s0gIkrYFd38sf9dL+9COmhew2RZ2LBWKAfCPsqgHOT4G1ZA8 FiKQ== X-Gm-Message-State: AOAM531pS2qqM9RudQ6WefN9Y5XxNhQPapNB0kSMRYsOvdf3C3oOoRZy ZTtokD/XDsh99NyirOus5+cnyOnVwgA= X-Google-Smtp-Source: ABdhPJy+PTdZ5798lNcUqxqHYpc/jHJxdH7rdDO+oUl25BrMVoTLf/CKl3SpOYWpyimSxmwrI1kW3Q== X-Received: by 2002:a37:de09:: with SMTP id h9mr9559969qkj.764.1639592427018; Wed, 15 Dec 2021 10:20:27 -0800 (PST) Received: from ubuntu.localdomain (99-153-167-175.lightspeed.ftldfl.sbcglobal.net. [99.153.167.175]) by smtp.gmail.com with ESMTPSA id 8sm2075978qtz.28.2021.12.15.10.20.26 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 Dec 2021 10:20:26 -0800 (PST) From: Robert Sanford X-Google-Original-From: Robert Sanford To: dev@dpdk.org Cc: chas3@att.com, humin29@huawei.com Subject: [PATCH 3/7] net/bonding: change mbuf pool and ring allocation Date: Wed, 15 Dec 2021 13:19:57 -0500 Message-Id: <1639592401-56845-4-git-send-email-rsanford@akamai.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1639592401-56845-1-git-send-email-rsanford@akamai.com> References: <1639592401-56845-1-git-send-email-rsanford@akamai.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 - Turn off mbuf pool caching to avoid mbufs lingering in pool caches. At most, we transmit one LACPDU per second, per port. - Fix calculation of ring sizes, taking into account that a ring of size N holds up to N-1 items. Signed-off-by: Robert Sanford --- drivers/net/bonding/rte_eth_bond_8023ad.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c index 43231bc..83d3938 100644 --- a/drivers/net/bonding/rte_eth_bond_8023ad.c +++ b/drivers/net/bonding/rte_eth_bond_8023ad.c @@ -1101,9 +1101,7 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev *bond_dev, } snprintf(mem_name, RTE_DIM(mem_name), "slave_port%u_pool", slave_id); - port->mbuf_pool = rte_pktmbuf_pool_create(mem_name, total_tx_desc, - RTE_MEMPOOL_CACHE_MAX_SIZE >= 32 ? - 32 : RTE_MEMPOOL_CACHE_MAX_SIZE, + port->mbuf_pool = rte_pktmbuf_pool_create(mem_name, total_tx_desc, 0, 0, element_size, socket_id); /* Any memory allocation failure in initialization is critical because @@ -1113,19 +1111,23 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev *bond_dev, slave_id, mem_name, rte_strerror(rte_errno)); } + /* Add one extra because ring reserves one. */ snprintf(mem_name, RTE_DIM(mem_name), "slave_%u_rx", slave_id); port->rx_ring = rte_ring_create(mem_name, - rte_align32pow2(BOND_MODE_8023AX_SLAVE_RX_PKTS), socket_id, 0); + rte_align32pow2(BOND_MODE_8023AX_SLAVE_RX_PKTS + 1), + socket_id, 0); if (port->rx_ring == NULL) { rte_panic("Slave %u: Failed to create rx ring '%s': %s\n", slave_id, mem_name, rte_strerror(rte_errno)); } - /* TX ring is at least one pkt longer to make room for marker packet. */ + /* TX ring is at least one pkt longer to make room for marker packet. + * Add one extra because ring reserves one. */ snprintf(mem_name, RTE_DIM(mem_name), "slave_%u_tx", slave_id); port->tx_ring = rte_ring_create(mem_name, - rte_align32pow2(BOND_MODE_8023AX_SLAVE_TX_PKTS + 1), socket_id, 0); + rte_align32pow2(BOND_MODE_8023AX_SLAVE_TX_PKTS + 2), + socket_id, 0); if (port->tx_ring == NULL) { rte_panic("Slave %u: Failed to create tx ring '%s': %s\n", slave_id, From patchwork Wed Dec 15 18:19:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Sanford X-Patchwork-Id: 105150 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 93A8BA00C3; Wed, 15 Dec 2021 19:20:52 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CA16F4115E; Wed, 15 Dec 2021 19:20:30 +0100 (CET) Received: from mail-qk1-f178.google.com (mail-qk1-f178.google.com [209.85.222.178]) by mails.dpdk.org (Postfix) with ESMTP id B97B74114F for ; Wed, 15 Dec 2021 19:20:28 +0100 (CET) Received: by mail-qk1-f178.google.com with SMTP id m192so20928732qke.2 for ; Wed, 15 Dec 2021 10:20:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=iAz8LQlJRnR+Y8QTSAM3SyabwC0kEOyz5MdHLVhf6Jw=; b=ga5L/EupZ/9N7LoJlra3c+MYtNeewRMOQQ6D7YZUw12vD8v8UYTBGGxcLzr26kovmQ h1kMDkmilez80ComMzXuUsanDrq8QoIR/foDuCguW+BXGzqa51P6Z32svXqc0yxNDarN Vo7J/jgySoOClWaqQIp5MDdBWhuy0mqbl0ZY2uxsDvjyyQv4zDatwbafB/mVeWhYvEpk Y3DVpB/fpdu0InaaJtD+9VYL9ZHNU+pKW8pnXhABvRu0Mb1UyXPS3p3WNxmJ9+BZU6WY UTKnCekllWd1UrhxBiQtyy3KsxjHBEAG1G/zWdAASHWMcZHrvfE0qHM+uA/aIs/aWje4 O4Ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=iAz8LQlJRnR+Y8QTSAM3SyabwC0kEOyz5MdHLVhf6Jw=; b=S8rTRTI3LmQgjxqjLbTXQGZGiuu37DyyTYFFza2dpLf+oFUxHmMtMM87KWBLxvBgG8 uPIGCsgWMDnt2XBv/JVS7zaumARoozjZ1pzj+1fiQN2bjz2A7p3BKRrasAEWgq2UMwyB nerIyOdZU54WBjqcebBIOWoYaK60E9fetiujrvobWfWQKpWIItsC0pCHCZERgJxkzOXd QrvCLTBLK2DCetTcgB57lZUTrrs+rvYmBTo5KRiEPI8ZCOoinbyql9D5TrK+xV3N7hjJ TIxoxAPY81Gr8srs6Sz8g9CUTloAnSq6mj1ZReJ99MSmW0db91c07SYmDPv8brebdqrq dyyA== X-Gm-Message-State: AOAM530hjqYaDFEByXIeVfUd5+TYSJoFL+NiN+AdKYonFow0F94zybyq 7J+nrp4HF03klLGEg0nnYvkSboTzEYg= X-Google-Smtp-Source: ABdhPJzhCyPymVw/QiQ/Mq9TTOq5tm4H/eHePzt0BT8P2wzf0pfomLnYkFg/jW6Zuw6PinSQQS8qTg== X-Received: by 2002:a05:620a:151a:: with SMTP id i26mr9703846qkk.499.1639592427968; Wed, 15 Dec 2021 10:20:27 -0800 (PST) Received: from ubuntu.localdomain (99-153-167-175.lightspeed.ftldfl.sbcglobal.net. [99.153.167.175]) by smtp.gmail.com with ESMTPSA id 8sm2075978qtz.28.2021.12.15.10.20.27 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 Dec 2021 10:20:27 -0800 (PST) From: Robert Sanford X-Google-Original-From: Robert Sanford To: dev@dpdk.org Cc: chas3@att.com, humin29@huawei.com Subject: [PATCH 4/7] net/bonding: support enabling LACP short timeout Date: Wed, 15 Dec 2021 13:19:58 -0500 Message-Id: <1639592401-56845-5-git-send-email-rsanford@akamai.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1639592401-56845-1-git-send-email-rsanford@akamai.com> References: <1639592401-56845-1-git-send-email-rsanford@akamai.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 - 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 e415f2f..e1a7207 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 83d3938..93fbf39 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; @@ -1213,6 +1224,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; @@ -1223,6 +1235,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 @@ -1238,6 +1251,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 @@ -1278,6 +1292,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); } @@ -1482,7 +1501,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 { From patchwork Wed Dec 15 18:19:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Sanford X-Patchwork-Id: 105151 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B49FAA00C3; Wed, 15 Dec 2021 19:20:58 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C0BA041152; Wed, 15 Dec 2021 19:20:32 +0100 (CET) Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) by mails.dpdk.org (Postfix) with ESMTP id F27A04115B for ; Wed, 15 Dec 2021 19:20:29 +0100 (CET) Received: by mail-qk1-f169.google.com with SMTP id t6so20957386qkg.1 for ; Wed, 15 Dec 2021 10:20:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=cnrpVZf76cZd7Cs8pDy/5yvGZSB37s7U+gTt35HpBUQ=; b=fjR4chztBs/szyS91QvNB+7IUbV+WyerCZ9SFLz4UQBiTHJ52y7LCUYJ9ZkrtuIHbE tvN3kWZ+6EE/aYdko+oOooTY/6hpshjAUpC/c6KgTN1niAmlsxSFdj7D6eLxyZUzuFnF bz3qyaTfNMqx3MzKZ67NX0poskgHPchg26oALje5++v0ld7u/+WHywBh6K+lPMXIuV9g qAPit2hddc8vbeRYRrEveB29GK4TdRkitEvCvc8iVylHdS71HuK08axVwmFGx+cokhlE UpQhEdgO9nJ1JGC5cBozVOksY5FOnBIsRLq/5htYm8632JI1u38spNIzYZgFHKWKaldQ 0VaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=cnrpVZf76cZd7Cs8pDy/5yvGZSB37s7U+gTt35HpBUQ=; b=5+Vuv1pBH/QgKdnZOjBikhxpOKsS2hMuq2fS5u0yfPpLorCpG2k0kyBs4Er1M1Vrrl +qGXS5enLKIsQ5O24mnXN7GTlawhgpZtCT1x0bbDNuSyy5moMl1XVdUF/Rpemq71/6BP 4HZEeJR4czyO/DihPRREp5uSpn+xzboDNnRICuraNlpaj3JU4NHZx6P5ccE/XLpoG83B 7bT2pLpNXJoFF5tvnHHySfl8KFHT0OaYkYShUHYr/31CXSoB0MBQIz0AKuz6QeJ4VR5l KTYRfO3EA0wsKnQE24Zk939lK/PKRpVALxAv73yvLg/xFpH6Uv0VLpJMS7NQIC8H0fVk LYYA== X-Gm-Message-State: AOAM530VOcY+UmITBJmOLsk4I0tSmhJ16Dlp59bfJfAHtvKN54G80wPF NPdsuG+F1gJ6W83h6i6q8jnRXx6V4tc= X-Google-Smtp-Source: ABdhPJzW1U0AWiarxhRM7RmDclQM2OMtxIt3twGsanFz8MMRNMiy3fvU2sLYYUZeqK20K5/sVui1VQ== X-Received: by 2002:a05:620a:410e:: with SMTP id j14mr9481644qko.47.1639592428880; Wed, 15 Dec 2021 10:20:28 -0800 (PST) Received: from ubuntu.localdomain (99-153-167-175.lightspeed.ftldfl.sbcglobal.net. [99.153.167.175]) by smtp.gmail.com with ESMTPSA id 8sm2075978qtz.28.2021.12.15.10.20.28 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 Dec 2021 10:20:28 -0800 (PST) From: Robert Sanford X-Google-Original-From: Robert Sanford To: dev@dpdk.org Cc: chas3@att.com, humin29@huawei.com Subject: [PATCH 5/7] net/bonding: add LACP short timeout to tests Date: Wed, 15 Dec 2021 13:19:59 -0500 Message-Id: <1639592401-56845-6-git-send-email-rsanford@akamai.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1639592401-56845-1-git-send-email-rsanford@akamai.com> References: <1639592401-56845-1-git-send-email-rsanford@akamai.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 - Add "set bonding lacp timeout_ctrl on|off" to testpmd. - Add "test_mode4_lacp_timeout_control" to app/test. Signed-off-by: Robert Sanford --- app/test-pmd/cmdline.c | 77 ++++++++++++++++++++++++++++++++++++++ app/test/test_link_bonding_mode4.c | 65 ++++++++++++++++++++++++++++++++ 2 files changed, 142 insertions(+) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index 9fd2c2a..b0c2fb4 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -633,6 +633,9 @@ static void cmd_help_long_parsed(void *parsed_result, "set bonding mode IEEE802.3AD aggregator policy (port_id) (agg_name)\n" " Set Aggregation mode for IEEE802.3AD (mode 4)\n\n" + "set bonding lacp timeout_ctrl (port_id) (on|off)\n" + "Configure LACP partner to use fast|slow periodic tx interval.\n\n" + "set bonding balance_xmit_policy (port_id) (l2|l23|l34)\n" " Set the transmit balance policy for bonded device running in balance mode.\n\n" @@ -6192,6 +6195,7 @@ static void lacp_conf_show(struct rte_eth_bond_8023ad_conf *conf) printf("\taggregation mode: invalid\n"); break; } + printf("\tlacp timeout control: %u\n", conf->lacp_timeout_control); printf("\n"); } @@ -6863,6 +6867,78 @@ cmdline_parse_inst_t cmd_set_bonding_agg_mode_policy = { }; +/* *** SET LACP TIMEOUT CONTROL ON BONDED DEVICE *** */ +struct cmd_set_lacp_timeout_control_result { + cmdline_fixed_string_t set; + cmdline_fixed_string_t bonding; + cmdline_fixed_string_t lacp; + cmdline_fixed_string_t timeout_ctrl; + uint16_t port_id; + cmdline_fixed_string_t on_off; +}; + +static void +cmd_set_lacp_timeout_control_parsed(void *parsed_result, + __rte_unused struct cmdline *cl, + __rte_unused void *data) +{ + struct cmd_set_lacp_timeout_control_result *res = parsed_result; + struct rte_eth_bond_8023ad_conf port_conf; + uint8_t on_off = 0; + int ret; + + if (!strcmp(res->on_off, "on")) + on_off = 1; + + ret = rte_eth_bond_8023ad_conf_get(res->port_id, &port_conf); + if (ret != 0) { + fprintf(stderr, "\tGet bonded device %u lacp conf failed\n", + res->port_id); + return; + } + + port_conf.lacp_timeout_control = on_off; + ret = rte_eth_bond_8023ad_setup(res->port_id, &port_conf); + if (ret != 0) + fprintf(stderr, "\tSetup bonded device %u lacp conf failed\n", + res->port_id); +} + +cmdline_parse_token_string_t cmd_set_lacp_timeout_control_set = + TOKEN_STRING_INITIALIZER(struct cmd_set_lacp_timeout_control_result, + set, "set"); +cmdline_parse_token_string_t cmd_set_lacp_timeout_control_bonding = + TOKEN_STRING_INITIALIZER(struct cmd_set_lacp_timeout_control_result, + bonding, "bonding"); +cmdline_parse_token_string_t cmd_set_lacp_timeout_control_lacp = + TOKEN_STRING_INITIALIZER(struct cmd_set_lacp_timeout_control_result, + lacp, "lacp"); +cmdline_parse_token_string_t cmd_set_lacp_timeout_control_timeout_ctrl = + TOKEN_STRING_INITIALIZER(struct cmd_set_lacp_timeout_control_result, + timeout_ctrl, "timeout_ctrl"); +cmdline_parse_token_num_t cmd_set_lacp_timeout_control_port_id = + TOKEN_NUM_INITIALIZER(struct cmd_set_lacp_timeout_control_result, + port_id, RTE_UINT16); +cmdline_parse_token_string_t cmd_set_lacp_timeout_control_on_off = + TOKEN_STRING_INITIALIZER(struct cmd_set_lacp_timeout_control_result, + on_off, "on#off"); + +cmdline_parse_inst_t cmd_set_lacp_timeout_control = { + .f = cmd_set_lacp_timeout_control_parsed, + .data = (void *) 0, + .help_str = "set bonding lacp timeout_ctrl on|off: " + "Configure partner to use fast|slow periodic tx interval", + .tokens = { + (void *)&cmd_set_lacp_timeout_control_set, + (void *)&cmd_set_lacp_timeout_control_bonding, + (void *)&cmd_set_lacp_timeout_control_lacp, + (void *)&cmd_set_lacp_timeout_control_timeout_ctrl, + (void *)&cmd_set_lacp_timeout_control_port_id, + (void *)&cmd_set_lacp_timeout_control_on_off, + NULL + } +}; + #endif /* RTE_NET_BOND */ /* *** SET FORWARDING MODE *** */ @@ -17728,6 +17804,7 @@ cmdline_parse_ctx_t main_ctx[] = { (cmdline_parse_inst_t *) &cmd_set_bond_mon_period, (cmdline_parse_inst_t *) &cmd_set_lacp_dedicated_queues, (cmdline_parse_inst_t *) &cmd_set_bonding_agg_mode_policy, + (cmdline_parse_inst_t *) &cmd_set_lacp_timeout_control, #endif (cmdline_parse_inst_t *)&cmd_vlan_offload, (cmdline_parse_inst_t *)&cmd_vlan_tpid, diff --git a/app/test/test_link_bonding_mode4.c b/app/test/test_link_bonding_mode4.c index 2be86d5..68f77ec 100644 --- a/app/test/test_link_bonding_mode4.c +++ b/app/test/test_link_bonding_mode4.c @@ -735,6 +735,63 @@ test_mode4_agg_mode_selection(void) } static int +test_mode4_lacp_timeout_control(void) +{ + int retval; + int iterations; + size_t i; + struct slave_conf *slave; + uint16_t port_id = test_params.bonded_port_id; + struct rte_eth_bond_8023ad_conf conf; + struct rte_eth_bond_8023ad_slave_info info; + uint8_t on_off = 0; + uint8_t lacp_timeout_flag = 0; + + retval = initialize_bonded_device_with_slaves(TEST_LACP_SLAVE_COUT, 0); + TEST_ASSERT_SUCCESS(retval, "Failed to initialize bonded device"); + + /* Iteration 0: Verify that LACP timeout control is off by default. + * Iteration 1: Verify that we can set LACP timeout control. + * Iteration 2: Verify that we can reset LACP timeout control. + */ + for (iterations = 0; iterations < 3; iterations++) { + /* Verify that bond conf has expected timeout control value.*/ + retval = rte_eth_bond_8023ad_conf_get(port_id, &conf); + TEST_ASSERT_SUCCESS(retval, "Failed to get LACP conf"); + TEST_ASSERT_EQUAL(conf.lacp_timeout_control, on_off, + "Wrong LACP timeout control value"); + + /* State machine must run to propagate new timeout control + * value to slaves (iterations 1 and 2). */ + retval = bond_handshake(); + TEST_ASSERT_SUCCESS(retval, "Bond handshake failed"); + + /* Verify that slaves' actor states have expected value.*/ + FOR_EACH_PORT(i, slave) { + retval = rte_eth_bond_8023ad_slave_info(port_id, + slave->port_id, &info); + TEST_ASSERT_SUCCESS(retval, + "Failed to get LACP slave info"); + TEST_ASSERT_EQUAL((info.actor_state & + STATE_LACP_SHORT_TIMEOUT), lacp_timeout_flag, + " Wrong LACP slave info timeout flag"); + } + + /* Toggle timeout control. */ + on_off ^= 1; + lacp_timeout_flag ^= STATE_LACP_SHORT_TIMEOUT; + conf.lacp_timeout_control = on_off; + retval = rte_eth_bond_8023ad_setup(port_id, &conf); + TEST_ASSERT_SUCCESS(retval, "Failed to setup LACP conf"); + } + + retval = remove_slaves_and_stop_bonded_device(); + TEST_ASSERT_SUCCESS(retval, "Test cleanup failed."); + + return TEST_SUCCESS; +} + +static int generate_packets(struct rte_ether_addr *src_mac, struct rte_ether_addr *dst_mac, uint16_t count, struct rte_mbuf **buf) { @@ -1649,6 +1706,12 @@ test_mode4_ext_lacp_wrapper(void) return test_mode4_executor(&test_mode4_ext_lacp); } +static int +test_mode4_lacp_timeout_control_wrapper(void) +{ + return test_mode4_executor(&test_mode4_lacp_timeout_control); +} + static struct unit_test_suite link_bonding_mode4_test_suite = { .suite_name = "Link Bonding mode 4 Unit Test Suite", .setup = test_setup, @@ -1665,6 +1728,8 @@ static struct unit_test_suite link_bonding_mode4_test_suite = { test_mode4_ext_ctrl_wrapper), TEST_CASE_NAMED("test_mode4_ext_lacp", test_mode4_ext_lacp_wrapper), + TEST_CASE_NAMED("test_mode4_lacp_timeout_control", + test_mode4_lacp_timeout_control_wrapper), TEST_CASES_END() /**< NULL terminate unit test array */ } From patchwork Wed Dec 15 18:20:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Sanford X-Patchwork-Id: 105152 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 07A32A00C3; Wed, 15 Dec 2021 19:21:04 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C514D4116A; Wed, 15 Dec 2021 19:20:33 +0100 (CET) Received: from mail-qk1-f182.google.com (mail-qk1-f182.google.com [209.85.222.182]) by mails.dpdk.org (Postfix) with ESMTP id 41E0C4115D for ; Wed, 15 Dec 2021 19:20:30 +0100 (CET) Received: by mail-qk1-f182.google.com with SMTP id 132so20893564qkj.11 for ; Wed, 15 Dec 2021 10:20:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ccOxziBKzockNRliVcwMvD4WLeSK21pIwyaE1sM9VFo=; b=mOhibUQW1E7JazonOKp+/TjQhQ8/bLj8Y3i7Y7ZtZTalDuTQi8eVtT4VoxFx/qItfB +l3TDxc7hxUGf/X7vcDrfk4U3DoZU4zDGF14K56VdK3K1LBp1FoCkd+EPO7xPwi84GU5 IskXlH/vLMII/LMb/kwj7csSdlcuffuwofs3Xed9TEQmiXEjkuX78oBmWqxe/Cr84Fm4 BE5L/1Db0Zrnbzi3B8jFaeNqTAG3CkoGeLccU3ok1lkEMoVowTDSjqOfrGbMmDq1i4Wc hSUGotsaQhBeRLD/sm7CtsoCDS3KyMk35Taao1y9gAzTopzXIQtpfe1d+MR5j2CmHMCF ok+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ccOxziBKzockNRliVcwMvD4WLeSK21pIwyaE1sM9VFo=; b=maX84238Vk/ct0u5uQn1dub5PCE7y5620XW87stqFQtNBYSN3wsx1YtW4vUrcMBuM5 XGn5hEyNyqiu49jdBzM+R6cm9u8M037D8zncgWYeCvULn+S5OhSt8BlVFzxdO1+ywjKe VbNCV/9Vhm+/a6u3xk+NA96oNdPG7iQp86jXz90JAxOBpox1to+hTWSr/4aB4pNEfD9C tdlHYUdTOtkvv/aiBYUFenwzlFMvpY7lC+l16VM5xgZvtFG4C5EMdxQOsYDp+Atw/+lY nJnt7tzr9SzixntOqz7nPN2iwkcW//pg6VoheHozeak8eGR/48NBjwfqzh50PuT083l3 qg/A== X-Gm-Message-State: AOAM530OsD3uRXQ1piFKNy9xqt4R/EFioW4XZ0wWRnSqZPSs7Bu8zOvY eX1R38xA+haS4VK/x89EHO+3bKbzSvA= X-Google-Smtp-Source: ABdhPJxhxq1U3sN6AS1Xmsa2WRzAEpISyzj5Y6Mi5Z/+41MKSGcGVF7ZGo//imZhpp46P62B4aKERg== X-Received: by 2002:a05:620a:4687:: with SMTP id bq7mr9687499qkb.540.1639592429586; Wed, 15 Dec 2021 10:20:29 -0800 (PST) Received: from ubuntu.localdomain (99-153-167-175.lightspeed.ftldfl.sbcglobal.net. [99.153.167.175]) by smtp.gmail.com with ESMTPSA id 8sm2075978qtz.28.2021.12.15.10.20.28 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 Dec 2021 10:20:29 -0800 (PST) From: Robert Sanford X-Google-Original-From: Robert Sanford To: dev@dpdk.org Cc: chas3@att.com, humin29@huawei.com Subject: [PATCH 6/7] net/bonding: add bond_8023ad and bond_alb to doc Date: Wed, 15 Dec 2021 13:20:00 -0500 Message-Id: <1639592401-56845-7-git-send-email-rsanford@akamai.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1639592401-56845-1-git-send-email-rsanford@akamai.com> References: <1639592401-56845-1-git-send-email-rsanford@akamai.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 - Add bond_8023ad and bond_alb to API documentation. Signed-off-by: Robert Sanford --- doc/api/doxy-api-index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/api/doxy-api-index.md b/doc/api/doxy-api-index.md index 4245b96..830235c 100644 --- a/doc/api/doxy-api-index.md +++ b/doc/api/doxy-api-index.md @@ -39,6 +39,8 @@ The public API headers are grouped by topics: - **device specific**: [softnic] (@ref rte_eth_softnic.h), [bond] (@ref rte_eth_bond.h), + [bond_8023ad] (@ref rte_eth_bond_8023ad.h), + [bond_alb] (@ref rte_eth_bond_alb.h), [vhost] (@ref rte_vhost.h), [vdpa] (@ref rte_vdpa.h), [KNI] (@ref rte_kni.h), From patchwork Wed Dec 15 18:20:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Sanford X-Patchwork-Id: 105153 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id CC004A00C3; Wed, 15 Dec 2021 19:21:08 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C1FCE41171; Wed, 15 Dec 2021 19:20:34 +0100 (CET) Received: from mail-qk1-f178.google.com (mail-qk1-f178.google.com [209.85.222.178]) by mails.dpdk.org (Postfix) with ESMTP id F325B41161 for ; Wed, 15 Dec 2021 19:20:30 +0100 (CET) Received: by mail-qk1-f178.google.com with SMTP id t83so20890819qke.8 for ; Wed, 15 Dec 2021 10:20:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=5KBK7bnM1BcGgqwKzdCLIFAdfNu1gsnTTr4dyStw1iM=; b=PP5+fD1P1gKqFqR3krkMroC0KrTiJ2tJ9KYo+L6wZKfdGKgEGzxDj/FctR3uvhzRZd gnexVPB4SMibvebcc34LOhRfERdfQdCEvO8vrPH5Ul+kOwSoyXdBYEX9K57c/kPvgMx/ TIdtbbnR4SIB1wtu88OBQzDjcaq3lONoS5s9gTWQCMEDXMlph6Q0Ifj982AKDbsMSJgb Fe8zrLh7bzkrg+XaGCcTB81AN8gKNU5boADISzYhxB16EJ8XiuRuVUQkB/6LZxo4oAMR 4KreyznMenNOHS1LeZI8Zv0py36b2Oh137t0T5oa2Dpt2Vt16jYhcepbrvTj0kLZOdHh rxvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=5KBK7bnM1BcGgqwKzdCLIFAdfNu1gsnTTr4dyStw1iM=; b=QP8EO242dd+zwlCuoTSjYFxLJqArZatpywsx2R3UeoZ8IAMnSL4MeAEMZoChHgwOOO Uj4x09B6BSJgVpJLYLfR+tV89djSCGN5dkPXIBIBtH3fHq26S+dpugsUorhBFLnsYL/O WFgRw2VSkWi/M5boyVP+LR7rbfU5oFd5c8tuQxf7s0bXxRexv6s0zltBj4gFGQ6/dLM1 xonCfrgcWooR/Khu3o2SZszvsLUIZvUa8x7W4MwyiW3PiOl0vLELLC08/9XRhy0Y5fDo SnAPDMY286/OIWBsTxy3rnalWZCQkFCREFnyCKTjo4UO/OquAc+WUC7DQRaFomv5tflB 6Rxg== X-Gm-Message-State: AOAM533rV9goMA/W1z43MCOypPKrsxYlwdhkICYaWne5ZwllvsF2F7zU 1bgwfUPj6e6V2WeeXV63lGuuLXih7jU= X-Google-Smtp-Source: ABdhPJw3+4V7NpMj5RCeTMzHKRoiybZKctcnAMOFBHXQJs6X4MFQ+Tn7FnOo7iqFo9LaIuGhFgO/Zg== X-Received: by 2002:a05:620a:127b:: with SMTP id b27mr9902593qkl.183.1639592430335; Wed, 15 Dec 2021 10:20:30 -0800 (PST) Received: from ubuntu.localdomain (99-153-167-175.lightspeed.ftldfl.sbcglobal.net. [99.153.167.175]) by smtp.gmail.com with ESMTPSA id 8sm2075978qtz.28.2021.12.15.10.20.29 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 Dec 2021 10:20:30 -0800 (PST) From: Robert Sanford X-Google-Original-From: Robert Sanford To: dev@dpdk.org Cc: chas3@att.com, humin29@huawei.com Subject: [PATCH 7/7] Remove self from Timers maintainers. Date: Wed, 15 Dec 2021 13:20:01 -0500 Message-Id: <1639592401-56845-8-git-send-email-rsanford@akamai.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1639592401-56845-1-git-send-email-rsanford@akamai.com> References: <1639592401-56845-1-git-send-email-rsanford@akamai.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 Signed-off-by: Robert Sanford --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 18d9eda..32663b0 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1613,7 +1613,6 @@ F: examples/vm_power_manager/ F: doc/guides/sample_app_ug/vm_power_management.rst Timers -M: Robert Sanford M: Erik Gabriel Carrillo F: lib/timer/ F: doc/guides/prog_guide/timer_lib.rst