From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BF321C282DD for ; Fri, 10 Jan 2020 17:56:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9727A2080D for ; Fri, 10 Jan 2020 17:56:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=lunn.ch header.i=@lunn.ch header.b="fKvuaQLt" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728724AbgAJR4P (ORCPT ); Fri, 10 Jan 2020 12:56:15 -0500 Received: from vps0.lunn.ch ([185.16.172.187]:60354 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728569AbgAJR4O (ORCPT ); Fri, 10 Jan 2020 12:56:14 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lunn.ch; s=20171124; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=tFD8L80AsAe/peAMgmqdDb1tPStURhWLKJa2Uvdi4vU=; b=fKvuaQLtH4HcOSF5kILzhiKsch 57abGmvJNwtg/YVurNp6yl/6XsT3LGnrARvgVUqWlEjJGpwf9xo3oOcTHHUEhs44h6EniGwDjWW0A rJ7T6A014uAM1f0nQmq/+6uaoOseT07TreQx/MJIeis6pjwZTmb8jtflRl2vVr1RNxyw=; Received: from andrew by vps0.lunn.ch with local (Exim 4.93) (envelope-from ) id 1ipyW0-0002YJ-Ik; Fri, 10 Jan 2020 18:56:08 +0100 Date: Fri, 10 Jan 2020 18:56:08 +0100 From: Andrew Lunn To: Horatiu Vultur Cc: Vladimir Oltean , Nikolay Aleksandrov , lkml , netdev , bridge@lists.linux-foundation.org, "David S. Miller" , Roopa Prabhu , Jakub Kicinski , Vivien Didelot , Jeff Kirsher , anirudh.venkataramanan@intel.com, David Ahern , Jiri Pirko , Microchip Linux Driver Support Subject: Re: [RFC net-next Patch 0/3] net: bridge: mrp: Add support for Media Redundancy Protocol(MRP) Message-ID: <20200110175608.GK19739@lunn.ch> References: <20200109150640.532-1-horatiu.vultur@microchip.com> <6f1936e9-97e5-9502-f062-f2925c9652c9@cumulusnetworks.com> <20200110160456.enzomhfsce7bptu3@soft-dev3.microsemi.net> <20200110172536.42rdfwdc6eiwsw7m@soft-dev3.microsemi.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200110172536.42rdfwdc6eiwsw7m@soft-dev3.microsemi.net> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org > > Horatiu, could you also give some references to the frames that need > > to be sent. I've no idea what information they need to contain, if the > > contents is dynamic, or static, etc. > It is dynamic - but trivial... If it is trivial, i don't see why you are so worried about abstracting it? > Here is a dump from WireShark with > annotation on what our HW can update: > > Ethernet II, Src: 7a:8b:b1:35:96:e1 (7a:8b:b1:35:96:e1), Dst: Iec_00:00:01 (01:15:4e:00:00:01) > Destination: Iec_00:00:01 (01:15:4e:00:00:01) > Source: 7a:8b:b1:35:96:e1 (7a:8b:b1:35:96:e1) > Type: MRP (0x88e3) > PROFINET MRP MRP_Test, MRP_Common, MRP_End > MRP_Version: 1 > MRP_TLVHeader.Type: MRP_Test (0x02) > MRP_TLVHeader.Type: MRP_Test (0x02) > MRP_TLVHeader.Length: 18 > MRP_Prio: 0x1f40 High priorities > MRP_SA: 7a:8b:b1:35:96:e1 (7a:8b:b1:35:96:e1) > MRP_PortRole: Primary ring port (0x0000) > MRP_RingState: Ring closed (0x0001) > MRP_Transition: 0x0001 > MRP_TimeStamp [ms]: 0x000cf574 <---------- Updated automatic > MRP_TLVHeader.Type: MRP_Common (0x01) > MRP_TLVHeader.Type: MRP_Common (0x01) > MRP_TLVHeader.Length: 18 > MRP_SequenceID: 0x00e9 <---------- Updated automatic > MRP_DomainUUID: ffffffff-ffff-ffff-ffff-ffffffffffff > MRP_TLVHeader.Type: MRP_End (0x00) > MRP_TLVHeader.Type: MRP_End (0x00) > MRP_TLVHeader.Length: 0 > > But all the fields can change, but to change the other fields we need to > interact with the HW. Other SoC may have other capabilities in their > offload. As an example, if the ring becomes open then the fields > MRP_RingState and MRP_Transition need to change and in our case this > requires SW interference. Isn't SW always required? You need to tell your state machine that the state has changed. > Would you like a PCAP file as an example? Or do you want a better > description of the frame format. I was hoping for a link to an RFC, or some standards document. Andrew