Commit 9a9f26e8 authored by Horatiu Vultur's avatar Horatiu Vultur Committed by David S. Miller

bridge: mrp: Connect MRP API with the switchdev API

Implement the MRP API.

In case the HW can't generate MRP Test frames then the SW will try to generate
the frames. In case that also the SW will fail in generating the frames then a
error is return to the userspace. The userspace is responsible to generate all
the other MRP frames regardless if the test frames are generated by HW or SW.

The forwarding/termination of MRP frames is happening in the kernel and is done
by the MRP instance. The userspace application doesn't do the forwarding.
Signed-off-by: default avatarHoratiu Vultur <horatiu.vultur@microchip.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent fadd4091
...@@ -26,4 +26,4 @@ bridge-$(CONFIG_NET_SWITCHDEV) += br_switchdev.o ...@@ -26,4 +26,4 @@ bridge-$(CONFIG_NET_SWITCHDEV) += br_switchdev.o
obj-$(CONFIG_NETFILTER) += netfilter/ obj-$(CONFIG_NETFILTER) += netfilter/
bridge-$(CONFIG_BRIDGE_MRP) += br_mrp_switchdev.o bridge-$(CONFIG_BRIDGE_MRP) += br_mrp_switchdev.o br_mrp.o br_mrp_netlink.o
This diff is collapsed.
// SPDX-License-Identifier: GPL-2.0-or-later
#include <net/genetlink.h>
#include <uapi/linux/mrp_bridge.h>
#include "br_private.h"
#include "br_private_mrp.h"
int br_mrp_port_open(struct net_device *dev, u8 loc)
{
struct net_bridge_port *p;
int err = 0;
p = br_port_get_rcu(dev);
if (!p) {
err = -EINVAL;
goto out;
}
if (loc)
p->flags |= BR_MRP_LOST_CONT;
else
p->flags &= ~BR_MRP_LOST_CONT;
br_ifinfo_notify(RTM_NEWLINK, NULL, p);
out:
return err;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment