From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 0995E7DF4 for ; Tue, 25 Nov 2014 10:34:27 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP; 25 Nov 2014 01:42:54 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.07,454,1413270000"; d="scan'208";a="643103569" Received: from irsmsx101.ger.corp.intel.com ([163.33.3.153]) by orsmga002.jf.intel.com with ESMTP; 25 Nov 2014 01:45:17 -0800 Received: from irsmsx102.ger.corp.intel.com ([169.254.2.93]) by IRSMSX101.ger.corp.intel.com ([169.254.1.105]) with mapi id 14.03.0195.001; Tue, 25 Nov 2014 09:45:16 +0000 From: "Wodkowski, PawelX" To: "Jastrzebski, MichalX K" , "dev@dpdk.org" , Thomas Monjalon Thread-Topic: [PATCH v5 0/2] bond: mode 4 support Thread-Index: AQHQCAn/N5eUXgJ0m06K0i7ZPKgjwZxw+fWA Date: Tue, 25 Nov 2014 09:45:16 +0000 Message-ID: References: <1416849181-17183-1-git-send-email-michalx.k.jastrzebski@intel.com> In-Reply-To: <1416849181-17183-1-git-send-email-michalx.k.jastrzebski@intel.com> Accept-Language: pl-PL, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.180] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v5 0/2] bond: mode 4 support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Nov 2014 09:34:29 -0000 Some information detail about mode mode 4 of link bonding: This mode is described in IEEE 802.3ad/AX standard described. It is also described here https://www.kernel.org/doc/Documentation/networking/bonding.txt. In this implementation we have an array of mode 4 setting for each slave. There is also assumption that for every port is one aggregator (it might be unused if better is found). Difference in this implementation vs ex Linux implementation: - this implementation it is not directly based on state machines but curren= t state is calculated from actor and partner states (and other things too). Some implementation details: - during rx burst every packet Is checked if this is LACP or marker packet. If it is LACP frame it is passed to mode 4 logic using slaves rx ring an= d=20 removed from rx buffer before it is returned - in tx burst, packets from mode 4 (if any) are injected into each slave. - there is a timer running in background to process/produce mode 4=20 frames form rx/to tx functions. Some requirements for this mode: - for LACP mode to work rx and tx burst functions must be invoked at least in 100ms intervals (testpmd modified to satisfy this requirement= ) - provided buffer to rx burst should be at least 2x slave count size. This = is not needed but might increase performance especially during initial handshake. Please inform me if you need additional information on this. Pawel