[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210123161812.1043345-1-horatiu.vultur@microchip.com>
Date: Sat, 23 Jan 2021 17:18:08 +0100
From: Horatiu Vultur <horatiu.vultur@...rochip.com>
To: <jiri@...nulli.us>, <ivecera@...hat.com>, <davem@...emloft.net>,
<kuba@...nel.org>, <roopa@...dia.com>, <nikolay@...dia.com>,
<rasmus.villemoes@...vas.dk>, <andrew@...n.ch>,
<netdev@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<bridge@...ts.linux-foundation.org>
CC: Horatiu Vultur <horatiu.vultur@...rochip.com>
Subject: [PATCH net-next 0/4] bridge: mrp: Extend br_mrp_switchdev_*
This patch series extends MRP switchdev to allow the SW to have a better
understanding if the HW can implment the MRP functionality or it needs to
help the HW to run it. There are 3 cases:
- when HW can't implement at all the functionality.
- when HW can implement a part of the functionality but needs the SW
implement the rest. For example if it can't detect when it stops
receiving MRP Test frames but it can copy the MRP frames to CPU to
allow the SW to determin this. Another example is generating the MRP
Test frames. If HW can't do that then the SW is used as backup.
- when HW can implement completely the functionality.
So, initially the SW tries to offload the entire functionality in HW, if
that fails it tries offload parts of the functionality in HW and use the
SW as helper and if also this fails then MRP can't run on this HW.
Horatiu Vultur (4):
switchdev: mrp: Extend ring_role_mrp and in_role_mrp
bridge: mrp: Add 'enum br_mrp_hw_support'
bridge: mrp: Extend br_mrp_switchdev to detect better the errors
bridge: mrp: Update br_mrp to use new return values of
br_mrp_switchdev
include/net/switchdev.h | 2 +
net/bridge/br_mrp.c | 43 +++++---
net/bridge/br_mrp_switchdev.c | 189 +++++++++++++++++++++++++---------
net/bridge/br_private_mrp.h | 38 +++++--
4 files changed, 195 insertions(+), 77 deletions(-)
--
2.27.0
Powered by blists - more mailing lists