Re: [Bridge] [RFC net-next Patch 0/3] net: bridge: mrp: Add support for Media Redundancy Protocol(MRP)

2020-01-09 Thread Asbjørn Sloth Tønnesen via Bridge
Hi Horatiu and Stephen, Horatiu, thanks for giving this a try. I am looking forward to maybe someday be able to run ERPS on white box switches. On 1/9/20 4:19 PM, Stephen Hemminger wrote: Can this be implemented in userspace? Putting STP in the kernel was a mistake (even original author says s

Re: [Bridge] [RFC net-next Patch 0/3] net: bridge: mrp: Add support for Media Redundancy Protocol(MRP)

2020-01-09 Thread Stephen Hemminger
On Thu, 9 Jan 2020 16:06:37 +0100 Horatiu Vultur wrote: > Media Redundancy Protocol is a data network protocol standardized by > International Electrotechnical Commission as IEC 62439-2. It allows rings of > Ethernet switches to overcome any single failure with recovery time faster > than > STP.

[Bridge] [RFC iproute2] bridge: Add suppport to configure MRP

2020-01-09 Thread Horatiu Vultur
Extend br_netlink to be able to create/delete MRP instances. The current configurations options for each instance are: - set primary port - set secondary port - set MRP ring role (MRM or MRC) - set MRP ring id. To create a MRP instance on the bridge: $ bridge mrp add dev br0 p_port eth0 s_port eth

[Bridge] [RFC net-next Patch 1/3] net: bridge: mrp: Add support for Media Redundancy Protocol

2020-01-09 Thread Horatiu Vultur
This patch implements the core MRP state-machines and generation/parsing of the frames. The implementation is on top of the bridge. All MRP frames are received by the function 'br_mrp_recv' which adds the frame in a queue to process them. For each frame it needs to decide if the frame needs to be

[Bridge] [RFC net-next Patch 0/3] net: bridge: mrp: Add support for Media Redundancy Protocol(MRP)

2020-01-09 Thread Horatiu Vultur
Media Redundancy Protocol is a data network protocol standardized by International Electrotechnical Commission as IEC 62439-2. It allows rings of Ethernet switches to overcome any single failure with recovery time faster than STP. It is primarily used in Industrial Ethernet applications. This is t

[Bridge] [RFC net-next Patch 3/3] net: bridge: mrp: Add netlink support to configure MRP

2020-01-09 Thread Horatiu Vultur
Extend br_netlink to be able to create/delete MRP instances. The current configurations options for each instance are: - set primary port - set secondary port - set MRP ring role (MRM or MRC) - set MRP ring id. To create a MRP instance on the bridge: $ bridge mrp add dev br0 p_port eth0 s_port eth

[Bridge] [RFC net-next Patch 2/3] net: bridge: mrp: Integrate MRP into the bridge

2020-01-09 Thread Horatiu Vultur
To integrate MRP into the bridge, the bridge needs to do the following: - notify when the link of one of the ports goes down or up, because MRP instance needs to react to link changes by sending MRP frames. - notify when one of the ports are removed from the bridge or when the bridge is destroy