Re: [Bridge] [PATCH v4 net-next 09/15] net: bridge: switchdev: let drivers inform which bridge ports are offloaded

2021-07-20 Thread Horatiu Vultur via Bridge
The 07/19/2021 00:44, Vladimir Oltean wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > On reception of an skb, the bridge checks if it was marked as 'already > forwarded in hardware' (checks if skb->offload_fwd_mark == 1), and if it > is,

[Bridge] [PATCH net-next] net: bridge: mrp: Update the Test frames for MRA

2021-06-26 Thread Horatiu Vultur via Bridge
According to the standard IEC 62439-2, in case the node behaves as MRA and needs to send Test frames on ring ports, then these Test frames need to have an Option TLV and a Sub-Option TLV which has the type AUTO_MGR. Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp.c | 27

[Bridge] [PATCH net-next] net: bridge: mrp: Update ring transitions.

2021-06-04 Thread Horatiu Vultur via Bridge
According to the standard IEC 62439-2, the number of transitions needs to be counted for each transition 'between' ring state open and ring state closed and not from open state to closed state. Therefore fix this for both ring and interconnect ring. Signed-off-by: Horatiu Vultur ---

[Bridge] [PATCH net-next 2/2] net: ocelot: Simplify MRP deletion

2021-03-23 Thread Horatiu Vultur via Bridge
Now that the driver will always be notified that the role is deleted before the ring is deleted, then we don't need to duplicate the logic of cleaning the resources also in the delete function. Signed-off-by: Horatiu Vultur --- drivers/net/ethernet/mscc/ocelot_mrp.c | 16 1

[Bridge] [PATCH net-next 1/2] bridge: mrp: Disable roles before deleting the MRP instance

2021-03-23 Thread Horatiu Vultur via Bridge
When an MRP instance was created, the driver was notified that the instance is created and then in a different callback about role of the instance. But when the instance was deleted the driver was notified only that the MRP instance is deleted and not also that the role is disabled. This patch

[Bridge] [PATCH net-next 0/2] bridge: mrp: Disable roles before deleting

2021-03-23 Thread Horatiu Vultur via Bridge
The first patch in this series make sures that the driver is notified that the role is disabled before the MRP instance is deleted. The second patch uses this so it can simplify the driver. Horatiu Vultur (2): bridge: mrp: Disable roles before deleting the MRP instance net: ocelot: Simplify

Re: [Bridge] [PATCH net-next v4 6/8] net: mscc: ocelot: Add support for MRP

2021-02-17 Thread Horatiu Vultur via Bridge
The 02/17/2021 11:14, Vladimir Oltean wrote: > > On Tue, Feb 16, 2021 at 10:42:03PM +0100, Horatiu Vultur wrote: > > Add basic support for MRP. The HW will just trap all MRP frames on the > > ring ports to CPU and allow the SW to process them. In this way it is > > possible to for this node to

Re: [Bridge] [PATCH net-next v4 4/8] bridge: mrp: Extend br_mrp_switchdev to detect better the errors

2021-02-17 Thread Horatiu Vultur via Bridge
The 02/17/2021 10:56, Vladimir Oltean wrote: > > On Tue, Feb 16, 2021 at 10:42:01PM +0100, Horatiu Vultur wrote: > > This patch extends the br_mrp_switchdev functions to be able to have a > > better understanding what cause the issue and if the SW needs to be used > > as a backup. > > > > There

[Bridge] [PATCH net-next v4 8/8] net: dsa: felix: Add support for MRP

2021-02-16 Thread Horatiu Vultur via Bridge
Implement functions 'port_mrp_add', 'port_mrp_del', 'port_mrp_add_ring_role' and 'port_mrp_del_ring_role' to call the mrp functions from ocelot. Also all MRP frames that arrive to CPU on queue number OCELOT_MRP_CPUQ will be forward by the SW. Signed-off-by: Horatiu Vultur ---

[Bridge] [PATCH net-next v4 3/8] bridge: mrp: Add 'enum br_mrp_hw_support'

2021-02-16 Thread Horatiu Vultur via Bridge
Add the enum br_mrp_hw_support that is used by the br_mrp_switchdev functions to allow the SW to detect the cases where HW can't implement the functionality or when SW is used as a backup. Signed-off-by: Horatiu Vultur --- net/bridge/br_private_mrp.h | 14 ++ 1 file changed, 14

[Bridge] [PATCH net-next v4 4/8] bridge: mrp: Extend br_mrp_switchdev to detect better the errors

2021-02-16 Thread Horatiu Vultur via Bridge
This patch extends the br_mrp_switchdev functions to be able to have a better understanding what cause the issue and if the SW needs to be used as a backup. There are the following cases: - when the code is compiled without CONFIG_NET_SWITCHDEV. In this case return success so the SW can

[Bridge] [PATCH net-next v4 7/8] net: dsa: add MRP support

2021-02-16 Thread Horatiu Vultur via Bridge
Add support for offloading MRP in HW. Currently implement the switchdev calls 'SWITCHDEV_OBJ_ID_MRP', 'SWITCHDEV_OBJ_ID_RING_ROLE_MRP', to allow to create MRP instances and to set the role of these instances. Add DSA_NOTIFIER_MRP_ADD/DEL and DSA_NOTIFIER_MRP_ADD/DEL_RING_ROLE which calls to

[Bridge] [PATCH net-next v4 5/8] bridge: mrp: Update br_mrp to use new return values of br_mrp_switchdev

2021-02-16 Thread Horatiu Vultur via Bridge
Check the return values of the br_mrp_switchdev function. In case of: - BR_MRP_NONE, return the error to userspace, - BR_MRP_SW, continue with SW implementation, - BR_MRP_HW, continue without SW implementation, Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp.c | 43

[Bridge] [PATCH net-next v4 6/8] net: mscc: ocelot: Add support for MRP

2021-02-16 Thread Horatiu Vultur via Bridge
Add basic support for MRP. The HW will just trap all MRP frames on the ring ports to CPU and allow the SW to process them. In this way it is possible to for this node to behave both as MRM and MRC. Current limitations are: - it doesn't support Interconnect roles. - it supports only a single ring.

[Bridge] [PATCH net-next v4 2/8] switchdev: mrp: Extend ring_role_mrp and in_role_mrp

2021-02-16 Thread Horatiu Vultur via Bridge
Add the member sw_backup to the structures switchdev_obj_ring_role_mrp and switchdev_obj_in_role_mrp. In this way the SW can call the driver in 2 ways, once when sw_backup is set to false, meaning that the driver should implement this completely in HW. And if that is not supported the SW will call

[Bridge] [PATCH net-next v4 1/8] switchdev: mrp: Remove CONFIG_BRIDGE_MRP

2021-02-16 Thread Horatiu Vultur via Bridge
Remove #IS_ENABLED(CONFIG_BRIDGE_MRP) from switchdev.h. This will simplify the code implements MRP callbacks and will be similar with the vlan filtering. Signed-off-by: Horatiu Vultur --- include/net/switchdev.h | 10 -- 1 file changed, 10 deletions(-) diff --git

[Bridge] [PATCH net-next v4 0/8] bridge: mrp: Extend br_mrp_switchdev_*

2021-02-16 Thread Horatiu Vultur via Bridge
This patch series extends MRP switchdev to allow the SW to have a better understanding if the HW can implement 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

Re: [Bridge] [PATCH net-next v3 5/5] net: mscc: ocelot: Add support for MRP

2021-02-10 Thread Horatiu Vultur via Bridge
The 02/10/2021 10:18, Vladimir Oltean wrote: Hi Vladimir, > > Would you mind adding the switchdev MRP support for the DSA driver too, > and move the code to the common ocelot library? I would like to give it > a run. I think that's only fair, since I have to keep in sync the > vsc7514 driver

Re: [Bridge] [PATCH net-next v3 0/5] bridge: mrp: Extend br_mrp_switchdev_*

2021-02-10 Thread Horatiu Vultur via Bridge
The 02/10/2021 10:08, Vladimir Oltean wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > Hi Horatiu, > > On Tue, Feb 09, 2021 at 09:21:07PM +0100, Horatiu Vultur wrote: > > This patch series extends MRP switchdev to allow the SW to have a

[Bridge] [PATCH net-next v3 5/5] net: mscc: ocelot: Add support for MRP

2021-02-09 Thread Horatiu Vultur via Bridge
Add basic support for MRP. The HW will just trap all MRP frames on the ring ports to CPU and allow the SW to process them. In this way it is possible to for this node to behave both as MRM and MRC. Current limitations are: - it doesn't support Interconnect roles. - it supports only a single ring.

[Bridge] [PATCH net-next v3 4/5] bridge: mrp: Update br_mrp to use new return values of br_mrp_switchdev

2021-02-09 Thread Horatiu Vultur via Bridge
Check the return values of the br_mrp_switchdev function. In case of: - BR_MRP_NONE, return the error to userspace, - BR_MRP_SW, continue with SW implementation, - BR_MRP_HW, continue without SW implementation, Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp.c | 43

[Bridge] [PATCH net-next v3 1/5] switchdev: mrp: Extend ring_role_mrp and in_role_mrp

2021-02-09 Thread Horatiu Vultur via Bridge
Add the member sw_backup to the structures switchdev_obj_ring_role_mrp and switchdev_obj_in_role_mrp. In this way the SW can call the driver in 2 ways, once when sw_backup is set to false, meaning that the driver should implement this completely in HW. And if that is not supported the SW will call

[Bridge] [PATCH net-next v3 3/5] bridge: mrp: Extend br_mrp_switchdev to detect better the errors

2021-02-09 Thread Horatiu Vultur via Bridge
This patch extends the br_mrp_switchdev functions to be able to have a better understanding what cause the issue and if the SW needs to be used as a backup. There are the following cases: - when the code is compiled without CONFIG_NET_SWITCHDEV. In this case return success so the SW can

[Bridge] [PATCH net-next v3 2/5] bridge: mrp: Add 'enum br_mrp_hw_support'

2021-02-09 Thread Horatiu Vultur via Bridge
Add the enum br_mrp_hw_support that is used by the br_mrp_switchdev functions to allow the SW to detect the cases where HW can't implement the functionality or when SW is used as a backup. Signed-off-by: Horatiu Vultur --- net/bridge/br_private_mrp.h | 14 ++ 1 file changed, 14

[Bridge] [PATCH net-next v3 0/5] bridge: mrp: Extend br_mrp_switchdev_*

2021-02-09 Thread Horatiu Vultur via Bridge
This patch series extends MRP switchdev to allow the SW to have a better understanding if the HW can implement 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

[Bridge] [PATCH net 2/2] switchdev: mrp: Remove SWITCHDEV_ATTR_ID_MRP_PORT_STAT

2021-02-06 Thread Horatiu Vultur via Bridge
Now that MRP started to use also SWITCHDEV_ATTR_ID_PORT_STP_STATE to notify HW, then SWITCHDEV_ATTR_ID_MRP_PORT_STAT is not used anywhere else, therefore we can remove it. Fixes: c284b545900830 ("switchdev: mrp: Extend switchdev API to offload MRP") Signed-off-by: Horatiu Vultur ---

[Bridge] [PATCH net 0/2] bridge: mrp: Fix br_mrp_port_switchdev_set_state

2021-02-06 Thread Horatiu Vultur via Bridge
Based on the discussion here[1], there was a problem with the function br_mrp_port_switchdev_set_state. The problem was that it was called both with BR_STATE* and BR_MRP_PORT_STATE* types. This patch series fixes this issue and removes SWITCHDEV_ATTR_ID_MRP_PORT_STAT because is not used anymore.

[Bridge] [PATCH net 1/2] bridge: mrp: Fix the usage of br_mrp_port_switchdev_set_state

2021-02-06 Thread Horatiu Vultur via Bridge
The function br_mrp_port_switchdev_set_state was called both with MRP port state and STP port state, which is an issue because they don't match exactly. Therefore, update the function to be used only with STP port state and use the id SWITCHDEV_ATTR_ID_PORT_STP_STATE. The choice of using STP

Re: [Bridge] [PATCH net-next v2 0/4] bridge: mrp: Extend br_mrp_switchdev_*

2021-02-02 Thread Horatiu Vultur via Bridge
The 02/02/2021 11:50, Jakub Kicinski wrote: > > On Tue, 2 Feb 2021 08:40:02 +0100 Rasmus Villemoes wrote: > > On 30/01/2021 04.01, Jakub Kicinski wrote: > > > On Wed, 27 Jan 2021 21:52:37 +0100 Horatiu Vultur wrote: > > >> This patch series extends MRP switchdev to allow the SW to have a better >

[Bridge] [PATCH net-next v2 3/4] bridge: mrp: Extend br_mrp_switchdev to detect better the errors

2021-01-27 Thread Horatiu Vultur via Bridge
This patch extends the br_mrp_switchdev functions to be able to have a better understanding what cause the issue and if the SW needs to be used as a backup. There are the following cases: - when the code is compiled without CONFIG_NET_SWITCHDEV. In this case return success so the SW can

[Bridge] [PATCH net-next v2 4/4] bridge: mrp: Update br_mrp to use new return values of br_mrp_switchdev

2021-01-27 Thread Horatiu Vultur via Bridge
Check the return values of the br_mrp_switchdev function. In case of: - BR_MRP_NONE, return the error to userspace, - BR_MRP_SW, continue with SW implementation, - BR_MRP_HW, continue without SW implementation, Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp.c | 43

[Bridge] [PATCH net-next v2 2/4] bridge: mrp: Add 'enum br_mrp_hw_support'

2021-01-27 Thread Horatiu Vultur via Bridge
Add the enum br_mrp_hw_support that is used by the br_mrp_switchdev functions to allow the SW to detect the cases where HW can't implement the functionality or when SW is used as a backup. Signed-off-by: Horatiu Vultur --- net/bridge/br_private_mrp.h | 14 ++ 1 file changed, 14

[Bridge] [PATCH net-next v2 1/4] switchdev: mrp: Extend ring_role_mrp and in_role_mrp

2021-01-27 Thread Horatiu Vultur via Bridge
Add the member sw_backup to the structures switchdev_obj_ring_role_mrp and switchdev_obj_in_role_mrp. In this way the SW can call the driver in 2 ways, once when sw_backup is set to false, meaning that the driver should implement this completely in HW. And if that is not supported the SW will call

[Bridge] [PATCH net-next v2 0/4] bridge: mrp: Extend br_mrp_switchdev_*

2021-01-27 Thread Horatiu Vultur via Bridge
This patch series extends MRP switchdev to allow the SW to have a better understanding if the HW can implement 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

Re: [Bridge] [PATCH net-next 3/4] bridge: mrp: Extend br_mrp_switchdev to detect better the errors

2021-01-26 Thread Horatiu Vultur via Bridge
The 01/25/2021 19:06, Willem de Bruijn wrote: > On Sat, Jan 23, 2021 at 11:23 AM Horatiu Vultur > wrote: Hi Willem, > > > > This patch extends the br_mrp_switchdev functions to be able to have a > > better understanding what cause the issue and if the SW needs to be used > > as a backup. > > >

[Bridge] [PATCH net-next 4/4] bridge: mrp: Update br_mrp to use new return values of br_mrp_switchdev

2021-01-23 Thread Horatiu Vultur via Bridge
Check the return values of the br_mrp_switchdev function. In case of: - BR_MRP_NONE, return the error to userspace, - BR_MRP_SW, continue with SW implemtation - BR_MRP_HW, continue without SW implemtation. Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp.c | 43

[Bridge] [PATCH net-next 3/4] bridge: mrp: Extend br_mrp_switchdev to detect better the errors

2021-01-23 Thread Horatiu Vultur via Bridge
This patch extends the br_mrp_switchdev functions to be able to have a better understanding what cause the issue and if the SW needs to be used as a backup. There are the following cases: - when the code is compiled without CONFIG_NET_SWITCHDEV. In this case return success so the SW can

[Bridge] [PATCH net-next 2/4] bridge: mrp: Add 'enum br_mrp_hw_support'

2021-01-23 Thread Horatiu Vultur via Bridge
Add the enum br_mrp_hw_support that is used by the br_mrp_switchdev functions to allow the SW to detect better the cases where the HW can't implement this or when the SW is used as a backup. Signed-off-by: Horatiu Vultur --- net/bridge/br_private_mrp.h | 14 ++ 1 file changed, 14

[Bridge] [PATCH net-next 1/4] switchdev: mrp: Extend ring_role_mrp and in_role_mrp

2021-01-23 Thread Horatiu Vultur via Bridge
Add the member sw_backup to the structures switchdev_obj_ring_role_mrp and switchdev_obj_in_role_mrp. In this way the SW can call the driver in 2 ways, once when sw_backup is set to false, meaning that the driver should implement this completely in HW. And if that is not supported the SW will call

[Bridge] [PATCH net-next 0/4] bridge: mrp: Extend br_mrp_switchdev_*

2021-01-23 Thread Horatiu Vultur via Bridge
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

Re: [Bridge] [PATCH net] net: mrp: use stp state as substitute for unimplemented mrp state

2021-01-19 Thread Horatiu Vultur via Bridge
The 01/19/2021 16:52, Andrew Lunn wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > On Tue, Jan 19, 2021 at 09:32:40AM +0100, Horatiu Vultur wrote: > > The 01/18/2021 21:27, Vladimir Oltean wrote: > > > EXTERNAL EMAIL: Do not click links or

Re: [Bridge] [PATCH net] net: mrp: use stp state as substitute for unimplemented mrp state

2021-01-19 Thread Horatiu Vultur via Bridge
The 01/18/2021 21:27, Vladimir Oltean wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > On Mon, Jan 18, 2021 at 09:20:36PM +0100, Horatiu Vultur wrote: > > The 01/18/2021 19:46, Vladimir Oltean wrote: > > > > > > On Mon, Jan 18, 2021 at

Re: [Bridge] [PATCH net] net: mrp: use stp state as substitute for unimplemented mrp state

2021-01-18 Thread Horatiu Vultur via Bridge
The 01/18/2021 19:46, Vladimir Oltean wrote: > > On Mon, Jan 18, 2021 at 07:56:18PM +0100, Horatiu Vultur wrote: > > The reason was to stay away from STP, because you can't run these two > > protocols at the same time. Even though in SW, we reuse port's state. > > In our driver(which is not

Re: [Bridge] [PATCH net] net: mrp: use stp state as substitute for unimplemented mrp state

2021-01-18 Thread Horatiu Vultur via Bridge
The 01/18/2021 19:13, Rasmus Villemoes wrote: > Hi Rasmus, > When using MRP with hardware that does understand the concept of > blocked or forwarding ports, but not the full MRP offload, we > currently fail to tell the hardware what state it should put the port > in when the ring is closed -

Re: [Bridge] [RFC PATCH v2] net: bridge: igmp: Extend IGMP query to be per vlan

2021-01-13 Thread Horatiu Vultur via Bridge
The 01/13/2021 14:15, Nikolay Aleksandrov wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > On 12/01/2021 15:59, Horatiu Vultur wrote: > > Based on the comments of the previous version, we started to work on a > > new version, so it would

[Bridge] [RFC PATCH v2] net: bridge: igmp: Extend IGMP query to be per vlan

2021-01-12 Thread Horatiu Vultur via Bridge
Based on the comments of the previous version, we started to work on a new version, so it would be possible to enable/disable queries per vlan. This is still work in progress and there are plenty of things that are not implemented and tested: - ipv6 support - the fast path needs to be improved -

Re: [Bridge] [RFC net-next] net: bridge: igmp: Extend IGMP query with vlan support

2020-12-11 Thread Horatiu Vultur via Bridge
The 12/11/2020 11:46, Nikolay Aleksandrov wrote: > > On 11/12/2020 11:26, Horatiu Vultur wrote: > > This patch tries to add vlan support to IGMP queries. > > It extends the function 'br_ip4_multicast_alloc_query' to add > > also a vlan tag if vlan is enabled. Therefore the bridge will send > >

[Bridge] [RFC net-next] net: bridge: igmp: Extend IGMP query with vlan support

2020-12-11 Thread Horatiu Vultur via Bridge
This patch tries to add vlan support to IGMP queries. It extends the function 'br_ip4_multicast_alloc_query' to add also a vlan tag if vlan is enabled. Therefore the bridge will send queries for each vlan the ports are in. There are few other places that needs to be updated to be fully

[Bridge] [PATCH net-next v2] bridge: mrp: Implement LC mode for MRP

2020-11-24 Thread Horatiu Vultur via Bridge
Extend MRP to support LC mode(link check) for the interconnect port. This applies only to the interconnect ring. Opposite to RC mode(ring check) the LC mode is using CFM frames to detect when the link goes up or down and based on that the userspace will need to react. One advantage of the LC mode

Re: [Bridge] [PATCH net-next] bridge: mrp: Implement LC mode for MRP

2020-11-23 Thread Horatiu Vultur via Bridge
The 11/23/2020 14:05, Jakub Kicinski wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > On Mon, 23 Nov 2020 16:25:53 +0200 Nikolay Aleksandrov wrote: > > >>> @@ -156,4 +157,10 @@ struct br_mrp_in_link_hdr { > > >>> __be16 interval; > >

Re: [Bridge] [PATCH net-next] bridge: mrp: Implement LC mode for MRP

2020-11-23 Thread Horatiu Vultur via Bridge
The 11/23/2020 14:13, Nikolay Aleksandrov wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > On 23/11/2020 13:14, Horatiu Vultur wrote: > > Extend MRP to support LC mode(link check) for the interconnect port. > > This applies only to the

[Bridge] [PATCH net-next] bridge: mrp: Implement LC mode for MRP

2020-11-23 Thread Horatiu Vultur via Bridge
Extend MRP to support LC mode(link check) for the interconnect port. This applies only to the interconnect ring. Opposite to RC mode(ring check) the LC mode is using CFM frames to detect when the link goes up or down and based on that the userspace will need to react. One advantage of the LC mode

[Bridge] [PATCH net-next] bridge: mrp: Use hlist_head instead of list_head for mrp

2020-11-06 Thread Horatiu Vultur via Bridge
Replace list_head with hlist_head for MRP list under the bridge. There is no need for a circular list when a linear list will work. This will also decrease the size of 'struct net_bridge'. Signed-off-by: Horatiu Vultur --- net/bridge/br_device.c | 2 +- net/bridge/br_mrp.c | 26

Re: [Bridge] [PATCH RFC 0/7] net: bridge: cfm: Add support for Connectivity Fault Management(CFM)

2020-09-06 Thread Horatiu Vultur via Bridge
The 09/04/2020 15:44, Stephen Hemminger wrote: > > On Fri, 4 Sep 2020 09:15:20 + > Henrik Bjoernlund wrote: > > > Connectivity Fault Management (CFM) is defined in 802.1Q section 12.14. > > > > Connectivity Fault Management (CFM) comprises capabilities for > > detecting, verifying, and

Re: [Bridge] [PATCH net-next v4 12/12] net: bridge: Add port attribute IFLA_BRPORT_MRP_IN_OPEN

2020-07-14 Thread Horatiu Vultur via Bridge
The 07/14/2020 18:33, Nikolay Aleksandrov wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > On 14/07/2020 18:07, Horatiu Vultur wrote: > > The 07/14/2020 16:29, Nikolay Aleksandrov wrote: > >> EXTERNAL EMAIL: Do not click links or open

Re: [Bridge] [PATCH net-next v4 12/12] net: bridge: Add port attribute IFLA_BRPORT_MRP_IN_OPEN

2020-07-14 Thread Horatiu Vultur via Bridge
The 07/14/2020 16:29, Nikolay Aleksandrov wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > On 14/07/2020 10:34, Horatiu Vultur wrote: > > This patch adds a new port attribute, IFLA_BRPORT_MRP_IN_OPEN, which > > allows to notify the

[Bridge] [PATCH net-next v4 10/12] bridge: uapi: mrp: Extend MRP_INFO attributes for interconnect status

2020-07-14 Thread Horatiu Vultur via Bridge
Extend the existing MRP_INFO to return status of MRP interconnect. In case there is no MRP interconnect on the node then the role will be disabled so the other attributes can be ignored. Signed-off-by: Horatiu Vultur --- include/uapi/linux/if_bridge.h | 5 + 1 file changed, 5 insertions(+)

[Bridge] [PATCH net-next v4 09/12] bridge: mrp: Extend MRP netlink interface for configuring MRP interconnect

2020-07-14 Thread Horatiu Vultur via Bridge
This patch extends the existing MRP netlink interface with the following attributes: IFLA_BRIDGE_MRP_IN_ROLE, IFLA_BRIDGE_MRP_IN_STATE and IFLA_BRIDGE_MRP_START_IN_TEST. These attributes are similar with their ring attributes but they apply to the interconnect port. Signed-off-by: Horatiu Vultur

[Bridge] [PATCH net-next v4 12/12] net: bridge: Add port attribute IFLA_BRPORT_MRP_IN_OPEN

2020-07-14 Thread Horatiu Vultur via Bridge
This patch adds a new port attribute, IFLA_BRPORT_MRP_IN_OPEN, which allows to notify the userspace when the node lost the contiuity of MRP_InTest frames. Signed-off-by: Horatiu Vultur --- include/uapi/linux/if_link.h | 1 + net/bridge/br_netlink.c| 3 +++

[Bridge] [PATCH net-next v4 04/12] bridge: mrp: Extend br_mrp for MRP interconnect

2020-07-14 Thread Horatiu Vultur via Bridge
This patch extends the 'struct br_mrp' to contain information regarding the MRP interconnect. It contains the following: - the interconnect port 'i_port', which is NULL if the node doesn't have a interconnect role - the interconnect id, which is similar with the ring id, but this field is also

[Bridge] [PATCH net-next v4 07/12] bridge: switchdev: mrp: Extend MRP API for switchdev for MRP Interconnect

2020-07-14 Thread Horatiu Vultur via Bridge
Implement the MRP API for interconnect switchdev. Similar with the other br_mrp_switchdev function, these function will just eventually call the switchdev functions: switchdev_port_obj_add/del. Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp_switchdev.c | 62

[Bridge] [PATCH net-next v4 03/12] bridge: mrp: Extend bridge interface

2020-07-14 Thread Horatiu Vultur via Bridge
This patch adds a new flag(BR_MRP_LOST_IN_CONT) to the net bridge ports. This bit will be set when the port lost the continuity of MRP_InTest frames. Signed-off-by: Horatiu Vultur --- include/linux/if_bridge.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/linux/if_bridge.h

[Bridge] [PATCH net-next v4 11/12] bridge: mrp: Extend br_mrp_fill_info

2020-07-14 Thread Horatiu Vultur via Bridge
This patch extends the function br_mrp_fill_info to return also the status for the interconnect ring. Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp_netlink.c | 18 ++ 1 file changed, 18 insertions(+) diff --git a/net/bridge/br_mrp_netlink.c b/net/bridge/br_mrp_netlink.c

[Bridge] [PATCH net-next v4 05/12] bridge: mrp: Rename br_mrp_port_open to br_mrp_ring_port_open

2020-07-14 Thread Horatiu Vultur via Bridge
This patch renames the function br_mrp_port_open to br_mrp_ring_port_open. In this way is more clear that a ring port lost the continuity because there will be also a br_mrp_in_port_open. Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp.c | 6 +++--- net/bridge/br_mrp_netlink.c | 2

[Bridge] [PATCH net-next v4 06/12] bridge: mrp: Add br_mrp_in_port_open function

2020-07-14 Thread Horatiu Vultur via Bridge
This function notifies the userspace when the node lost the continuity of MRP_InTest frames. Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp_netlink.c | 22 ++ net/bridge/br_private_mrp.h | 1 + 2 files changed, 23 insertions(+) diff --git a/net/bridge/br_mrp_netlink.c

[Bridge] [PATCH net-next v4 02/12] bridge: uapi: mrp: Extend MRP attributes for MRP interconnect

2020-07-14 Thread Horatiu Vultur via Bridge
Extend the existing MRP netlink attributes to allow to configure MRP Interconnect: IFLA_BRIDGE_MRP_IN_ROLE - the parameter type is br_mrp_in_role which contains the interconnect id, the ring id, the interconnect role(MIM or MIC) and the port ifindex that represents the interconnect port.

[Bridge] [PATCH net-next v4 08/12] bridge: mrp: Implement the MRP Interconnect API

2020-07-14 Thread Horatiu Vultur via Bridge
Thie patch adds support for MRP Interconnect. Similar with the MRP ring, if the HW can't generate MRP_InTest frames, then the SW will try to generate them. And if also the SW fails to generate the frames then an error is return to userspace. The forwarding/termination of MRP_In frames is

[Bridge] [PATCH net-next v4 01/12] switchdev: mrp: Extend switchdev API for MRP Interconnect

2020-07-14 Thread Horatiu Vultur via Bridge
Extend switchdev API to add support for MRP interconnect. The HW is notified in the following cases: SWITCHDEV_OBJ_ID_IN_ROLE_MRP: This is used when the interconnect role of the node changes. The supported roles are MIM and MIC. SWITCHDEV_OBJ_ID_IN_STATE_MRP: This is used when the interconnect

[Bridge] [PATCH net-next v4 00/12] bridge: mrp: Add support for interconnect ring

2020-07-14 Thread Horatiu Vultur via Bridge
This patch series extends existing MRP to add support for interconnect ring. An interconnect ring is a ring that connects 2 rings. In this way is possible to connect multiple rings. Each interconnect ring is form of 4 nodes, in which 3 have the role MIC(Media Redundancy Interconnect Client) and

Re: [Bridge] [PATCH net-next v3 08/12] bridge: mrp: Implement the MRP Interconnect API

2020-07-13 Thread Horatiu Vultur via Bridge
The 07/13/2020 21:54, Nikolay Aleksandrov wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > On 12/07/2020 17:05, Horatiu Vultur wrote: > > Thie patch adds support for MRP Interconnect. Similar with the MRP ring, > > if the HW can't generate

[Bridge] [PATCH net-next v3 02/12] bridge: uapi: mrp: Extend MRP attributes for MRP interconnect

2020-07-12 Thread Horatiu Vultur via Bridge
Extend the existing MRP netlink attributes to allow to configure MRP Interconnect: IFLA_BRIDGE_MRP_IN_ROLE - the parameter type is br_mrp_in_role which contains the interconnect id, the ring id, the interconnect role(MIM or MIC) and the port ifindex that represents the interconnect port.

[Bridge] [PATCH net-next v3 12/12] net: bridge: Add port attribute IFLA_BRPORT_MRP_IN_OPEN

2020-07-12 Thread Horatiu Vultur via Bridge
This patch adds a new port attribute, IFLA_BRPORT_MRP_IN_OPEN, which allows to notify the userspace when the node lost the contiuity of MRP_InTest frames. Signed-off-by: Horatiu Vultur --- include/uapi/linux/if_link.h | 1 + net/bridge/br_netlink.c| 3 +++

[Bridge] [PATCH net-next v3 10/12] bridge: uapi: mrp: Extend MRP_INFO attributes for interconnect status

2020-07-12 Thread Horatiu Vultur via Bridge
Extend the existing MRP_INFO to return status of MRP interconnect. In case there is no MRP interconnect on the node then the role will be disabled so the other attributes can be ignored. Signed-off-by: Horatiu Vultur --- include/uapi/linux/if_bridge.h | 5 + 1 file changed, 5 insertions(+)

[Bridge] [PATCH net-next v3 05/12] bridge: mrp: Rename br_mrp_port_open to br_mrp_ring_port_open

2020-07-12 Thread Horatiu Vultur via Bridge
This patch renames the function br_mrp_port_open to br_mrp_ring_port_open. In this way is more clear that a ring port lost the continuity because there will be also a br_mrp_in_port_open. Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp.c | 6 +++--- net/bridge/br_mrp_netlink.c | 2

[Bridge] [PATCH net-next v3 01/12] switchdev: mrp: Extend switchdev API for MRP Interconnect

2020-07-12 Thread Horatiu Vultur via Bridge
Extend switchdev API to add support for MRP interconnect. The HW is notified in the following cases: SWITCHDEV_OBJ_ID_IN_ROLE_MRP: This is used when the interconnect role of the node changes. The supported roles are MIM and MIC. SWITCHDEV_OBJ_ID_IN_STATE_MRP: This is used when the interconnect

[Bridge] [PATCH net-next v3 03/12] bridge: mrp: Extend bridge interface

2020-07-12 Thread Horatiu Vultur via Bridge
This patch adds a new flag(BR_MRP_LOST_IN_CONT) to the net bridge ports. This bit will be set when the port lost the continuity of MRP_InTest frames. Signed-off-by: Horatiu Vultur --- include/linux/if_bridge.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/linux/if_bridge.h

[Bridge] [PATCH net-next v3 06/12] bridge: mrp: Add br_mrp_in_port_open function

2020-07-12 Thread Horatiu Vultur via Bridge
This function notifies the userspace when the node lost the continuity of MRP_InTest frames. Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp_netlink.c | 22 ++ net/bridge/br_private_mrp.h | 1 + 2 files changed, 23 insertions(+) diff --git a/net/bridge/br_mrp_netlink.c

[Bridge] [PATCH net-next v3 11/12] bridge: mrp: Extend br_mrp_fill_info

2020-07-12 Thread Horatiu Vultur via Bridge
This patch extends the function br_mrp_fill_info to return also the status for the interconnect ring. Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp_netlink.c | 18 ++ 1 file changed, 18 insertions(+) diff --git a/net/bridge/br_mrp_netlink.c b/net/bridge/br_mrp_netlink.c

[Bridge] [PATCH net-next v3 04/12] bridge: mrp: Extend br_mrp for MRP interconnect

2020-07-12 Thread Horatiu Vultur via Bridge
This patch extends the 'struct br_mrp' to contain information regarding the MRP interconnect. It contains the following: - the interconnect port 'i_port', which is NULL if the node doesn't have a interconnect role - the interconnect id, which is similar with the ring id, but this field is also

[Bridge] [PATCH net-next v3 08/12] bridge: mrp: Implement the MRP Interconnect API

2020-07-12 Thread Horatiu Vultur via Bridge
Thie patch adds support for MRP Interconnect. Similar with the MRP ring, if the HW can't generate MRP_InTest frames, then the SW will try to generate them. And if also the SW fails to generate the frames then an error is return to userspace. The forwarding/termination of MRP_In frames is

[Bridge] [PATCH net-next v3 00/12] bridge: mrp: Add support for interconnect ring

2020-07-12 Thread Horatiu Vultur via Bridge
This patch series extends existing MRP to add support for interconnect ring. An interconnect ring is a ring that connects 2 rings. In this way is possible to connect multiple rings. Each interconnect ring is form of 4 nodes, in which 3 have the role MIC(Media Redundancy Interconnect Client) and

[Bridge] [PATCH net-next v3 09/12] bridge: mrp: Extend MRP netlink interface for configuring MRP interconnect

2020-07-12 Thread Horatiu Vultur via Bridge
This patch extends the existing MRP netlink interface with the following attributes: IFLA_BRIDGE_MRP_IN_ROLE, IFLA_BRIDGE_MRP_IN_STATE and IFLA_BRIDGE_MRP_START_IN_TEST. These attributes are similar with their ring attributes but they apply to the interconnect port. Signed-off-by: Horatiu Vultur

[Bridge] [PATCH net-next v3 07/12] bridge: switchdev: mrp: Extend MRP API for switchdev for MRP Interconnect

2020-07-12 Thread Horatiu Vultur via Bridge
Implement the MRP API for interconnect switchdev. Similar with the other br_mrp_switchdev function, these function will just eventually call the switchdev functions: switchdev_port_obj_add/del. Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp_switchdev.c | 62

Re: [Bridge] [PATCH net-next v2 08/12] bridge: mrp: Implement the MRP Interconnect API

2020-07-09 Thread Horatiu Vultur via Bridge
The 07/09/2020 15:26, Nikolay Aleksandrov wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > On 09/07/2020 13:00, Horatiu Vultur wrote: > > Thie patch adds support for MRP Interconnect. Similar with the MRP ring, > > if the HW can't generate

[Bridge] [PATCH net-next v2 09/12] bridge: mrp: Extend MRP netlink interface for configuring MRP interconnect

2020-07-09 Thread Horatiu Vultur via Bridge
This patch extends the existing MRP netlink interface with the following attributes: IFLA_BRIDGE_MRP_IN_ROLE, IFLA_BRIDGE_MRP_IN_STATE and IFLA_BRIDGE_MRP_START_IN_TEST. These attributes are similar with their ring attributes but they apply to the interconnect port. Signed-off-by: Horatiu Vultur

[Bridge] [PATCH net-next v2 11/12] bridge: mrp: Extend br_mrp_fill_info

2020-07-09 Thread Horatiu Vultur via Bridge
This patch extends the function br_mrp_fill_info to return also the status for the interconnect ring. Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp_netlink.c | 18 ++ 1 file changed, 18 insertions(+) diff --git a/net/bridge/br_mrp_netlink.c b/net/bridge/br_mrp_netlink.c

[Bridge] [PATCH net-next v2 02/12] bridge: uapi: mrp: Extend MRP attributes for MRP interconnect

2020-07-09 Thread Horatiu Vultur via Bridge
Extend the existing MRP netlink attributes to allow to configure MRP Interconnect: IFLA_BRIDGE_MRP_IN_ROLE - the parameter type is br_mrp_in_role which contains the interconnect id, the ring id, the interconnect role(MIM or MIC) and the port ifindex that represents the interconnect port.

[Bridge] [PATCH net-next v2 12/12] net: bridge: Add port attribute IFLA_BRPORT_MRP_IN_OPEN

2020-07-09 Thread Horatiu Vultur via Bridge
This patch adds a new port attribute, IFLA_BRPORT_MRP_IN_OPEN, which allows to notify the userspace when the node lost the contiuity of MRP_InTest frames. Signed-off-by: Horatiu Vultur --- include/uapi/linux/if_link.h | 1 + net/bridge/br_netlink.c| 3 +++

[Bridge] [PATCH net-next v2 10/12] bridge: uapi: mrp: Extend MRP_INFO attributes for interconnect status

2020-07-09 Thread Horatiu Vultur via Bridge
Extend the existing MRP_INFO to return status of MRP interconnect. In case there is no MRP interconnect on the node then the role will be disabled so the other attributes can be ignored. Signed-off-by: Horatiu Vultur --- include/uapi/linux/if_bridge.h | 5 + 1 file changed, 5 insertions(+)

[Bridge] [PATCH net-next v2 05/12] bridge: mrp: Rename br_mrp_port_open to br_mrp_ring_port_open

2020-07-09 Thread Horatiu Vultur via Bridge
This patch renames the function br_mrp_port_open to br_mrp_ring_port_open. In this way is more clear that a ring port lost the continuity because there will be also a br_mrp_in_port_open. Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp.c | 6 +++--- net/bridge/br_mrp_netlink.c | 2

[Bridge] [PATCH net-next v2 08/12] bridge: mrp: Implement the MRP Interconnect API

2020-07-09 Thread Horatiu Vultur via Bridge
Thie patch adds support for MRP Interconnect. Similar with the MRP ring, if the HW can't generate MRP_InTest frames, then the SW will try to generate them. And if also the SW fails to generate the frames then an error is return to userspace. The forwarding/termination of MRP_In frames is

[Bridge] [PATCH net-next v2 00/12] bridge: mrp: Add support for interconnect ring

2020-07-09 Thread Horatiu Vultur via Bridge
This patch series extends existing MRP to add support for interconnect ring. An interconnect ring is a ring that connects 2 rings. In this way is possible to connect multiple rings. Each interconnect ring is form of 4 nodes, in which 3 have the role MIC(Media Redundancy Interconnect Client) and

[Bridge] [PATCH net-next v2 06/12] bridge: mrp: Add br_mrp_in_port_open function

2020-07-09 Thread Horatiu Vultur via Bridge
This function notifies the userspace when the node lost the continuity of MRP_InTest frames. Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp_netlink.c | 22 ++ net/bridge/br_private_mrp.h | 1 + 2 files changed, 23 insertions(+) diff --git a/net/bridge/br_mrp_netlink.c

[Bridge] [PATCH net-next v2 03/12] bridge: mrp: Extend bridge interface

2020-07-09 Thread Horatiu Vultur via Bridge
This patch adds a new flag(BR_MRP_LOST_IN_CONT) to the net bridge ports. This bit will be set when the port lost the continuity of MRP_InTest frames. Signed-off-by: Horatiu Vultur --- include/linux/if_bridge.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/linux/if_bridge.h

[Bridge] [PATCH net-next v2 01/12] switchdev: mrp: Extend switchdev API for MRP Interconnect

2020-07-09 Thread Horatiu Vultur via Bridge
Extend switchdev API to add support for MRP interconnect. The HW is notified in the following cases: SWITCHDEV_OBJ_ID_IN_ROLE_MRP: This is used when the interconnect role of the node changes. The supported roles are MIM and MIC. SWITCHDEV_OBJ_ID_IN_STATE_MRP: This is used when the interconnect

[Bridge] [PATCH net-next v2 04/12] bridge: mrp: Extend br_mrp for MRP interconnect

2020-07-09 Thread Horatiu Vultur via Bridge
This patch extends the 'struct br_mrp' to contain information regarding the MRP interconnect. It contains the following: - the interconnect port 'i_port', which is NULL if the node doesn't have a interconnect role - the interconnect id, which is similar with the ring id, but this field is also

[Bridge] [PATCH net-next v2 07/12] bridge: switchdev: mrp: Extend MRP API for switchdev for MRP Interconnect

2020-07-09 Thread Horatiu Vultur via Bridge
Implement the MRP API for interconnect switchdev. Similar with the other br_mrp_switchdev function, these function will just eventually call the switchdev functions: switchdev_port_obj_add/del. Signed-off-by: Horatiu Vultur --- net/bridge/br_mrp_switchdev.c | 62

Re: [Bridge] [PATCH net-next 08/12] bridge: mrp: Implement the MRP Interconnect API

2020-07-07 Thread Horatiu Vultur via Bridge
The 07/07/2020 16:27, Nikolay Aleksandrov wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > On 06/07/2020 12:18, Horatiu Vultur wrote: > > Thie patch adds support for MRP Interconnect. Similar with the MRP ring, > > if the HW can't generate

Re: [Bridge] [PATCH net-next 02/12] bridge: uapi: mrp: Extend MRP attributes for MRP interconnect

2020-07-07 Thread Horatiu Vultur via Bridge
The 07/06/2020 12:27, David Miller wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > From: Horatiu Vultur > Date: Mon, 6 Jul 2020 11:18:32 +0200 > > > +struct br_mrp_in_state { > > + __u16 in_id; > > + __u32 in_state; > > +}; > >

Re: [Bridge] [PATCH net-next 01/12] switchdev: mrp: Extend switchdev API for MRP Interconnect

2020-07-07 Thread Horatiu Vultur via Bridge
The 07/06/2020 12:26, David Miller wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > From: Horatiu Vultur > Date: Mon, 6 Jul 2020 11:18:31 +0200 > > > +/* SWITCHDEV_OBJ_ID_IN_TEST_MRP */ > > +struct switchdev_obj_in_test_mrp { > > +

  1   2   >